Matlab编辑器问题,一个bug?

Matlab编辑器问题,一个bug?,matlab,Matlab,我有这样一个问题,当我在主屏幕上运行下面编写的代码时,matlab并没有给我一个问题 但是,如果我在编辑器中编写它,它会抱怨它的语法无效。 你能告诉我我做错了什么吗?还是一只虫子 Ques1 = { @(data) mean(data) @(data) std(data) }; mean = Ques1 {1} (data(:,1)) # runs perfectly on the main compiler screen 在“我的编辑器”页面上,编译器抱怨=符号缺少一个可能的括号。但是我

我有这样一个问题,当我在主屏幕上运行下面编写的代码时,matlab并没有给我一个问题

但是,如果我在编辑器中编写它,它会抱怨它的语法无效。 你能告诉我我做错了什么吗?还是一只虫子

Ques1 = { @(data) mean(data)  @(data) std(data) };
mean = Ques1 {1} (data(:,1)) # runs perfectly on the main compiler screen 

在“我的编辑器”页面上,编译器抱怨=符号缺少一个可能的括号。但是我不明白为什么它可以在matlab逐行编译器上运行

我目前无法访问Matlab,因此无法对其进行测试,但我认为您的语法不正确。试试这个:

Ques1 = {@(data)mean, @(data)std};
mean = Ques1{1}(data(:,1))

如果在调试器中按自己的方式运行它,它会显示单元格数组中有多少个元素?

我目前无法访问Matlab,因此无法对其进行测试,但我觉得您的语法不对。试试这个:

Ques1 = {@(data)mean, @(data)std};
mean = Ques1{1}(data(:,1))

如果您在调试器中按自己的方式运行它,它会告诉您的单元格数组中有多少个元素?

这两行代码绝对正确。在你的代码中,你忘记了一个左括号,例如,,{,(

这两行代码是绝对正确的。在你的代码中,你忘记了一个左括号,例如,,{,(

编辑现在我明白g24l的意思了!是的,这可能是你问题的罪魁祸首

不确定您使用的是什么版本的matlab,但当我运行一个非常简单的脚本时:

data = kron(1:25,transpose(1:25)); % very simple 2D matrix of data;

Ques1 = { @(data) mean(data)  @(data) std(data) };
mean1 = Ques1 {1} (data(:,1)) % runs perfectly on the main compiler screen
它在R2007B和R2009B上运行得很好,您使用的是旧版本还是新版本?我怀疑您的脚本中还有其他问题。另外,作为遵循Mathworks推荐的编程过程的事项,我建议您不要将变量或函数命名为与另一个变量或函数同名的变量或函数。在本例中,我指的是
mean=…
。很容易混淆这些内容,然后出现严重问题。如果您需要更多帮助,请随时发布更多脚本。希望这会有所帮助!

编辑现在我明白g24l的意思了!是的,这可能是您问题的罪魁祸首

不确定您使用的是什么版本的matlab,但当我运行一个非常简单的脚本时:

data = kron(1:25,transpose(1:25)); % very simple 2D matrix of data;

Ques1 = { @(data) mean(data)  @(data) std(data) };
mean1 = Ques1 {1} (data(:,1)) % runs perfectly on the main compiler screen

它在R2007B和R2009B上运行得很好,您使用的是旧版本还是新版本?我怀疑您的脚本中还有其他问题。另外,作为遵循Mathworks推荐的编程过程的事项,我建议您不要将变量或函数命名为与另一个变量或函数同名的变量或函数。在这个例子中,我指的是
mean=…
。很容易混淆这些内容,然后出现严重问题。如果您需要更多帮助,请随时发布更多脚本。希望这有帮助!

编辑器是否在
mean=Ques1{1}(数据(:,1))行上给您发出黄色或红色警报
?第二行的数据变量中有什么?编辑器是否在第
mean=Ques1{1}(数据(:,1))行上向您发出黄色或红色警报
?第二行的数据变量中有什么?+1尝试在编辑器中按Ctrl-A Ctrl-I使其基于语法重新显示;这可以帮助您发现不匹配的括号。+1尝试在编辑器中按Ctrl-A Ctrl-I使其基于语法重新显示;这可以帮助您发现不匹配的括号。