24小时热门版块排行榜    

查看: 1271  |  回复: 7

dxyan

木虫 (正式写手)

[交流] 【求助】关于MATLAB解三次方程 已有3人参与

第一种
syms z
a=0.013583
b=0.0010855
f=z^3-z^2+z*(a-b-b^2)-a*b
s=solve(f,'z')
x=vpa(s,6)
第二种
f=sym('z^3-z^2+z*(0.013583-0.0010855-0.0010855^2)-0.013583*0.0010855=0')
s=solve(f,'z')
d=vpa(s,6)

这两种:第一种解下下来是三个虚根,第二种是三个实根,而且虚根的实部是和实根一样的?为什么呢?因为程序a,b需要不断赋新值,故要采用第一种方法,可是这两种那种计算正确呢。
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiegangmai

版主 (职业作家)

我没头衔

优秀版主优秀版主优秀版主


anyuezhiji(金币+1):欢迎应助 2010-04-23 14:54
带入方程验证一下就知道了,第二种方法计算出来的正确。

建议先用solve求解出来,然后用subs替换a、b,得到结果
给个简单的例子

syms a b x;
s = solve('x^3-x^2+x*(a-b-b^2)-a*b=0');
result = subs(s,{a,b},{[0.013583,1,2,3],[0.0010855,3,2,1]})
明德厚学、求是创新
2楼2010-04-23 14:53:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiegangmai

版主 (职业作家)

我没头衔

优秀版主优秀版主优秀版主

求解结果是

result =

   0.9874 - 0.0000i   3.9651 + 0.0000i   2.8751             1.5747         
   0.0113 + 0.0000i  -0.2820 - 0.0000i  -0.9376 - 0.7157i  -0.2874 - 1.3500i
   0.0013 - 0.0000i  -2.6831 + 0.0000i  -0.9376 + 0.7157i  -0.2874 + 1.3500i
每一列对应为一个系数a和b的解。
明德厚学、求是创新
3楼2010-04-23 14:54:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dxyan

木虫 (正式写手)

还是用虚根形式表达的呀,我的目的是计算出根,提取实根,再比较大小。虽然解值虚根部分是0,但这样是的算是虚根呢还是实根,不论怎样,这种虚根的表达方式(虚根部分是0)没法将实根提取出来。
引用回帖:
Originally posted by xiegangmai at 2010-04-23 14:54:31:
求解结果是

result =

   0.9874 - 0.0000i   3.9651 + 0.0000i   2.8751             1.5747         
   0.0113 + 0.0000i  -0.2820 - 0.0000i  -0.9376 - 0.7157i  -0.2874 - 1.3500i
   0.0013 - 0.0 ...

4楼2010-04-23 15:46:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiegangmai

版主 (职业作家)

我没头衔

优秀版主优秀版主优秀版主

★ ★
dxyan(金币+5): 2010-04-23 19:36
adu886886(金币+2):谢谢提供意见 2010-04-24 11:09
你能保证你带入的系数计算出来的解都是实数值吗?
第一列中是你需要的解,虚部为零。

如果只需要实部,用real函数就可以了。
明德厚学、求是创新
5楼2010-04-23 17:14:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dxyan

木虫 (正式写手)

不能保证方程解出的根都是实根,所以求出实根后,用如下程序提取实根

提取实根比较
第一种
syms z
a=0.013583
b=0.0010855
f=z^3-z^2+z*(a-b-b^2)-a*b
x=solve(f,'z')
x=double(x)
for k=1:length(x)
    y(k) = isreal(x(k));
end
X_real=x(y)

第二种
f=sym('z^3-z^2+z*(0.013583-0.0010855-0.0010855^2)-0.013583*0.0010855=0')
s=solve(f,'z')
x=double(s)
for k=1:length(x)
    y(k) = isreal(x(k));
end
X_real=x(y)
第一种无法提取实根,第二种可以
引用回帖:
Originally posted by xiegangmai at 2010-04-23 17:14:14:
你能保证你带入的系数计算出来的解都是实数值吗?
第一列中是你需要的解,虚部为零。

