MATLAB编程错误求解,帮忙改一下

allsamples=zeros(9,10304,40);%所有训练图像b=zeros(1,10304);fori=1:40forj=1:9a=imread(strcat... allsamples=zeros(9,10304,40); %所有训练图像
b=zeros(1,10304);
for i=1:40
for j=1:9
a=imread(strcat('C:\Users\Administrator\Desktop\ORL_BMP\',num2str(i),'\',num2str(j),'.BMP'));
b=a(1:112*92); % b是行矢量 1×N,其中N=10304,提取顺序是先列后行,即从上到下,从左到右

b=double(b);
allsamples(j,:,i)=[allsamples(j,:,i); b(1,:)]; % allsamples 是一个9*10304*40 矩阵,allsamples 中每一行数据代表一张ORL图片,
%代表共360张图片,三维矩阵
end
end

错误:
??? Subscripted assignment dimension mismatch.
Error in ==> readimagemechangeextra at 10

allsamples(j,:,i)=[allsamples(j,:,i); b(1,:)]; % allsamples 是一个9*10304*40
矩阵,allsamples 中每一行数据代表一张ORL图片,
展开
 我来答
百度网友3c63e6c
2015-05-01 · TA获得超过2848个赞
知道大有可为答主
回答量:3829
采纳率:68%
帮助的人:2786万
展开全部
[allsamples(j,:,i); b(1,:)],这个是一个行向量么??如果用;的话,应该是两行了。
更多追问追答
追问
就是两行!for循环就是让它成为9行
追答
allsamples(j,:,i) 但是你这边的变量每次都只是一个10304个元素的行向量啊。左右大小都不一致
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式