帮助,错误信息:下标赋值维度不匹配。

1次观看(过去30天)
嗨,我是一个非常新的MatLab,我在win10上的MatLab R2017a工作,这是一个CNN的例子,这是代码:
%工作路径
路径(路径,“C: \ \ mlerma \ MATLAB文件\ \用户论文”);
cdC:\Users\mlerma\Documents\MATLAB\thesis
% %准备
% currentFolder = pwd;
清晰;关闭所有;clc;
% %加载图片
imsetTrain = imageSet(“图片”“递归”);
显示图像数据采样
numClasses = size(imsetTrain,2);
imagesPerClass = 20;
imagesInMontage = cell(imagesPerClass,numClasses);
i = 1:size(imagesInMontage,2)
imagesInMontage(:,我)=...
imsetTrain (i) .ImageLocation (randi (imsetTrain(我)。数1...
imagesPerClass));
结束
蒙太奇({imagesInMontage {:}},“大小”(numClasses imagesPerClass]);
标题(《想象》
为培训准备数据
%读取所有图像并将其存储在4D uint8输入数组中进行训练,
%与其对应的类
trainNames = {imsetTrain.Description};
XTrain = 0 (720,480,3,sum([imsetTrain.Count]),“uint8”);
TTrain = categorical(离散化((1:sum([imsetTrain.Count]))',...
[0, cumsum ([imsetTrain.Count])],“分类”trainNames));
J = 0;
抽搐;
c = 1:长度(imsetTrain)
i = 1:imsetTrain(c)。数
XTrain(:,:,:,i+j) = read(imsetTrain(c),i);
结束
j = j + imsetTrain(c).Count;
结束
toc;
错误如下:
XTrain(:,:,:,i+j) = read(imsetTrain(c),i);
消息错误是:
下标赋值维度不匹配。
有人能帮帮我吗??
提前谢谢你
天使

接受的答案

1月
1月 2017年7月3日
编辑:1月 2017年7月3日
使用调试器检查问题。在命令窗口中输入:
dbstop如果错误
现在再次运行代码,直到出现错误为止。现在看看这个:
大小(XTrain(::,:,我+ j))
大小(读取(imsetTrain (c),我))
它们相等吗?否则,分配就不能工作。
也许你想:
k = imsetTrain(c)。数
XTrain(:,:, j:j+k-1) = read(imsetTrain(c),i);
J = J + k;
?由于缺乏评论,读者(和你在某些月)只能猜测,意图是什么。

更多答案(1)

天使lerma
天使lerma 2017年7月4日
你好,简:你是对的,值是不同的,所以我修复了它,这些部分工作正常。
非常感谢......最好的祝福……天使
1评论
Szillat
Szillat 2017年12月21日
不好意思,你怎么修?我把:
J = 0;
抽搐;
c = 1:长度(imsetTrain)
i = 1:imsetTrain(c)。数
XTrain(:,:,i+j) = read(imsetTrain(c),i);
结束
j = j + imsetTrain(c).Count;
结束
toc;
但这并不奏效

登录评论。

类别

了解更多调试与分析帮助中心而且文件交换

下载188bet金宝搏

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!