等号左侧的表达式不是用于赋值的有效目标。

请教一下大家这个是为什么呀?matlab
switch(landtype(i,j))
case 11: landtypenew(i,j)=3;
case 12: landtypenew(i,j)=3;
case 21: landtypenew(i,j)=4;
case 22: landtypenew(i,j)=4;
end
报出的错误是 landtypenew(i,j)=3;等号左侧的表达式不是用于赋值的有效目标。

冒号去了,换行试试

switch(landtype(i,j))
case 11
      landtypenew(i,j)=3;
case 12
      landtypenew(i,j)=3;
case 21
      landtypenew(i,j)=4;
case 22
      landtypenew(i,j)=4;
end

例:

clc,clear;
landtypenew=zeros(2,2);
switch(11)
case 11
    landtypenew(1,1)=3;
case 12
    landtypenew(1,2)=3;
case 21
    landtypenew(2,1)=4;
case 22
    landtypenew(2,2)=4;
end
landtypenew

img

img

landtypenew(i,j)=3;
3的值,为什么可以直接赋值给landtypenew(i,j)这个表达式呢?
这个表达式所得到的值跟3对等吗?

如有帮助,还请帮忙点下采纳!感谢!