找回密码
 注册
Simdroid-非首页
查看: 86|回复: 4

[工程数学] 五元低次方程组解不出求救,附matlab与mathematica代码[已解决]

[复制链接]
发表于 2009-3-25 13:56:05 | 显示全部楼层 |阅读模式 来自 湖北武汉
本帖最后由 goldbridge 于 2009-3-26 18:57 编辑

一个比较简单的五元方程

用matlab解,a=b=c=0,d=z1,e=z,居然解中包含字母……;
用mathematica解结果为空的括号,没有提示信息。

只要解出即可,数值解,近似解也没关系,望大虾帮忙看看

附:
matlab代码:
syms a b c d e;
[a,b,c,d,e]=solve('c*0.5086/(a+b*0.5086^2)+0.5086*d+e=0.4871','c*0.5512/(a+b*0.5512^2)+0.5512*d+e=0.5032','c*0.6872/(a+b*0.6872^2)+0.6872*d+e=0.5176','c*0.7006/(a+b*0.7006^2)+0.7006*d+e=0.5158','c*0.8532/(a+b*0.8532^2)+0.8532*d+e=1.0199');

mathematica代码:
Solve[{c*0.5086/(a + b*0.2587) + 0.5086*d + e == 0.4871,
  c*0.5512/(a + b*0.3038) + 0.5512*d + e == 0.5032,
  c*0.6872/(a + b*0.4722) + 0.6872*d + e == 0.5176,
  c*0.7006/(a + b*0.4908) + 0.7006*d + e == 0.5158,
  c*0.8532/(a + b*0.7280) + 0.8532*d + e == 1.0199}, {a, b, c, d, e}]


已验证,这是相对误差
4.51598082018556e-06    1.49970687376433e-05    0.00753303114838677    5.55410227337516e-05    0.000206738200644985
非常精准
两天来在论坛上解决了我2个问题,非常感谢,好的论坛。
凡是解决了的问题我都会在帖子中表明的,并附上代码,以便后来者之需

附matlab验证代码:
clear;
x=[0.5086    0.5512    0.6872    0.7006    0.8532];
y=[0.4871     0.5032    0.5176    0.5158    1.0199];

a=2.48790687030621;
b=-3.79322585999422;
c=-0.0990590826327185;
d=0.552541146091743;
e=0.239518089966946;

y1=c.*x./(a+b.*x.^2)+d.*x+e;
error1=abs(1-y1./y);


发表于 2009-3-25 15:16:42 | 显示全部楼层 来自 新加坡
Simdroid开发平台
建议matlab代码中的方程,改为方程两边乘以(a+b*beta*beta)之后再求解。
LZ可以试一试。
回复 不支持

使用道具 举报

 楼主| 发表于 2009-3-25 16:36:20 | 显示全部楼层 来自 湖北武汉
这个思路已经尝试了,同样的问题
建议matlab代码中的方程,改为方程两边乘以(a+b*beta*beta)之后再求解。
LZ可以试一试。
zsq-w 发表于 2009-3-25 15:16
回复 不支持

使用道具 举报

发表于 2009-4-1 19:19:27 | 显示全部楼层 来自 新加坡
lz是如何解决的?
回复 不支持

使用道具 举报

发表于 2009-4-2 16:59:40 | 显示全部楼层 来自 北京
我也很想知道,LZ是如何解决的,能否分享一下?
回复 不支持

使用道具 举报

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

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-5-23 21:52 , Processed in 0.041865 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表