matlab fzero 命令运行时错误

运用matlab编程求方程的根,程序如下:a=0:10;y=0.17*cos(5.6*sqrt(a)).*cos(0.47*sqrt(a))-0.163*sin(5.6*... 运用matlab编程求方程的根,程序如下:
a=0:10;
y=0.17*cos(5.6*sqrt(a)).*cos(0.47*sqrt(a))-0.163*sin(5.6*sqrt(a)).*sin(0.47*sqrt(a))...
-0.119*sqrt(a).*sin(5.6*sqrt(a)).*cos(0.47*sqrt(a))-0.104*sqrt(a).*cos(5.6*sqrt(a)).*sin(0.47*sqrt(a))...
+(0.06*cos(5.6*sqrt(a)).*sin(0.47*sqrt(a))+0.053*sin(5.6*sqrt(a)).*cos(0.47*sqrt(a)))./sqrt(a);
plot(a,y);
grid on;
a1= fzero ('0.17*cos(5.6*sqrt(a))*cos(0.47*sqrt(a))-0.163*sin(5.6*sqrt(a))*sin(0.47*sqrt(a))-0.119*sqrt(a)*sin(5.6*sqrt(a))*cos(0.47*sqrt(a))-0.104*sqrt(a)*cos(5.6*sqrt(a))*sin(0.47*sqrt(a))+(0.06*cos(5.6*sqrt(a))*sin(0.47*sqrt(a))+0.053*sin(5.6*sqrt(a))*cos(0.47*sqrt(a)))/sqrt(a)',1)
本来不输入最后一个命令时正确的,出来一个曲线,我想求方程=0时在1附近的根,一输入最后一个命令就出错:如图,请高手帮助,谢谢了~~~~~
...
展开
 我来答
ruifengcao
2011-01-27 · TA获得超过9489个赞
知道大有可为答主
回答量:3579
采纳率:33%
帮助的人:1976万
展开全部
你可以使用下面的代码:
a=0:0.1:10;
y=0.17*cos(5.6*sqrt(a)).*cos(0.47*sqrt(a))-0.163*sin(5.6*sqrt(a)).*sin(0.47*sqrt(a))...
-0.119*sqrt(a).*sin(5.6*sqrt(a)).*cos(0.47*sqrt(a))-0.104*sqrt(a).*cos(5.6*sqrt(a)).*sin(0.47*sqrt(a))...
+(0.06*cos(5.6*sqrt(a)).*sin(0.47*sqrt(a))+0.053*sin(5.6*sqrt(a)).*cos(0.47*sqrt(a)))./sqrt(a);
plot(a,y);
hold on
grid on;
a1= fzero (@(a)0.17*cos(5.6*sqrt(a))*cos(0.47*sqrt(a))-0.163*sin(5.6*sqrt(a))*sin(0.47*sqrt(a))-0.119*sqrt(a)*sin(5.6*sqrt(a))*cos(0.47*sqrt(a))-0.104*sqrt(a)*cos(5.6*sqrt(a))*sin(0.47*sqrt(a))+(0.06*cos(5.6*sqrt(a))*sin(0.47*sqrt(a))+0.053*sin(5.6*sqrt(a))*cos(0.47*sqrt(a)))/sqrt(a),1)
plot([a1],[0],'r*')

或者你可以把你的fzero函数中的a换为x,因为这个函数默认的自变量是x,其他的不行。

祝你学习愉快!
dhsatq
2011-01-27 · TA获得超过1151个赞
知道小有建树答主
回答量:1052
采纳率:33%
帮助的人:756万
展开全部
显然x = fzero(fun,x0),fun是函数,注意这里。
你可以修改
x=fzero('x+2*exp(-x)-3',-0.5)

或者你先定义一个函数
function y=fun(x)
y=x+2*exp(-x)-3;

之后调用x = fzero(fun,x0)
你自己看看help fzero的讲解吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式