cboboc 发表于 2011-5-16 16:38

关于eval函数的用法

extrMaxValue = y(find(diff(sign(diff(y)))==-2)+1);这是对序列y找极大值的程序语句
因为我有许多个序列,所以我就想用循环语句
这样我就采用了
for k=1:l
    exmaxv_str=['extrMaxValue',int2str(k),'=','y',int2str(k),'(find(diff(sign(diff(y',int2str(k),')))==-2)+1']
eval(exmaxv_str)
end
但是在运行的时候却出现了错误
??? Error: Incomplete or misformed expression or statement.
我找了半天也不知道原因,是不是eval不能这样来设置呢?

cboboc 发表于 2011-5-16 17:01

回复 1 # cboboc 的帖子

哎。。。是我太粗心了,在 exmaxv_str=['extrMaxValue',int2str(k),'=','y',int2str(k),'(find(diff(sign(diff(y',int2str(k),')))==-2)+1']
中少了一个括号,应为:
exmaxv_str=['extrMaxValue',int2str(k),'=','y',int2str(k),'(find(diff(sign(diff(y',int2str(k),')))==-2)+1)']
eval中可以运行

twb0624 发表于 2012-7-19 08:22

matlab这软件一点错误都不行的。不能马虎啊。
页: [1]
查看完整版本: 关于eval函数的用法