eval()在matlab中的使用问题。

具体问题如下,如何合理的使用eval()函数,让代码更简洁。

for i=1:365
    a1(i,1)= Ppv(24*i-1,1);
    a2(i,1)= Ppv(24*i-2,1);
   a3(i,1)= Ppv(24*i-3,1);
    a4(i,1)= Ppv(24*i-4,1);
    a5(i,1)= Ppv(24*i-5,1);
    a6(i,1)= Ppv(24*i-6,1);
    a7(i,1)= Ppv(24*i-7,1);
    a8(i,1)= Ppv(24*i-8,1);
    a9(i,1)= Ppv(24*i-9,1);
    a10(i,1)= Ppv(24*i-10,1);
    a11(i,1)= Ppv(24*i-11,1);
    a12(i,1)= Ppv(24*i-12,1);
    a13(i,1)= Ppv(24*i-13,1);
    a14(i,1)= Ppv(24*i-14,1);
    a15(i,1)= Ppv(24*i-15,1);
    a16(i,1)= Ppv(24*i-16,1);
    a17(i,1)= Ppv(24*i-17,1);
    a18(i,1)= Ppv(24*i-18,1);
    a19(i,1)= Ppv(24*i-19,1);
    a20(i,1)= Ppv(24*i-20,1);
    a21(i,1)= Ppv(24*i-21,1);
    a22(i,1)= Ppv(24*i-22,1);
    a23(i,1)= Ppv(24*i-23,1);
    a24(i,1)= Ppv(24*i-24,1);
end

如此即可:

for i = 1:365;
for j = 1:24;
str = ['a',num2str(j),'(i,1)=Ppv(24*i-',num2str(j),',1);'];
eval(str);
end
end