<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Why the matrix has not been set to a value ? in SAS/IML Software and Matrix Computations</title>
    <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Why-the-matrix-has-not-been-set-to-a-value/m-p/343202#M3366</link>
    <description>&lt;P&gt;Firstly, you have mistaked ul with u1 (See the revised code) in the beginnig of your do i=1 to t loop &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data pepper;
input y @@;
datalines;
4.354 4.316 4.218 4.228 4.265 4.268 4.143 3.961 4.021
4.268 4.622 4.658 4.698 4.618 4.555 4.452 4.512 5.030
6.025 6.736 8.009 8.518 8.077 7.740 7.725 8.321 8.660
9.185 10.574 10.101 9.878 9.705 9.433 9.094 9.048 8.522
8.468 9.211 9.911 9.400 9.716 9.414 8.718 8.162 7.900
7.487 7.188 6.922 6.509 6.686 6.763 6.828 7.131 7.510
8.469 8.522 8.891 9.295 9.432 9.350 9.371 9.360 9.371
9.403 9.609 10.338 10.581 10.678 10.351 10.042 10.350
11.602 12.314 12.297 12.214 12.938 13.471 13.508 13.557
13.702 14.891 16.813 15.935 15.521 15.878 16.283 17.313
17.326 17.118 16.989 15.655 14.719 16.210 16.252 16.150
16.257 16.221 16.310 16.840 16.862 15.655 15.495 16.428
15.955 15.924 17.098 17.784 19.028 19.207 18.946 19.097
20.402 20.798 20.916 21.890 24.693 25.215 26.159 26.592
27.282 27.202 26.176 26.750 28.550 25.758
;

Proc iml;
use pepper;
read all into y;

pdh=j(1,4,999);
print pdh;

APEh=j(4,1,0);
print APEh;

u0=sum(y)/nrow(y);
n=nrow(y);
sum=sum(y);
print sum;print n; print u0;

