matlab中eval函数的详细用法是啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab中eval函数的详细用法是啥?相关的知识,希望对你有一定的参考价值。

eval()函数的用法就是将括号内的字符串视为语句并运行,具体如下:

1、假如我要对a1,a2,a3,a4,……,a100分别赋予1,2,3,……,100,这时eval就发挥作用了。

for i=1:100

eval(['a' num2str(i) '=' num2str(i)]);

end

2、再比如批量存数据或图片文件等等。

那么开始提到的例子也就好解释了。

注意:eval中的中括号在两个以上字符串出现时一定要有,起连接作用。

如: 

input:[‘hello’ ‘world’]

output:helloworld 

扩展资料:

eval命令在Linux下的应用非常广泛

1、eval会把赋值语句中双引号之间的内容直接赋给‘=’前的变量,而不是当作字符串赋给变量

例如:

version="(2 4)" 是将字符串赋值给 version;

eval version="(2 4)" 执行时变成了 version=(2 4), 是把数组 (2 4) 赋值给 version

2、当在一个赋值语句的前面加上 eval 时,它就会将 后面表达式中以 $ 开头的所有变量进行整体替换

例如:

var1="1234 4556"

tmp=var

eval test="$"$tmp"1"

echo   $test

那么就会在屏幕上显示出 :

1234 4556

参考技术A

1、假如我要对a1,a2,a3,a4,……,a100分别赋予1,2,3,……,100,这时eval就发挥作用了。

for i=1:100

eval(['a' num2str(i) '=' num2str(i)]);

end

2、再比如批量存数据或图片文件等等。

那么开始提到的例子也就好解释了。

注意:eval中的中括号在两个以上字符串出现时一定要有,起连接作用。

如: 

input:[‘hello’ ‘world’]

output:helloworld 

扩展资料:

函数说明

eval(expression)在字符串表达式中评估MATLAB代码。如果你在一个匿名函数或者含有嵌套函数的函数里面使用eval,那么评估的expression将不能创建一个变量。

[output1,...,outputN]=eval(expression) 从特定变量表达式即expression中存储所有的输出。

输入参数:

expression:含有有效的MATLAB表达式的字符串。如果要在表达式即expression里面包含数值,请使用int2str,num2str或者sprintf进行转换。

输出参数:

output1,...,outputN:是评估的表达式expression中的输出。

参考资料:百度百科—eval(MATLAB函数)

