急!这语句是怎么执行的
eval(['x=b2f(pop(1,:),bounds,bits);=' evalFN ...'(x,); pop(1,:)=;']);
运行后出错
??? Error using ==> horzcat
Conversion to cell from double is not possible.
想弄清楚程序执行方式后查找!先谢谢那位朋友的帮忙。 eval语句是执行字符串代码的一种形式,即运行字符串里的 matlab的命令
上面一句等价于
x=b2f(pop(1,:),bounds,bits);
=' evalFN '(x,);
pop(1,:)=;
注意到中间的语句 'evalFN',这里是一个字符串,evalFN这个函数是前面定义过的,如果直接按上面的三句来执行,那么 'evalFN' 你就要用明确的函数来代替了。而在evalFN存在多个选择的时候,你每重新选定一个evalFN的时候,如果不采用eval的形式,那么程序中evalFN就要进行修改了,而采用eval形势,只要修改前面的'evalFN='这个语句就可以了。.
由于字符串形成有一定的方便性,所以用来写一些通用性的命令来优化程序结构,方便编程,也方便了代码的通用性。
我现在经常用eval函数实现的操作有:批量保存图形,批量保存变量到文件,改变某个参数批量运行某个程序并保留结果,太方便了。
[ 本帖最后由 心灯 于 2006-10-19 12:35 编辑 ] 谢谢心灯罗,加一句,你的头像好威猛!呵呵 长知识了 原帖由 realhappy 于 2006-10-19 14:13 发表
谢谢心灯罗,加一句,你的头像好威猛!呵呵
不用客气,呵呵
我的ID是色厉内荏型的,现实生活中貌似色也不厉? :@$
页:
[1]