作业帮 > 英语 > 作业

matlab提示 The expression to the left of the equals sign is no

来源:学生作业帮 编辑:拍题作业网作业帮 分类:英语作业 时间:2024/04/28 15:26:49
matlab提示 The expression to the left of the equals sign is not a valid target for an assignment
for idx = 1:length(test{3})
eval([ test{1}{idx},' = ',num2str(test{3}(idx)),';']);
end
是哪儿不对呢
一个等号表示赋值,两个等号才表示判断是否相等.你这里相当于向test{1}{idx}赋值,所以报错了.
再问: eval这个是干啥的啊,为啥我只运行它后面的又可以运行呢?
再答: eval是把一个字符串当成命令来执行的函数。
假设test{1}{idx}='abc'
test{3}(idx)=2那么eval([ test{1}{idx}, ' = ', num2str(test{3}(idx)), ';']);的作用就相当于语句abc=2; 而如果你直接执行test{1}{idx}=num2str(test{3}(idx));相当于如下赋值语句
test{1}{idx}='2';