参考技术B eval_r()函数的功能就是将括号内的字符串视为语句并运行
例如: eval_r('y1=sin(2)')就是相当于在matlab命令窗口输入了y1=sin(2)这条命令。
多在循环中使用,可以对多个名字有规则的变量或文件进行操作,
例一:
for x=1:5
eval_r(['y',num2str(x),'=',num2str(x^2),';'])
end
以上语句等价于执行以下5句:
ynum2str(1)=num2str(1^2);
ynum2str(2)=num2str(2^2);
ynum2str(3)=num2str(3^2);
ynum2str(4)=num2str(4^2);
ynum2str(5)=num2str(5^2);
例二:
subplot(711);plot(t,y);title('原始信号’);
for i=1:6
subplot(7,1,i+1);
plot(t,imf(i,:));
eval_r(['title(''IMF',int2str(i),''');']);
end
-------------------------
以上6行程序实际上是执行以下7条命令
subplot(711);plot(t,y);title('原始信号');
subplot(7,1,2);plot(t,imf(1,:));title('IMF1');
subplot(7,1,3);plot(t,imf(2,:));title('IMF2');
subplot(7,1,4);plot(t,imf(3,:));title('IMF3');
subplot(7,1,5);plot(t,imf(4,:));title('IMF4');
subplot(7,1,6);plot(t,imf(5,:));title('IMF5');
subplot(7,1,7);plot(t,imf(6,:));title('IMF6');
其中最后6条是通过循环里面执行的语句
这里主要是通过e v a l()函数实现了输出title('IMFi');这个语句
1.把 title('IMF 看做一个字符串
2.把i (i=1,2,3,4,5,6)这个浮点型变量以字符的形式输出
3.把 '); 看做一个字符串
以上三部分整合起来就是 输出命令 title('IMFi');
其中值得注意的是想要输出单撇号,用''代替'即可,就好像C语言用\\代替\是一个道理,都属于特殊符号。
参考技术C eval_r()函数的功能就是将括号内的字符串视为语句并运行
例如: eval_r('y1=sin(2)')就是相当于在matlab命令窗口输入了y1=sin(2)这条命令。
多在循环中使用,可以对多个名字有规则的变量或文件进行操作,
例一:
for x=1:5
eval_r(['y',num2str(x),'=',num2str(x^2),';'])
end
以上语句等价于执行以下5句:
ynum2str(1)=num2str(1^2);
ynum2str(2)=num2str(2^2);
ynum2str(3)=num2str(3^2);
ynum2str(4)=num2str(4^2);
ynum2str(5)=num2str(5^2);
例二:
subplot(711);plot(t,y);title('原始信号’);
for i=1:6
subplot(7,1,i+1);
plot(t,imf(i,:));
eval_r(['title(''IMF',int2str(i),''');']);
end
-------------------------
以上6行程序实际上是执行以下7条命令
subplot(711);plot(t,y);title('原始信号');
subplot(7,1,2);plot(t,imf(1,:));title('IMF1');
subplot(7,1,3);plot(t,imf(2,:));title('IMF2');
subplot(7,1,4);plot(t,imf(3,:));title('IMF3');
subplot(7,1,5);plot(t,imf(4,:));title('IMF4');
subplot(7,1,6);plot(t,imf(5,:));title('IMF5');
subplot(7,1,7);plot(t,imf(6,:));title('IMF6');
其中最后6条是通过循环里面执行的语句
这里主要是通过e v a l()函数实现了输出title('IMFi');这个语句
1.把 title('IMF 看做一个字符串
2.把i (i=1,2,3,4,5,6)这个浮点型变量以字符的形式输出
3.把 '); 看做一个字符串
以上三部分整合起来就是 输出命令 title('IMFi');
其中值得注意的是想要输出单撇号,用''代替'即可,就好像C语言用\\代替\是一个道理,都属于特殊符号。
参考技术D eval 是运行用字符串表示的命令
eval要求输入一个字符串作为参数
然后把这个字符串的内容当作命令来运行

当k=1的时候
CEMk=‘cos'

num2str(theta) 将theta的值变为字符串,这个字符串是 '0.7854'
用 [ ] 括起起来 是将字符串合拼
[CEMk,'(',num2str(theta),')'] 得到的字符串内容是 'cos(0.7854)'

然后eval这个字符串,就想当于在命令行输入了这个字符串的内容
cos(0.7854)
也就是计算0.7854的余弦值

所以,程序的结果是
得到一个变量y2, 大小是1x3
里面三个数分别是
0.7854的 余弦 正弦 和 正切的结果

eval()函数的作用是啥?

python当中的eval()函数是将字符串当成有效Python表达式来求值,并返回计算结果

x = 1

eval('x+1')

eval('x==1')

与之对应的repr函数,它能够将Python的变量和表达式转换为字符串表示

repr(x+1)

repr(x+ ‘1’-1)('x=+=1')

函数说明

如果eval函数在执行时遇到错误,则抛出异常给调用者。

类似的函数是loadcode ,loadcode并不立即执行代码,而是返回一个函数对象。

并且loadcode支持路径参数,eval并不支持。 eval并不支持代码中的return语句,而是将代码作为表达式直接计算出结果。

参考技术A

python当中的eval()函数是将字符串当成有效Python表达式来求值,并返回计算结果

x = 1

eval('x+1')

eval('x==1')

与之对应的repr函数,它能够将Python的变量和表达式转换为字符串表示:

repr(x+1)

repr(x+ ‘1’-1)('x=+=1')

扩展资料

函数原型:返回值 = eval( codeString )

函数说明:如果eval函数在执行时遇到错误,则抛出异常给调用者。

类似的函数是loadcode ,loadcode并不立即执行代码,而是返回一个函数对象。

并且loadcode支持路径参数,eval并不支持. eval并不支持代码中的return语句,而是将代码作为表达式直接计算出结果。

参考资料来源:百度百科-eval()

以上是关于matlab中eval函数的详细用法是啥?的主要内容,如果未能解决你的问题,请参考以下文章

eval()函数的作用是啥?

MATLAB中strel函数的作用以及用法参数是啥?

matlab里的unwrap的命令用法是啥?

matlab数值微分函数是啥?

matlab中的eval有啥用?

“matlab”中eval函数怎么用?