help eval 将看到matlab自带的说明 eval Execute string with MATLAB expression. eval(s), where s is a string, caus es MATLAB to execute the string as an expression or statement. 翻译一下,就是说eval函数的功能是将字符串转换为matlab可执行语句。通俗而言,比如 你输入 a=’b=1’; 会在workspace里看见生成了变量a,a的类型是字符串,字符串的内容是b=1 然后你输入eval(a) 就会看见变量里生成了变量b,b是一个1乘1的double型矩阵,元素的值为1 也就是说,执行eval(a)相当于执行a的内容,相当于执行b=1 如果说for语句可以将数字进行循环,那么eval结合for语句后,则大大提高其循环范围, 比如你要载入一些数据,m1.mat,m2.mat等等一直到m100.mat 普通青年可能会这样写程序 load m1.mat load m2.mat 然后一直写100行,这显然太笨了!但普通的for语句又无法完成 于是eval函数结合for语句就体现出其价值了 for i=1:100 eval([‘load ’ num2str(i) ‘.mat’]) end 只需要三行! 除此之外,eval还广泛用于人机交互,因为matlab的gui中,get命令得到的str格式的字符 串,通常,会通过str2num将字符串转换为数字,供后续处理。而如果读入的str字符串是 cos,sin之类的指令呢?那么就需要结合eval函数,将字符串转换为指令 |
|