
matlab中eval函数作用简单来说就是可以把字符串当作命令来执行。即将字符串自动识别并转化为matlab命令。比如eval(x=1)可以直接定义变量x,并为之赋值为1,即执行引号内matlab命令。
在matlab的命令行窗口中输入help eval命令回车就可以看到eval函数的官方解释,大概的意思就是执行matlab中的表达式,计算expression表示的代码。意思是相当于在命令行中输入expression表达式命令的意思。用法:eval(y=sin(1))与命令 y=sin(1)等价。
eval用于循环中是再好不过了,特别是有些变量的名字中含有有规律的数字,比如我们现在要依次把data1,data2,data3写入excel,
并命名为data1.xlsx,data2.xlsx,data3.xlsx.

当然你可以写三行:
xlswrirte(data1.xlsx,data1)
xlswrirte(data2.xlsx,data2)
xlswrirte(data3.xlsx,data3)
但是假如现在有1000个这种data1,data2,…,data1000呢
这个时候就需要eval出马了,我们也可以只用三行:
for i=1:1000
eval([xlswrite(data,num2str(i),.xlsx,,data,num2str(i),)])
end
扩展资料:
eval函数相当于在命令行中输入命令,所以命令的形式必须要跟expression的形式要一致,否则回出错,这个就是上面代码1中为什么需要使用:eval([load,,data,num2str(i),.mat]);在expression中间还添加了,这个就是需要保持expression正确。
eval由于会直接将命令输出,所以它可以自动识别有实际数值的变量,这个就是上面代码2中直接输入i的表达式的原因:eval([hex2dec(,a(3i-2:3i-1),)]);
如果在eval表达式中存在符号时,需要使用转义字符即需要在的地方添加两个才可以,这样表示他就是一个而不是表示字符串的意思。

免责声明:文章内容来自互联网,本站仅提供信息存储空间服务,真实性请自行鉴别,本站不承担任何责任,如有侵权等情况,请与本站联系删除。
转载请注明出处:matlab中eval函数作用(matlab中eval函数作用) https://www.bxbdf.com/a/70076.shtml