24小时热门版块排行榜    

查看: 7200  |  回复: 1

盒子和树

新虫 (初入文坛)

[求助] matlab求解一元三次方程 已有1人参与

我用matlab求解一个一元三次方程,想用root函数,具体如下:
>>r=[(4/3)*3.1415926,3.1415936,0,-0.3095];
>>roots(r)
得到了三个解

ans =

  -0.5096 + 0.1213i
  -0.5096 - 0.1213i
   0.2692 + 0.0000i

但是我只想在程序中得到正实数解,应该怎么写?

(ps:这个方程的过程以及求出来的解需要用在一个程序中,所以只能取一个正解)
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

独孤神宇

版主 (知名作家)

【答案】应助回帖

感谢参与,应助指数 +1
r=[(4/3)*3.1415926,3.1415936,0,-0.3095];
y=roots(r);
y1=imag(y);
M=length(y);
for i=1:M
if y1(i)==0
yy=y(i)
end
end
数值计算
2楼2018-01-16 18:22:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 盒子和树 的主题更新
信息提示
请填处理意见