do p=1 to 8;
            do d=1 to p;
                      x0=j(nrow(y),p,0);
                      do i= p+1 to nrow(y);
                                  x0[i,]=y[i-1:i-p]`;
                      end;
                      do h=0.1 to 1 by 0.1;
                                   do j=1 to 4;
                                               t=nrow(y)-(7*j);
                                               n=t-p;
                                               x=j(t,p,0);
                                               u=j(t,1,0);
                                               do i= p+1 to t;
                                                            x[i,]=y[i-1:i-p]`;
                                                            u[i]=y[i-d];
                                               end;
                                               x1=x[p+1:t,];
                                               u1=u[p+1:t,];
                                               w=j(n,n,0);
                                               w1=j(n,1,0);
                                               x2=j(n,p,1);

                                               do i=1 to t;
                                                          ind=(u1[i]-u0)/h; /* Old Line: ind=(ul[i]-u0)/h; */
                                                          if (ind&amp;lt;=1) then do;
                                                          w[i,i]=(0.75/h)*(1-((u1[i]-u0)*(u1[i]-u0))/(h*h));
                                                          w1[i,]=w[i,i];
                                                          x2[i,]=x1[i,]*(u1[i]-u0);
                                                          end;
                                                          else do;
                                                          w[i,i]=0;
                                                          w1[i,]=w[i,i];
                                                          x2[i,]=x1[i,]*(u1[i]-u0);
                                                          end;
                                               end;
                                               Xcurl=j(n,2*p,0);
                                               xcurl=xl||x2;
                                               y1=y[p+1:t,];
                                               beta=inv(xcurl`*w*xcurl)*(xcurl`*w*y1);
                                               beta1=beta[1: p,];
                                               yhat=xcurl*beta;
                                               error=y1-yhat;
                                               apeerror=j(7,1,0);
                                               apeerror=error[n-7*j+1:n-7*j+7,];
                                               APEh[j]=(1/7)*apeerror`*apeerror;
                                    end;
                                    APE=sum(APEh)/4;
                                    pdh=pdh//(p||d||h||APE);
                        end;
             end;
end;

pdh=pdh[2:nrow(pdh),];
minAPE=min(pdh[,4]);

do i=1 to nrow(pdh);
if (pdh[i,4]=minAPE) then rw=i;
end;

result=pdh[rw,];
print beta1;

quit;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Secondly, I think you should have a look at your subscripts. Since I am not sure exactly what you are trying to do, I will not dig too far into it.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hope this gets you started.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;EDIT: Also, remember to close your datasets when reading/writing from/to them, so that&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;use pepper;
read all into y;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;becomes&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;use pepper;
read all into y;
close pepper;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards.&lt;/P&gt;</description>
    <pubDate>Wed, 22 Mar 2017 09:36:49 GMT</pubDate>
    <dc:creator>PeterClemmensen</dc:creator>
    <dc:date>2017-03-22T09:36:49Z</dc:date>
    <item>
      <title>Why the matrix has not been set to a value ?</title>
      <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Why-the-matrix-has-not-been-set-to-a-value/m-p/343178#M3365</link>
      <description>&lt;P&gt;I am using SAS 9.4 and I cannot figure out why the matrix has not been set to a value. My have uploaded my data sample and my coding is like this :&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;proc import out=pepper&lt;BR /&gt;datafile='C:\Users\Cnord\Desktop\UMT\Sem 5\PITA\Proposal\Jan05toMay15.xls'&lt;BR /&gt;dbms=excel replace;&lt;BR /&gt;sheet='Sheet1';&lt;BR /&gt;getnames=yes;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;proc print data=pepper;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Proc iml;&lt;BR /&gt;use pepper;&lt;BR /&gt;read all into y;&lt;BR /&gt;pdh=j(1,4,999);&lt;BR /&gt;print pdh;&lt;BR /&gt;APEh=j(4,1,0);&lt;BR /&gt;print APEh;&lt;BR /&gt;u0=sum(y)/nrow(y);&lt;BR /&gt;n=nrow(y);&lt;BR /&gt;sum=sum(y);&lt;BR /&gt;print sum;&lt;BR /&gt;print n;&lt;BR /&gt;print u0;&lt;BR /&gt;do p=1 to 8;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; do d=1 to p;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; x0=j(nrow(y),p,0);&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; do i= p+1 to nrow(y);&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; x0[i,]=y[i-1:i-p]`;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; end;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; do h=0.1 to 1 by 0.1;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;do j=1 to 4;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;t=nrow(y)-(7*j);&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;n=t-p;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;x=j(t,p,0);&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;u=j(t,1,0);&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;do i= p+1 to t;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; x[i,]=y[i-1:i-p]`;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; u[i]=y[i-d];&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;x1=x[p+1:t,];&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;u1=u[p+1:t,];&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;w=j(n,n,0);&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;w1=j(n,1,0);&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;x2=j(n,p,1);&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;do i=1 to t;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ind=(ul[i]-u0)/h;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (ind&amp;lt;=1) then do;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; w[i,i]=(0.75/h)*(1-((u1[i]-u0)*(u1[i]-u0))/(h*h));&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; w1[i,]=w[i,i];&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; x2[i,]=x1[i,]*(u1[i]-u0);&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; end;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else do;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; w[i,i]=0;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; w1[i,]=w[i,i];&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; x2[i,]=x1[i,]*(u1[i]-u0);&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; end;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Xcurl=j(n,2*p,0);&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;xcurl=xl||x2;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;y1=y[p+1:t,];&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;beta=inv(xcurl`*w*xcurl)*(xcurl`*w*y1);&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;beta1=beta[1: p,];&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;yhat=xcurl*beta;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;error=y1-yhat;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;apeerror=j(7,1,0);&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;apeerror=error[n-7*j+1:n-7*j+7,];&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;APEh[j]=(1/7)*apeerror`*apeerror;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; end;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; APE=sum(APEh)/4;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; pdh=pdh//(p||d||h||APE);&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; end;&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;end;&lt;BR /&gt;end;&lt;BR /&gt;pdh=pdh[2:nrow(pdh),];&lt;BR /&gt;minAPE=min(pdh[,4]);&lt;BR /&gt;do i=1 to nrow(pdh);&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (pdh[i,4]=minAPE) then rw=i;&lt;BR /&gt;end;&lt;BR /&gt;result=pdh[rw,];&lt;BR /&gt;print beta1;&lt;/P&gt;</description>
      <pubDate>Wed, 22 Mar 2017 06:18:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Why-the-matrix-has-not-been-set-to-a-value/m-p/343178#M3365</guid>
      <dc:creator>Cnord</dc:creator>
      <dc:date>2017-03-22T06:18:47Z</dc:date>
    </item>
    <item>
      <title>Re: Why the matrix has not been set to a value ?</title>
      <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Why-the-matrix-has-not-been-set-to-a-value/m-p/343202#M3366</link>
      <description>&lt;P&gt;Firstly, you have mistaked ul with u1 (See the revised code) in the beginnig of your do i=1 to t loop &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data pepper;
input y @@;
datalines;
4.354 4.316 4.218 4.228 4.265 4.268 4.143 3.961 4.021
4.268 4.622 4.658 4.698 4.618 4.555 4.452 4.512 5.030
6.025 6.736 8.009 8.518 8.077 7.740 7.725 8.321 8.660
9.185 10.574 10.101 9.878 9.705 9.433 9.094 9.048 8.522
8.468 9.211 9.911 9.400 9.716 9.414 8.718 8.162 7.900
7.487 7.188 6.922 6.509 6.686 6.763 6.828 7.131 7.510
8.469 8.522 8.891 9.295 9.432 9.350 9.371 9.360 9.371
9.403 9.609 10.338 10.581 10.678 10.351 10.042 10.350
11.602 12.314 12.297 12.214 12.938 13.471 13.508 13.557
13.702 14.891 16.813 15.935 15.521 15.878 16.283 17.313
17.326 17.118 16.989 15.655 14.719 16.210 16.252 16.150
16.257 16.221 16.310 16.840 16.862 15.655 15.495 16.428
15.955 15.924 17.098 17.784 19.028 19.207 18.946 19.097
20.402 20.798 20.916 21.890 24.693 25.215 26.159 26.592
27.282 27.202 26.176 26.750 28.550 25.758
;

Proc iml;
use pepper;
read all into y;

pdh=j(1,4,999);
print pdh;

APEh=j(4,1,0);
print APEh;

u0=sum(y)/nrow(y);
n=nrow(y);
sum=sum(y);
print sum;print n; print u0;

do p=1 to 8;
            do d=1 to p;
                      x0=j(nrow(y),p,0);
                      do i= p+1 to nrow(y);
                                  x0[i,]=y[i-1:i-p]`;
                      end;
                      do h=0.1 to 1 by 0.1;
                                   do j=1 to 4;
                                               t=nrow(y)-(7*j);
                                               n=t-p;
                                               x=j(t,p,0);
                                               u=j(t,1,0);
                                               do i= p+1 to t;
                                                            x[i,]=y[i-1:i-p]`;
                                                            u[i]=y[i-d];
                                               end;
                                               x1=x[p+1:t,];
                                               u1=u[p+1:t,];
                                               w=j(n,n,0);
                                               w1=j(n,1,0);
                                               x2=j(n,p,1);

                                               do i=1 to t;
                                                          ind=(u1[i]-u0)/h; /* Old Line: ind=(ul[i]-u0)/h; */
                                                          if (ind&amp;lt;=1) then do;
                                                          w[i,i]=(0.75/h)*(1-((u1[i]-u0)*(u1[i]-u0))/(h*h));
                                                          w1[i,]=w[i,i];
                                                          x2[i,]=x1[i,]*(u1[i]-u0);
                                                          end;
                                                          else do;
                                                          w[i,i]=0;
                                                          w1[i,]=w[i,i];
                                                          x2[i,]=x1[i,]*(u1[i]-u0);
                                                          end;
                                               end;
                                               Xcurl=j(n,2*p,0);
                                               xcurl=xl||x2;
                                               y1=y[p+1:t,];
                                               beta=inv(xcurl`*w*xcurl)*(xcurl`*w*y1);
                                               beta1=beta[1: p,];
                                               yhat=xcurl*beta;
                                               error=y1-yhat;
                                               apeerror=j(7,1,0);
                                               apeerror=error[n-7*j+1:n-7*j+7,];
                                               APEh[j]=(1/7)*apeerror`*apeerror;
                                    end;
                                    APE=sum(APEh)/4;
                                    pdh=pdh//(p||d||h||APE);
                        end;
             end;
end;

pdh=pdh[2:nrow(pdh),];
minAPE=min(pdh[,4]);

do i=1 to nrow(pdh);
if (pdh[i,4]=minAPE) then rw=i;
end;

result=pdh[rw,];
print beta1;

quit;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Secondly, I think you should have a look at your subscripts. Since I am not sure exactly what you are trying to do, I will not dig too far into it.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hope this gets you started.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;EDIT: Also, remember to close your datasets when reading/writing from/to them, so that&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;use pepper;
read all into y;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;becomes&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;use pepper;
read all into y;
close pepper;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards.&lt;/P&gt;</description>
      <pubDate>Wed, 22 Mar 2017 09:36:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Why-the-matrix-has-not-been-set-to-a-value/m-p/343202#M3366</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2017-03-22T09:36:49Z</dc:date>
    </item>
    <item>
      <title>Re: Why the matrix has not been set to a value ?</title>
      <link>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Why-the-matrix-has-not-been-set-to-a-value/m-p/343203#M3367</link>
      <description>&lt;P&gt;I think&amp;nbsp;the line&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;  ind=(ul[i]-u0)/h;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;has an unintended lower case letter L instead of the digit&amp;nbsp;1.&amp;nbsp;&amp;nbsp; However if I fix that I get a subscript error on the same line.&amp;nbsp;&amp;nbsp; I am not really sure what you are trying to do, but have you calculated t correctly?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 22 Mar 2017 08:36:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-IML-Software-and-Matrix/Why-the-matrix-has-not-been-set-to-a-value/m-p/343203#M3367</guid>
      <dc:creator>IanWakeling</dc:creator>
      <dc:date>2017-03-22T08:36:09Z</dc:date>
    </item>
  </channel>
</rss>

