关于用matlab 求一个高次方程! 很简单的- 谁来回答下!

[复制链接]
查看11 | 回复2 | 2009-3-27 15:17:57 | 显示全部楼层 |阅读模式
function e=e(x)
e=x^4+10*x^3+37*x^2+102.055x+120.0;
fsolve(e=0);
roots(e);
不会用matlab 想解一个一元高次方程-方程如上面 怎么解啊!

回复

使用道具 举报

千问 | 2009-3-27 15:17:57 | 显示全部楼层
先定义符号变量,用solve看是否有解析解,没有可以用fsolve解数值解。>> syms x>> e=x^4+10*x^3+37*x^2+102.055*x+120 e = x^4 + 10*x^3 + 37*x^2 + (20411*x)/200 + 120 >> solve(e)ans =- (3*((3^(1/2)*134692303226362507^(1/2))/720000 + 1879754867/2160000)^(1/3) + 9*((3^(1/2)*134692303226362507^(1/2))/720000 + 1879754867/2160000)^(2/3) - 5053/...
回复

使用道具 举报

千问 | 2009-3-27 15:17:57 | 显示全部楼层
最简单的方法是用矩阵来表示多项式: p=[1,10,37,102.055,120];%注意要按照降幂来排列啊 roots(p); p 结果: ans=6.1749 -0.9139 + 2.9823i -0.9139 - 2.9823i -1.9974...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行