如何用matlab求函数的最大零点?

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/01 18:33:09
如何用matlab求函数的最大零点?

如何用matlab求函数的最大零点?
如何用matlab求函数的最大零点?

如何用matlab求函数的最大零点?
打开matlab 输入一个函数,比如求函数:y=x^3+2*x^2-6 的 零点
直接解方程即可:
>> solve('x^3+2*x^2-6=0','x')
得到一个ans 有三个值 但是数值比较大 而且没化简 使用化简命令 vpa()
>> vpa(ans,4) 4是保留四位精度 得到
ans =
1.339
-1.671+1.299*i
-1.671-1.299*i
这三个解 谁大谁大谁小 一目了然 如果你分不清大小 那么可以用sort(ans) 进行排序 嘿嘿
你还可以使用 fzero( )函数来找零点,当然这个一般情况下是找实数根:
>> fzero(@(x)x^3+2*x^2-6,[0,3]) 这个@(x)是一种标记,表示对x求根,后面那个是区间,意 思是在哪个范围内求根
ans =
1.3403 答案和上面有点不一样 因为上面的是用vpa保留了精度为小数点后3位,你可以修改下变成4位即可
因此 你要求最大零点,第一种方法就是求出的零点先化简再排序,第二种方法就是把区间弄宽点,就能解出来了,然后直接排序