24小时热门版块排行榜    

查看: 421  |  回复: 1

柳昭和

铁虫 (小有名气)

[求助] 大家好,求教对100个名称有规律的矩阵进行赋值的MatLab程序,具体看贴

求以下问题的MatLab程序,谢谢各位!
  求100个矩阵T1, T2, T3...T100 其中T1中的值作为初始条件给出T1=[1,2,3,4],T2至T100矩阵中元素的值分别由其前一个矩阵的值计算出来,即T2矩阵中元素的值根据T1中元素的值求出,T3矩阵中元素的值根据T2中的元素的值求出。。。。。。以此类推,T100矩阵中的元素由T99矩阵中的元素求出。具体关系如下(伪代码):

T1=[1, 2, 3, 4];
for i=2:100
  T(i)=[T(i)(1)=T(i-1)(1), T(i-1)(1)+T(i-1)(2)+T(i-1)(3), T(i-1)(2)+T(i-1)(3)+T(i-1)(4), T(i-1)(4)];
end

  上面的编程思路就是说,如果现在i=2,那T2矩阵中第一个元素等于它前一个矩阵,即T1矩阵中第一个元素的值,即1。T2矩阵第二个元素的值等于T1矩阵中第一个元素加第二个元素加第三个元素值的和,T2矩阵中第三个元素的值等于T1矩阵中第二、第三和最后一个元素的和,T2矩阵中最后一个元素等于它前一个矩阵,即T1矩阵中最后一个元素的值。这样算下来T2=[1, 6, 9, 4]。再根据上述逻辑由T2算T3,等等。

  我的MatLab程序大概是这样:
T1=[1 2 3 4];
for i=2:100
   eval(['T',num2str(i),'=','[]',';']); %%先把T2到T100的矩阵定义成空矩阵
   T(i)(1)=T(i-1)(1);  %%我知道这肯定是错的
   T(i)(4)=T(i-1)(4);  %%我知道这肯定是错的
   for ii=2:3
      T(i)(ii)=T(i-1)(ii-1)+T(i-1)(ii)+T(i-1)(ii+1); %%我知道这肯定是错的
   end
end

  请问各位,我这个程序我应该怎么编?谢谢!
回复此楼
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

独孤神宇

版主 (知名作家)

看意思,所有矩阵第一个和最后一个数据都是1和4呐

发自小木虫Android客户端
数值计算
2楼2018-05-10 16:51:42
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 柳昭和 的主题更新
信息提示
请填处理意见