声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1761|回复: 11

[编程技巧] 如何求解这个方程组?

[复制链接]
发表于 2007-5-13 15:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
请教如何求解这个方程组?四个未知数,四个方程
70640*x1-35.4*x1*x2+6.32*x4-7584=0;
70640*x1+35.4*x2-70.8*x3-6.32*x4+126.4=0;
10.31*((3*x2-x3)/2+273)^4*10^(-8)-10.31*((1200+x4)/2+273)^4*10^(-8)+6.32*x4-7584=0;
10.31*((x2+x3)/2+273)^4*10^(-8)-10.31*((x4+20)/2+273)^4*10^(-8)-6.32*x4+126.4=0;
用solve函数去解还是用fsolve? 用solve求解时如何取实数解而去除复数解?谢谢
回复
分享到:

使用道具 举报

发表于 2007-5-13 16:30 | 显示全部楼层
看看这样行不行:::
function F=myfun(x)

F=[70640*x(1)-35.4*x(1)*x(2)+6.32*x(4)-7584
70640*x(1)+35.4*x(2)-70.8*x(3)-6.32*x(4)+126.4
10.31*((3*x(2)-x(3))/2+273)^4*10^(-8)-10.31*((1200+x(4))/2+273)^4*10^(-8)+6.32*x(4)-7584
10.31*((x(2)+x(3))/2+273)^4*10^(-8)-10.31*((x(4)+20)/2+273)^4*10^(-8)-6.32*x(4)+126.4]
>> fsolve(@myfun,[0 2 3 4])
ans =

    0.0572 -880.8499 -422.0419 -111.3073
发表于 2007-5-13 16:31 | 显示全部楼层
“如何取实数解而去除复数解?”---这个问题好像前几天已经回答过了。
另: 这个问题本身还是有意思的: solve求解时,可发现有多个实数解.
     当我用fsolve或1stOpt均只求得了一组实数解, 当然,后者得到的解更好,因为前者涉及初值选取问题...

[ 本帖最后由 xjzuo 于 2007-5-13 16:33 编辑 ]
发表于 2007-5-13 20:25 | 显示全部楼层
从第一个方程求得x4,带入第二个方程得到x3,然后把x3,x4代到后两个方程中,这样是不是简化了原问题
对于数学问题,应该先简化,再变成求解,这样更利于发现问题、检验结果
 楼主| 发表于 2007-5-13 20:37 | 显示全部楼层
2楼主的求解结果好像不对,因为x2/x3/x4都应该在20~1200之间的值

[ 本帖最后由 xinyuxf 于 2007-5-14 16:35 编辑 ]
 楼主| 发表于 2007-5-13 20:49 | 显示全部楼层
“如何取实数解而去除复数解?”---这个问题好像前几天已经回答过了。
另: 这个问题本身还是有意思的: solve求解时,可发现有多个实数解.
     当我用fsolve或1stOpt均只求得了一组实数解, 当然,后者得到的解更好,因为前者涉及初值选取问题...

呵呵,不好意思,我没看到前几天的回答。不过我还想问下,1stOpt和fsolve一样是要写成函数形式吗?4楼楼主可有例子否?谢谢
 楼主| 发表于 2007-5-13 21:26 | 显示全部楼层
4楼楼主能否帮解一下这个题,不胜感激!
发表于 2007-5-13 22:56 | 显示全部楼层
x1: -0.000241706960823913
x2: 918.2958885897
x3: 353.443268754893
x4: 1201.45836210702
 楼主| 发表于 2007-5-14 08:18 | 显示全部楼层
9楼楼主是用什么方法解出的该题?能否给个详细的程序,谢谢!因我要求的变量很多,这只是一个简化式
 楼主| 发表于 2007-5-14 08:20 | 显示全部楼层
