当前位置:首页>开发>正文

Matlab中eval函数的使用方法。 matlab中eval的用法问题

2023-05-12 01:46:25 互联网 未知 开发

 Matlab中eval函数的使用方法。 matlab中eval的用法问题

Matlab中eval函数的使用方法。

eval()函数的功能就是将括号内的字符串视为语句并运行

比如
eval(y1=sin(2))和语句y1=sin(2)等价

多在循环中使用,可以对多个名字有规则的变量或文件进行操作,比如
for x=1:eval([y,num2str(x),=,num2str(x^2),])
end

matlab中eval的用法问题

这个我也郁闷过。
eval给MATLAB提供宏的能力。其中,该函数提供了将用户创建的函数名传给其它函数能力,以便求值。它的应用例子:
» a=eval( sqrt(2) )
a = 1.4142
» eval( a=sqrt(2) )
a = 1.4142
上面的例子演示了函数evalevalevaleval。显然,它们不是计算2的平方根的最简单方法。当被求值的字符串是由子字符串连接而成,或将字符串传给一个函数以求值时,eval非常有用。
如下程序
ct=strcat(t=0:0.01:2*pi,y=sin(t),plot(t,y))
eval(ct)

楼主还不明白话,看下面,matlab群还是有很多高手的,当年我也是看的这个
eval 高级语法使用,详细讲解
详细讲解 eval用法
字符串构造
以及 帮助的翻译
\\\\\\\\\\\\\
eval
执行字符串表达式
两步
1 构造字符串
2 执行字符串
\\\\\\\\\\
构造字符串技巧
num2str
可以变数字为字符串
\\\\\\\\\\\\
\\\\\\\
常见的应用
1 自动保存文件
2 自动生成变量
3 内容不定问题
\\\\\\\\
细节的问题
1) 必须是字符串
2) 单引号 是 单引号字符串
3) 特殊的 不妨用 char
4) [] 就可以连接字符串
\\\\\\\\\\\\
\\\字符串连接
str0= [ str1,str2]
以下的例子 并不能运行,因为是摘录代码,仅供参考,
也未删节,但加注释
\\\\\\\\
四个例子
\\\\\\
exn1 = 10
% [yy,zz,xx] = meshgrid( 0:(l2-0)/(n1-1):l2 , 0:(l3-0)/(n1-1):l3,l1 / 2 )
xx = [ .2 .3 .25 .25 .2 .4 .25 .2 .2 .3]
yy = [ .2 .2 .2 .2 .1 .2 .2 .1 .3 .2]
zz = [ .15 .15 .2 .1 .2 .15 .15 .15 .15 .2]
%%
% a test
% i1 = % i2 =% pos = [xx(i1,i2),yy(i1,i2),zz(i1,i2)]
for i1 = 1:npos = [xx(i1),yy(i1),zz(i1)]
ff1 = 0:1:630
pxw = zeros(size(ff1))
for i =1:length(ff1)
pxw(i)= cal_pxw(ff1(i),pos,model)
end
l_pxw = 20*log10(abs(pxw)/(2e-5))-30
save_str_mat = [save, ,.orgindatap_,num2str(i1),_spl, ,l_pxw]
% 构造字符串save 路径 文件名(加了数字,自动把循环代码加进去了)
% 原始字符串 save 空格 .origindatap_数字_spl 空格 l_pxw
eval(save_str_mat)
% 执行字符串
end
很明显看出用了eval可以少用循环语句,十分方便。
剩余请看
http://www.ilovematlab.cn/forum.php?mod=viewthread&tid=65491

matlab Eval 用法求助!!!急

P后面有括号吧是[p(,num2str(x),)··········]
eval的作用是将字符串按matlab中的命令执行,也就是eval(str)
相当于在matlab主窗口中输入 str 再运行。(str代表特定的命令字符串)

最新文章