作业帮 > 综合 > 作业

Matlab编程eval用法求助,如何连续构建5个矩阵?

来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/04/27 21:53:01
Matlab编程eval用法求助,如何连续构建5个矩阵?
我的原代码是
for i=1:5
eval(['Ce_C',num2str(i),'=',mat2str([2,1;1,2]*(L/6)*(i+1)),';'])
end
我想得到Ce_C1=[矩阵],Ce_C2=[矩阵].
L是已知的常数;
真正的问题是后续的如何引用Ce_C1里的一个元素,比如,我想引用Ce_C1(1,1)
Matlab编程eval用法求助,如何连续构建5个矩阵?
你的程序不是可以吗?只是中间有个左括号写错了for i=1:5                            
   eval(['Ce_C', num2str(i), '=', mat2str([2,1;1,2]*(L/6)*(i+1)), ';'])
end
再问: 哈哈,其实我就是为了引出知道这个东西的人的,真正的问题是后续的如何引用Ce_C1里的一个元素,比如,我想引用Ce_C1(1,1)
再答: 你为什么不弄成一个元胞数组呢:Ce_C = cell(5, 1);
L = 2;
for i = 1:5                            
   Ce_C{i} = [2 1; 1 2]*L*(i+1)/6;
end以后直接Ce_C{1}(1,1)来访问。如果照你原来的做法,需要通过:eval(sprintf('Ce_C%d(%d,%d)', 1, 1, 1))来访问。