matlab等号错误

搞不太懂,有时候可以,有时候又会提示错误。

x=[[3,0,4,6,1,1,17,8,1,3,1,19,3,2,0,19,3,2,9,10,10,2,0,9,1,8,14,3,12,3,2,10,13,1,10,7,6,2,10,20,0,3,5,3,4,4,7,1,1,11,7,20,3,5,19,4,9,0,12,2,4,1,8,0,0,0,5,0,8,5,8,12,2,2,2,3,3,1,3,0,9,6,6,0,7,1,12,0,11,1,2,0,15,0,0,0,4,5,2,0,2,6,2,2,0,6,20,15,1,0,5,3,14,2,1,4,8,0,0,4,4,20,1,1,4,6,2,0,4,0,3,5,4,0,8,3,7,4,6,5,3,5,5,1,10,5,2,10,7,3,4,1,0,3,7,0,0,6,3,2,3,5,4,7,19,7,4,5,9,1,2,0,8,6,4,0,10,2,2,1,1,2,0,5,9,4,5,5,1,5,2,3,4,1,10,0,2,2,0,5,6,10,5,0,4,12,10,8,5,1,9,10,8,5,6,0,0,16,5,15,5,9,6,1,8,15,11,1,7,4,7,16,14,8,6,5,10,15,9,4,12,20,2,10,3,6,3,17,6,0,3,13,10,15,9,2,4,3,11,13,11,1,7,13,10,7,7,3,7,9,8,2,7,1,4,0,8,8,10,4,6,4,14,18,9,10,2,8,15,12,9,10,4,5,5,1,13,7,5,7,9,19,4,8,21,7,6,13,8,5,1,10,1,17,1,0,0,14,2,4,12,16,18,5,2,14,0,3,3,15,0,0,1,6,5,4,1,2,13,3,9,9,5,7,9,9,16,7,1,13,12,5,5,3,4,5,2,7,0,6,6,10,0,3,5,19,11,10,12,13,5,4,0,17,8,6,0,6,10,17,5,10,6,11,6,12,4,0,1,10,7,9,7,8,6,5,8,3,7,4,16,4,6,0,9,1,4,0,0,3];
[h,p]=lilletest(x)
 [h,p]=lilletest(x)
      ↑
Error: Incorrect use of '=' operator. To compare values for
equality, use '=='. To specify name value arguments, check
that name is a valid identifier with no quotes.


问题分析:正态性检测,像你所说那样,有时候错,有时候对。我感觉第一次用lilletest(x)返布尔值h和概率p可能能够正确运行,但是之后再次运行,编译器会将变量空间的[h,p]和新生成的返回值作比较也就是编译器认为这是一次比较操作而不是赋值操作。
报错原因:编译器将赋值操作识别成比较操作
个人建议:每次运行结束清空变量空间

你变量x左边打了两个方括号,[[,删除一个应该就行了吧