数组生成时 Subscripted assignment dimension mismatch 出错
Temperw1(:,1:10,1:10,:)=Tempergrf(:,11:2,11:2,:);为什么提示的错误是 Subscripted assignment dimension mismatch.下标分配维数不匹配
要是怎么才能实现上面的语句要表达的意思
备“:
size(Temper)=121,21,21,41;size(Tempergrf)=;
Tempergrf是一立方体1/4对称块的温度按时间变化的数组 时间步长为121
后面3维是表示空间位置的 现在需要将1/4立方体扩充到整体
所以进行上面的数组操作
我用循环使Temperw1(:,1:10,1:10,:)=Tempergrf(:,11:2,11:2,:);这个赋值过程可以完成
但是在语句Temper(:,11:21,11:21,:)=Tempergrf(:,1:11,1:11,:); 完成后再实施
Temper(:,1:10,1:10:21,:)=Temper1(:,1:10,1:10,:); 结果是Temper的第二维前10都是0与Temper1并不相等
[ 本帖最后由 eight 于 2007-10-12 16:30 编辑 ] 错误已经很明显,而且11:2的这种写法也不是不对的,产生的是空数组。 那我用循环
for i=1:10
for j=1:10
Temper1(:,i,j,:)=Tempergrf(:,12-i,12-j,:);
end
end
得到的正确数组后再赋值给Temper(:,1:10,1:10,:) 同样还是会出现很多0元素 那又是为什么呢
回复 #3 phebus 的帖子
和循环无关呀,是你:运算符用法不对。试试下面的Temperw1(:,1:10,1:10,:)=Tempergrf(:,11:-1:2,11:-1:2,:);
另:编程之前先看看基本的语法,维数不匹配的问题版面有解决办法 好的谢谢 我再看看 Subscripted assignment dimension mismatch.
Error in hjgjytu (line 44)
individuals.chrom(worestindex,:)=bestchrom;
请问一下以上的错误提示如何修改啊。
页:
[1]