feval 命令如何使用?
a=-1;b=0;y1=a^5+5*a^3-2*a+1;
y2=b^5+5*b^3-2*b+1;
while abs(y1-y2)>1e-3
c=(a+b)/2;
y3=c^5+5*b^3-2*c+1;
if y1*y3>0
a=c;y1=y3;
else b=c;y2=y3;
end
end
此程序咋输入后没啥用?不报错也没有输出。还有,如何用feval,好像是啥要啥字符,不懂啊。
[ 本帖最后由 eight 于 2008-4-24 10:28 编辑 ] 新人多看看置顶帖会有很多收获的。
你的问题描述混乱,而且似乎楼主需要看看比较基础的matlab书籍。 关于feval的用法可参见下面的帖子。
http://forum.vibunion.com/forum/viewthread.php?tid=12178&page=1&authorid=1691
回复 楼主 的帖子
看起来你要用二分法解方程。那就要把你得y1\y2\y3写成函数的形式。回复 4楼 的帖子
是的,是在用二分法:syms x;
a=-1;b=0;
y1=feval(x^5+5*b^3-2*x+1,a);
y2=feval(x^5+5*x^3-2*x+1,b);
while abs(y1-y2)>1e-3
c=(a+b)/2;
y3=feval(x^5+5*x^3-2*x+1,c);
if y1*y3>0
a=c;y1=y3;
else b=c;y2=y3;
end
end
又错在哪? 改成下面这样试试a=-1;b=0;
fh=@(x)(x^5+5*b^3-2*x+1)
y1=feval(fh,a);
y2=feval(fh,b);
...
y3=feval(fh,c);
...
[ 本帖最后由 sogooda 于 2008-4-24 13:08 编辑 ]
回复 6楼 的帖子
但??? Error using ==> feval
Invalid function name 'x^5+5*x^3-2*x+1'.
Error in ==> Untitled2 at 6
y1=feval('x^5+5*x^3-2*x+1',a); 现在应该可以了
回复 8楼 的帖子
fh=@(x)(x^5+5*x^3-2*x+1)是啥意思?这样就定义了一个以x为变量的函数是把?[ 本帖最后由 龙舟五号 于 2008-4-24 13:19 编辑 ] 定义了一个匿名函数,fh是这个函数的句柄。 谢谢!谢谢!没想到这么快就回复了,谢谢各位!
页:
[1]