|
楼主 |
发表于 2010-6-11 16:07
|
显示全部楼层
回复 5楼 rocwoods 的帖子
还有一个十分有趣的现象。
syms x; f=[x,x^2]; g=@(x) eval(f(1)); quad(g,1,2)
ans =
1.5
而如果是两个元素的乘积
gg=@(x) eval(f(1)*f(2)); quad(gg,1,2)
错误提示:
??? Error using ==> mpower
Matrix must be square.
Error in ==> sym.eval at 9
s = evalin('caller',map2mat(char(x)));
Error in ==> quad at 62
y = f(x, varargin{:});
而如果用两个元素的点乘:
gg=@(x) eval(f(1).*f(2)); quad(gg,1,2)
还是错误提示同上
总结,如果是一个元素,就可以用@(x) eval(f(1))来化为句柄函数。
如果是两个元素的乘积,转化成句柄的步骤可执行,但生成的东西不能参与积分。
呵呵,这是错在哪儿???
[ 本帖最后由 ChaChing 于 2010-6-11 17:51 编辑 ] |
|