作业帮 > 综合 > 作业

matlab中能否用fzero求导函数零点,请来看一下我的代码

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/14 14:50:33
matlab中能否用fzero求导函数零点,请来看一下我的代码
就是已知一个函数的表达式,想利用fzero函数来求出其导函数在给定区间内的零点.
>> syms x
>> y=cos(3*x)*exp(-x);
>> yy=diff(y);
>> fzero(yy,0)
——————————————————
回车后显示如下信息:
Error using ==> fzero at 169
If FUN is a MATLAB object,it must have an feval method.
我把syms x换成x=[0:pi/10:pi];就更不行了.
请问正确的步骤是怎样的?刚开始学matlab,问题估计有点幼稚,弄懂的话保证补分~
你前面声明是符号变量..所以yy是符号变量,不能用fzero,fzero是对字符串变量的式子而言的..
syms x
y=cos(3*x)*exp(-x);
yy=diff(y);
yy=char(yy);
fzero(yy,0)
或者你用solve函数,他是对符号变量的
>> syms x
>> y=cos(3*x)*exp(-x);
>> yy=diff(y);
>> solve(yy,0)
得到 ans =
-1/3*atan(1/3)
然后 vpa(ans,4) 即可
再问: 非常感谢~其实这些就够了。。。但我是matlab新手,好多函数还不明白,能麻烦您说一下char()和vpa()这两个函数是做什么的以及怎么用的吗~?