24小时热门版块排行榜    

查看: 878  |  回复: 5

ldoop

铁杆木虫 (著名写手)


[求助] 高手们,请帮忙解一个三元方程组啊,谢谢了

b*x -a -b-sqrt((b*x-a-b)^2-4*ab)=b_0*x_0 -a_0 -b_0-sqrt((b_0*x_0-a_0-b_0)^2-4*a_0*b_0
b*x -a -b+sqrt((b*x-a-b)^2-4ab)=b0*x0 -a0 -b0+sqrt((b0*x0-a0-b_0)^2-4*a_0*b_0
x*b/(a+b+2*sqrt(a*b))=b_0*x_0/(a_0+b_0+2*sqrt(a_0*b_0))

其中a_0,b_0,x_0为已知常数,求未知数 a b x

[ Last edited by ldoop on 2013-5-17 at 23:42 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
fegg7502: 金币+2, 应助指数+1, 鼓励交流 2013-05-18 14:43:15
ldoop: 金币+10, 有帮助, 谢谢回复,我是想求得解析解而非数值解,不过还是感谢了,麻烦帮忙研究下是否能求得解析解 2013-05-20 16:26:21
MATLAB程序,复制进一个m文件,F5运行即可,根据自己的需要输入已知参数,即返回相应的解:

function solvenole314
clear all;clc
format long
global a_0 b_0 x_0

a_0=input('请输入已知常数a_0=');
b_0=input('请输入已知常数b_0=');
x_0=input('请输入已知常数x_0=');

aint=input('请输入未知数a的猜想值=');
bint=input('请输入未知数b的猜想值=');
xint=input('请输入未知数x的猜想值=');

options=optimset('TolFun',1e-9,'MaxIter',1000);
x1=fsolve(@fun299792,[aint bint xint],options)



%--------------------------------
function y=fun299792(z)
global a_0 b_0 x_0
a=z(1);
b=z(2);
x=z(3);
y(1)=b*x-a-b-sqrt((b*x-a-b)^2-4*a*b)-(b_0*x_0-a_0-b_0-sqrt((b_0*x_0-a_0-b_0)^2-4*a_0*b_0));
y(2)=b*x-a-b+sqrt((b*x-a-b)^2-4*a*b)-(b_0*x_0-a_0-b_0+sqrt((b_0*x_0-a_0-b_0)^2-4*a_0*b_0));
y(3)=x*b/(a+b+2*sqrt(a*b))-(b_0*x_0/(a_0+b_0+2*sqrt(a_0*b_0)));
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
2楼2013-05-18 09:43:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

★ ★ ★
ldoop(fegg7502代发): 金币+3, 鼓励交流 2013-05-18 14:46:48
一个计算的例子如附件。

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : 附图1.jpg
  • 2013-05-18 09:47:31, 52.57 K
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
3楼2013-05-18 09:47:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

pippi6

铁杆木虫 (著名写手)

工程和科学数值计算咨询

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
ben_ladeng: 金币+2, 欢迎常来 2013-05-19 23:09:22
ldoop: 金币+10, 有帮助, 谢谢回复,我是想求得解析解而非数值解,不过还是感谢了,麻烦帮忙研究下是否能求得解析解 2013-05-20 17:02:46
你这是非线性方程组,最好用Newton法求解。设 三个函数
f1=b*x -a -b-sqrt((b*x-a-b)^2-4*ab)-b_0*x_0 +a_0 +b_0+sqrt((b_0*x_0-a_0-b_0)^2+4*a_0*b_0
f2=b*x -a -b+sqrt((b*x-a-b)^2-4ab)-b0*x0 +a0 +b0-sqrt((b0*x0-a0-b_0)^2+4*a_0*b_3=0
f3=x*b/(a+b+2*sqrt(a*b))-b_0*x_0/(a_0+b_0+2*sqrt(a_0*b_0))
记3X3矩阵
A=∂(f1,f2,f3)/∂(x,a,b)
let dX=(dx,da,db), F=(f1,f2,f3)
解出
dX = -inverse(A) F
然后迭代
x=x+dx
a=a+da
b=b+db
当然,你要给迭代初值。你这里涉及到sqrt函数,所以给初值要小心。应该有经验。
上面是一般方法。实现需要编程。主要的工作是求解3X3的逆矩阵。
4楼2013-05-19 07:30:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ldoop

铁杆木虫 (著名写手)


我用MATHEMATICA 也没有解析出来,但是根据一些数值求解,我推算出来解析解是 a=b_0,  b=a_0, x=x_0*b_0/a_0
5楼2013-05-20 17:05:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

pippi6

铁杆木虫 (著名写手)

工程和科学数值计算咨询

【答案】应助回帖


csgt0: 金币+1, 欢迎交流 2013-05-21 15:36:49
引用回帖:
5楼: Originally posted by ldoop at 2013-05-20 17:05:40
我用MATHEMATICA 也没有解析出来,但是根据一些数值求解,我推算出来解析解是 a=b_0,  b=a_0, x=x_0*b_0/a_0

不要迷恋解析解。实际中遇到的绝大多数方程都没有解析解。从实用观点出发,只要能解就好,没有解析解也没有关系。解析解如果太复杂,也没有什么意义。20多年前,我的一个同事给我一个解析解,用maple做的,解的表达式写了7页纸。从计算速度、简明性上和精度上说,都不如数值解。另外,三元线性方程是有公式解,但也是很复杂。还要判断根的情况。我看都不如newton法。一招制敌。会了这个,基本不需要其他。一隅之见,希望有帮助。
6楼2013-05-21 07:03:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 ldoop 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 看来今天不会放榜了? +8 chengyan1220 2026-08-21 11/550 2026-08-21 17:52 by dcqxinyang
[基金申请] 人气不行了 +7 fansofjerry 2026-08-21 7/350 2026-08-21 14:13 by Vivilian
[基金申请] 感觉是下周放榜了 +7 angus9576 2026-08-17 12/600 2026-08-21 13:38 by weiyin
[基金申请] 我面上完蛋了 +7 且听虎啸 2026-08-20 8/400 2026-08-21 12:31 by 酷酷墨镜
[基金申请] 只有每年这种时候来逛逛小木虫 +23 yaoyewhu2008 2026-08-20 25/1250 2026-08-21 12:19 by Poppy1104
[基金申请] 什么时候开奖? +7 CrisMessi 2026-08-18 7/350 2026-08-21 12:15 by weiyin
[基金申请] 时间戳又变了8-15 +15 archvillain 2026-08-15 27/1350 2026-08-21 11:32 by tim76
[基金申请] 科研孤儿太难了 +15 我4大白菜 2026-08-20 16/800 2026-08-21 11:07 by yming1319
[基金申请] 应该是下周三26日公布了吧? +4 哈哈蛤? 2026-08-21 4/200 2026-08-21 10:58 by Vivilian
[论文投稿] 投稿咨询 +5 wwm09 2026-08-17 7/350 2026-08-21 10:11 by 期刊论文帮手
[基金申请] 今天放榜没戏了吧 +9 yuleib84 2026-08-19 11/550 2026-08-21 10:06 by gltch
[基金申请] 基金啊基金 +4 longfie172 2026-08-20 4/200 2026-08-21 08:58 by mark mao
[基金申请] 时间戳今天,20号变了 +4 archvillain 2026-08-20 4/200 2026-08-21 08:10 by gatelove
[基金申请] 估计是周四 +3 archvillain 2026-08-18 3/150 2026-08-21 01:48 by jnhyjjm
[基金申请] 时间戳变了,能看出什么问题? +18 基诺咪客 2026-08-17 23/1150 2026-08-20 17:19 by Godzela
[基金申请] 2027广东省杰青 +4 奶牛小黑 2026-08-15 10/500 2026-08-19 11:02 by wanfengnew
[基金申请] 朋友圈看到的 +6 wangzilk 2026-08-18 8/400 2026-08-19 10:55 by Haru815
[基金申请] 快农历七夕节了,轻松一下,男人悄悄话,女施主请不要进来。 +6 Tide man 2026-08-14 7/350 2026-08-19 09:56 by ZJTJZ
[基金申请] 今天维护系统维护 祝所有人 高中 +8 gjjjzhong 2026-08-18 9/450 2026-08-18 13:01 by 家与远方
[基金申请] 93BebMhtakh前后11位开头都是大写 +4 且听虎啸 2026-08-17 5/250 2026-08-18 00:49 by 蔡棒棒菂
信息提示
请填处理意见