name=strcat('xx-',num2str(i));
% save(name,'x1','x2','xx1','xx2');
eval(['save' name 'x1' 'x2' 'xx1' 'xx2']);
在循环过程在那个想把变量x1,x2,xx1,xx2,保存到变化的name文件中,老提示 ??? Error: Unexpected MATLAB expression. 到底是怎么回事呢? 看网上有人是这样做的呀
1、用eval的地方,如果出问题,应首先把要eval的字符串输出了看看,那样往往容易查出错误在哪里。
2、如果按照上面说的做了,会很容易发现,在命令的各部分之间缺少了空格,应改成
eval(['save ' name ' x1' ' x2' ' xx1' ' xx2']);
3、我有点好奇,题主为什么不使用注释掉的那种做法?
save(name,'x1','x2','xx1','xx2');就MathWorks官方的态度来说,用eval是不鼓励的做法(早期没有其它替代手段时较为常用,现在绝大多数场合都有更合理的做法)。