注册 登录
编程论坛 Matlab

[求助]matlab如何批处理矩阵

bugnec 发布于 2007-06-20 16:03, 1742 次点击
我需要批处理矩阵,因为非常多,所以希望用循环控制

在被处理的矩阵是同维的情况下,我用

for i= 1:k
Input(:,:,i)=。。
Onput(:,:,i)=。。
end

来把所有矩阵存下,然后再进入循环处理


现在的问题是,被处理矩阵不同维,上面的方法就失效了,现在我想不出什么办法

如果用struct
比如

Input.x1=x1;
Input.x2=x2;

但是在循环中怎么取出来呢??
谢谢大家!!
5 回复
#2
matlabteach2007-06-20 21:06
回复:(bugnec)[求助]matlab如何批处理矩阵
matlab专长就是处理矩阵的,根本不需要循环语句来做,直接定义变量为矩阵,直接给植就行了.

如<<A=[1 2 3;4 5 6]
#3
bugnec2007-06-20 21:18
楼上没有明白我的意思,如果有一千个不同的矩阵,每个矩阵做同样的操作,怎么处理?
难道写一千行?
#4
abingchem2007-06-20 22:11
这个也应该没有问题,关键是你的操作是什么,加一些选择分支语句试试,或者发一点矩阵上来
#5
bugnec2007-06-20 22:32
for i= 1:k
textname='D:\工作\项目组\model\edit';
textdiff=num2str(i);
textname=strcat( textname,textdiff);
tempDate=textread(textname); %(30,10)
tempInput = tempDate (:,2:end-1); %(30,8)
tempOutput= tempDate (:,1); %(30,1)



in=tempInput' ; %(8,30)
out=tempOutput'; %(2,30)
Input(:,:,i)=in;
Onput(:,:,i)=out;
end


上面就是把数据读入矩阵,因为是同维的我用的Input(:,:,i)=in;但是如果不同维,就不行了


处理的代码是线性分类器newlind
#6
abingchem2007-06-24 11:05
两种办法,一种是处理好你的源数据,可以在每个矩阵前加个矩阵大小标识,处理这个标识就好了
另一种是用for循环加fscanf。
1