如果只需要实部,用real函数就可以了。

6楼2010-04-23 19:35:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xiegangmai

版主 (职业作家)

我没头衔

优秀版主优秀版主优秀版主


anyuezhiji(金币+1):谢谢提供意见 2010-04-24 20:34
dxyan(金币+5): 2010-04-27 11:40

楼主真有意思。你先用isreal判断计算出的结果是否是实数,再对x中的实数取实数部分?
这样做有什么意思呢?

用isreal得到的y(k)是个逻辑数组,能用作x中元素的引用吗?

[ Last edited by xiegangmai on 2010-4-24 at 17:21 ]
明德厚学、求是创新
7楼2010-04-24 17:19:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ytudou

银虫 (小有名气)


小木虫: 金币+0.5, 给个红包,谢谢回帖
引用回帖:
7楼: Originally posted by xiegangmai at 2010-04-24 17:19:25

楼主真有意思。你先用isreal判断计算出的结果是否是实数,再对x中的实数取实数部分?
这样做有什么意思呢?

用isreal得到的y(k)是个逻辑数组,能用作x中元素的引用吗?
...

请教一下,matlab能计算二元高次方程吗?如何计算呢?
要给力啊,MS~LAMMPS~
8楼2013-10-11 10:23:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 dxyan 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 材料学调剂 +7 提神豆沙包 2026-02-28 9/450 2026-03-01 11:50 by 王伟要上岸啊
[考研] 调剂 +3 简木ChuFront 2026-02-28 3/150 2026-03-01 11:46 by 王伟要上岸啊
[考研] 材料类求调剂 +8 wana_kiko 2026-02-28 8/400 2026-03-01 11:44 by 王伟要上岸啊
[考研] 302材料工程求调剂 +3 Doleres 2026-03-01 4/200 2026-03-01 11:38 by 王伟要上岸啊
[考研] 材料化工调剂 +6 今夏不夏 2026-03-01 6/300 2026-03-01 11:28 by gaoxiaoniuma
[考研] 0856求调剂285 +6 吕仔龙 2026-02-28 6/300 2026-03-01 10:03 by wang_dand
[硕博家园] 博士自荐 +6 科研狗111 2026-02-26 10/500 2026-03-01 10:02 by 科研狗111
[考研] 272求调剂 +4 材紫有化 2026-02-28 4/200 2026-03-01 09:20 by L135790
[论文投稿] 求助coordination chemistry reviews 的写作模板 10+3 ljplijiapeng 2026-02-27 4/200 2026-03-01 09:07 by babero
[论文投稿] Optics letters投稿被拒求助 30+3 luckyry 2026-02-26 4/200 2026-03-01 09:06 by babero
[考研] 298求调剂 +5 axyz3 2026-02-28 5/250 2026-03-01 06:45 by 刘兵
[考研] 272求调剂 +4 田智友 2026-02-28 4/200 2026-03-01 06:43 by 刘兵
[考研] 285求调剂 +6 满头大汗的学生 2026-02-28 6/300 2026-03-01 06:29 by Trying]
[考研] 292求调剂 +3 yhk_819 2026-02-28 3/150 2026-02-28 21:57 by gaoxiaoniuma
[考研] 295求调剂 +5 19171856320 2026-02-28 5/250 2026-02-28 21:39 by gaoxiaoniuma
[考研] 264求调剂 +3 巴拉巴拉根556 2026-02-28 3/150 2026-02-28 21:31 by gaoxiaoniuma
[考研] 276求调剂 +3 路lyh123 2026-02-28 4/200 2026-02-28 19:45 by 路lyh123
[考研] 0856调剂 +3 刘梦微 2026-02-28 3/150 2026-02-28 13:22 by houyaoxu
[基金申请] 面上可以超过30页吧? +12 阿拉贡aragon 2026-02-22 13/650 2026-02-26 22:09 by Hahaxia
[硕博家园] 【博士招生】太原理工大学2026化工博士 +4 N1ce_try 2026-02-24 8/400 2026-02-26 08:40 by N1ce_try
信息提示
请填处理意见