帅气的奶哥 2021-11-09 00:44 采纳率: 100%
浏览 35
已结题

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
  • 写回答

1条回答 默认 最新

  • joel_1993 2021-11-09 08:15
    关注

    如此即可:

    for i = 1:365;
    for j = 1:24;
    str = ['a',num2str(j),'(i,1)=Ppv(24*i-',num2str(j),',1);'];
    eval(str);
    end
    end
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月18日
  • 已采纳回答 11月10日
  • 创建了问题 11月9日