还有,我用solve函数求解的结果如下:
程序:[x1,x2,x3,x4]=solve('70640*x1-35.4*x1*x2+6.32*x4-7584=0','70640*x1+35.4*x2-70.8*x3-6.32*x4+126.4=0','10.31*((3*x2-x3)/2+273)^4*10^(-8)-10.31*((1200+x4)/2+273)^4*10^(-8)+6.32*x4-7584=0','10.31*((x2+x3)/2+273)^4*10^(-8)-10.31*((x4+20)/2+273)^4*10^(-8)-6.32*x4+126.4=0')
运算结果:
x1 =
[                                         .44300171279956188715207106618823e-1]
[  .61762288503275352219106979284710e-1-.52423652873332999430680811986837e-1*i]
[  .61762288503275352219106979284710e-1+.52423652873332999430680811986837e-1*i]
[                                            .20020603951839662415378199545087]
[     .11555622487442888856341671928067+.44770683254687585575820101003185e-1*i]
[     .11555622487442888856341671928067-.44770683254687585575820101003185e-1*i]
[ -.25022628701363595878797805922225e-2-.99663553352430370495343916750051e-2*i]
[ -.25022628701363595878797805922225e-2+.99663553352430370495343916750051e-2*i]
[     .15944128005185490869364679165593-.85274283207050021877488448424359e-1*i]
[     .15944128005185490869364679165593+.85274283207050021877488448424359e-1*i]
[     .20426618937097621823908773845434-.25941634661274565261539763451475e-1*i]
[     .20426618937097621823908773845434+.25941634661274565261539763451475e-1*i]
[     .21010750883153466004161645791375+.65600318105008557764499433368190e-1*i]
[     .21010750883153466004161645791375-.65600318105008557764499433368190e-1*i]
[        .56125814802840279002360934818837-.20317146110219137538628231997514*i]
[        .56125814802840279002360934818837+.20317146110219137538628231997514*i]
[                                        -.24170696082375642684110818367970e-3]
[        .49331649688815696233713904602841-3.2168218254962241651508083638211*i]
[        .49331649688815696233713904602841+3.2168218254962241651508083638211*i]
[        .82678228176581688537582884465577+3.1880199682255099547696403881248*i]
[        .82678228176581688537582884465577-3.1880199682255099547696403881248*i]
[        .59946921490619215586880943949833-5.9381569398808699598817474505470*i]
[        .59946921490619215586880943949833+5.9381569398808699598817474505470*i]
[        .93488468355630039919695309834150+5.9282690191165010464182576577323*i]
[        .93488468355630039919695309834150-5.9282690191165010464182576577323*i]
[        .90231859851227803161072302527373-1.3650513072661349066090988765904*i]
[        .90231859851227803161072302527373+1.3650513072661349066090988765904*i]
[                                            1.0806275044714100160128208256192]
x2 =
[                                     -1094.3708398628937177957257148031]
[ -928.91111813914449747550130921879-328.64862187341210613890671220235*i]
[ -928.91111813914449747550130921879+328.64862187341210613890671220235*i]
[                                     -596.60766455608992525570175078249]
[ -515.93637209845740034161916099521-502.63037373643738677564584335005*i]
[ -515.93637209845740034161916099521+502.63037373643738677564584335005*i]
[ -205.14131330357184563514579220979-1173.5413456163890677536691853223*i]
[ -205.14131330357184563514579220979+1173.5413456163890677536691853223*i]
[ -109.64106788457515451339778164469-479.89323462767405926523827876392*i]
[ -109.64106788457515451339778164469+479.89323462767405926523827876392*i]
[ -82.677021240635624562009061848078-497.02899843879017588596084414572*i]
[ -82.677021240635624562009061848078+497.02899843879017588596084414572*i]
[  209.82140016395878078565966150817-379.65731308181834336709959125238*i]
[  209.82140016395878078565966150817+379.65731308181834336709959125238*i]
[  728.24306673058606931790978311244-260.01355912388359504477431283268*i]
[  728.24306673058606931790978311244+260.01355912388359504477431283268*i]
[                                      918.29588858970104219575926307036]
[  1731.3215418546002915144704019057-282.18777635869126441665382484132*i]
[  1731.3215418546002915144704019057+282.18777635869126441665382484132*i]
[  1814.3144102875660692366814880555-134.24307597951008869500979505741*i]
[  1814.3144102875660692366814880555+134.24307597951008869500979505741*i]
[  2118.1761130956338497308480118290-241.38455001450558099584554874412*i]
[  2118.1761130956338497308480118290+241.38455001450558099584554874412*i]
[  2165.2092853598216383239458574474-52.191081982951966469018197256918*i]
[  2165.2092853598216383239458574474+52.191081982951966469018197256918*i]
[  2233.6458639054375693312897106850-630.84672949826171146992272471877*i]
[  2233.6458639054375693312897106850+630.84672949826171146992272471877*i]
[                                      2532.9616503744096517298210681707]
x3 =
[                                     -539.87822964285722559966803197515]
[ -409.24314811140987560445980426905-283.13408512311607986237739490483*i]
[ -409.24314811140987560445980426905+283.13408512311607986237739490483*i]
[                                      55.592256204641943883740205883717]
[ -114.15308056655203253019401592202-121.38572753398684565370191138735*i]
[ -114.15308056655203253019401592202+121.38572753398684565370191138735*i]
[ -207.30589978290126636425198851216-609.14884788386278498868013477010*i]
[ -207.30589978290126636425198851216+609.14884788386278498868013477010*i]
[  187.20998617846050021746062116164-376.52714916719124249361339432457*i]
[  187.20998617846050021746062116164+376.52714916719124249361339432457*i]
[  275.82823015965828398908641036285-250.58979699676278975520826362496*i]
[  275.82823015965828398908641036285+250.58979699676278975520826362496*i]
[  384.34739985519271639370120508913-25.922268111145611525184292713045*i]
[  384.34739985519271639370120508913+25.922268111145611525184292713045*i]
[  1200.8152259806000382505737319484-388.48494439592795697924370162206*i]
[  1200.8152259806000382505737319484+388.48494439592795697924370162206*i]
[                                      353.44326875489354002893690523695]
[  1771.5599122203860880563195040792-3705.9178274421448056770965273320*i]
[  1771.5599122203860880563195040792+3705.9178274421448056770965273320*i]
[  1487.6452588735310745890455105875+3457.9688826781505862997459916988*i]
[  1487.6452588735310745890455105875-3457.9688826781505862997459916988*i]
[  2231.7826722978447981624244699865-5608.7846310788993935112331254379*i]
[  2231.7826722978447981624244699865+5608.7846310788993935112331254379*i]
[  1676.0033229776367575414348917081+5410.0728194279732280987629992888*i]
[  1676.0033229776367575414348917081-5410.0728194279732280987629992888*i]
[  2234.8874931396070913956937560729-1230.2232841934096309766420492497*i]
[  2234.8874931396070913956937560729+1230.2232841934096309766420492497*i]
[                                      1948.9242951031450517544077418326]
x4 =
[                                      433.29351689619606540032221065890]
[  91.811608233144756791253926040406+745.01980592177006600565338426400*i]
[  91.811608233144756791253926040406-745.01980592177006600565338426400*i]
[                                     -1706.7861444611859890502355056357]
[ -299.49647832972331975250394334881-955.12731894817781242086006226301*i]
[ -299.49647832972331975250394334881+955.12731894817781242086006226301*i]
[  1165.3315450216034623128246900949+139.29611621451646226891692300515*i]
[  1165.3315450216034623128246900949-139.29611621451646226891692300515*i]
[ -909.24506355790081250811457055235+576.91871668852289954629893247474*i]
[ -909.24506355790081250811457055235-576.91871668852289954629893247474*i]
[ -1249.9432958950233480242532909331-266.70664396120284838124014372210*i]
[ -1249.9432958950233480242532909331+266.70664396120284838124014372210*i]
[ -761.98163292466694549397258162880-1102.9376313116227118240565875193*i]
[ -761.98163292466694549397258162880+1102.9376313116227118240565875193*i]
[ -3079.7844715881903112371597379332+624.71868006130084371178169581028*i]
[ -3079.7844715881903112371597379332-624.71868006130084371178169581028*i]
[                                      1201.4583621070196369761216993385]
[ -4614.4591555966893821645041851111+3979.9432194229282366037635942084*i]
[ -4614.4591555966893821645041851111-3979.9432194229282366037635942084*i]
[  2758.1876866884720811744702712115-3856.7517765565973805218300538246*i]
[  2758.1876866884720811744702712115+3856.7517765565973805218300538246*i]
[ -6416.7521288178100536162870332499-4891.5296555873535558076371916425*i]
[ -6416.7521288178100536162870332499+4891.5296555873535558076371916425*i]
[  3821.8397913509594560137436530933+5362.6904418817452146503253812771*i]
[  3821.8397913509594560137436530933-5362.6904418817452146503253812771*i]
[ -2419.7444830892993613142385548067-5009.3971595925367904676822801444*i]
[ -2419.7444830892993613142385548067+5009.3971595925367904676822801444*i]
[                                      4453.3115895271891674318450653855]

好像包含你给出的解,请问如何剔除复数解?
 楼主| 发表于 2007-5-14 13:53 | 显示全部楼层
是不是都不在啊???没有人回复
发表于 2007-5-14 15:41 | 显示全部楼层
用subs转成数值,在参考这个帖子
http://forum.vibunion.com/forum/ ... =%CC%D8%D5%F7%D6%B5
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-19 06:40 , Processed in 0.061858 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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