MATLAB中如何对矩阵中的字母赋值?

比如:已知A=[a01_01],a01_01.mat是一个3×3的矩阵a01_01=[1,2,3;4,5,6;7,8,9];怎么得到A=[1,2,3;4,5,6;7,8,9]?
不能出现A=a01_01这种,因为A和a01_01.mat是这么得到的:A=sprintf('a%02d_%02d,m,n);
N=sprintf('a%02d_%02d.mat,m,n);
load(N);
希望通过仅循环m和n,将a01_01.mat,a01_02.mat,a02_01.mat,a02_02.mat中的数据全部存到B中。

实际上,你这个问题是:怎样把a01_01.mat等文件中的数据读到变量B中?可这样:
B=[];
for m=1:k
for n=1:s
N=sprintf('a%02d_%02d.mat,m,n);
load(N);
B=[B,A];
end
end
能否成功,要看各文件实际数据结构追问

恩,是这个意思,你这里面的N,就当相当于我之前描述所说的A(图片里面的name),但是这样B得不到我想要的

B=arr01_01_01 =

    0.0004    1.4657    9.3488

    0.0000    1.4621  -14.4318

    0.0002    1.4625   19.3322。

请问有什么解决方案吗?谢谢

追答

你程序中的B=[];必须放在最前面,不能放在for循环中。

追问

恩恩,B=[]应该放在最前面,但是还是没解决使得
B=arr01_01_01 =
0.0004 1.4657 9.3488
0.0000 1.4621 -14.4318
0.0002 1.4625 19.3322
目前的结果是B='01_01_01.mat'
请问有什么解决方案吗?谢谢

追答

按说,如没有错误提示,就该解决了,要不,你发过来,我看看QQ2674716548。

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答