关于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不能这样来设置呢? 回复 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中可以运行 matlab这软件一点错误都不行的。不能马虎啊。
页:
[1]