解决MATLAB出现"??? Undefined function or variable 'x'."的问题,一个等号引发的大战

时间:2021-12-05 20:00:53

最近写了一段代码,一直弹出“??? Undefined function or variable 'x'.”这个错误。仔细检查了一下,发现是赋值的问题。比如下面两段代码

h=1
h=x

h=1表示的是将1赋值给h

而h=x表示的是将x赋值给h

如果我之前没有对x赋值过,此时突然加了“h=x”这段代码,那么窗口就会弹出“ ??? Undefined function or variable 'x'.”这个错误提醒,意思是让我先对x进行赋值,才能够将x的值赋给h,如果我没有先对x赋值,“h=x”这个代码就是错误的。因此呢,改进方法就是将“h=x”改为“x=h”,意思是将h的值赋给x。这才是正确的写法。

对于MATLAB来说,等于号“=”的左边和右边意义是不一样,它通常指将右边的值赋给左边的值。所以各位喜欢玩其他语言(比如R语言)的小朋友就要注意了,不要跟我一样,以为等号左右边是同个意义的。