| 7 | 1/1 | 返回列表 |
| 查看: 1340 | 回復(fù): 6 | |||
zidingxiang金蟲 (小有名氣)
|
[求助]
matlab解非線性方程組程序糾錯(cuò)與正確運(yùn)行 已有1人參與
|
|
大家好,我遇到一個(gè)解六元一次非線性方程組的問題,如果能指正錯(cuò)誤并使程序運(yùn)行出正確結(jié)果,將不勝感激!。。。! 希望各位能盡快幫忙解決。matlab程序和運(yùn)行后出現(xiàn)的問題具體如下: 1.首先建立函數(shù)F,儲(chǔ)存方程組編程如下將F.m保存到工作路徑中: function f=F(x) syms x1 x2 x3 x4 x5 x6 f(1) = x1+x2*20+x3*20^2+(x4+x5*20)/(0.6438^2-x6^2) - 2*1.620015*(1.620015^2-1)*(-3.240); f(2) = x1+x2*20+x3*20^2+(x4+x5*20)/(0.6328^2-x6^2) - 2*1.620507*(1.620507^2-1)*(-2.900); f(3) = x1+x2*20+x3*20^2+(x4+x5*20)/(0.5893^2-x6^2) - 2*1.622702*(1.622702^2-1)*(-2.700); f(4) = x1+x2*20+x3*20^2+(x4+x5*20)/(0.5461^2-x6^2) - 2*1.625401*(1.625401^2-1)*(-2.523); f(5) = x1+x2*20+x3*20^2+(x4+x5*20)/(0.4800^2-x6^2) - 2*1.631029*(1.631029^2-1)*(-2.618); f(6) = x1+x2*20+x3*20^2+(x4+x5*20)/(0.4358^2-x6^2) - 2*1.636369*(1.636369^2-1)*(-2.691); f=[f(1) f(2) f(3) f(4) f(5) f(6)]; end 2.建立函數(shù)dF,用來求方程組的雅克比矩陣將dF.m保存到工作路徑中: function df=dF(x) f=F(x); df=[diff(f,'x1');diff(f,'x2');diff(f,'x3');diff(f,'x4');diff(f,'x5');diff(f,'x6')]; df=conj(df'); 3.編程牛頓法求解非線性方程組將newton.m保存到工作路徑中: function x=newton(x0,eps,N) con=0; %其中x0為迭代初值eps為精度要求N為最大迭代步數(shù)con用來記錄結(jié)果是否收斂 for i=1:N; f=subs(F(x0),{'x1' 'x2' 'x3' 'x4' 'x5' 'x6'},{x0(1) x0(2) x0(3) x0(4) x0(5) x0(6)}); df=subs(dF(x0),{'x1' 'x2' 'x3' 'x4' 'x5' 'x6'},{x0(1) x0(2) x0(3) x0(4) x0(5) x0(6)}); x=x0-f/df; for j=1: length(x0); il(i,j)=x(j); end if norm(x-x0)<eps con=1; break; end x0=x; end 4.%以下是將迭代過程寫入txt文檔文件名為iteration.txt fid=fopen('iteration.txt','w'); fprintf(fid,'iteration'); for j=1: length(x0) fprintf(fid,' x%d',j); end for j=1:i fprintf(fid,'\n%6d ',j); for k=1: length(x0) fprintf(fid,' %10.6f',il(j,k)); end end if con==1 fprintf(fid,'\n計(jì)算結(jié)果收斂!'); end if con==0 fprintf(fid,'\n迭代步數(shù)過多可能不收斂!'); end fclose(fid); 5.運(yùn)行程序 在matlab中輸入以下內(nèi)容: newton( [-3e-05,-1.5e-08,-5.0e-11,3.0e-07,2.0e-10,-5.0e-1]',1.0e-15,10000) 運(yùn)行后出現(xiàn)如下錯(cuò)誤: Warning: Matrix is singular to working precision. > In newton at 7 ??? Error using ==> minus Matrix dimensions must agree. Error in ==> newton at 7 x=x0-f/df; |
程序 |

金蟲 (小有名氣)

金蟲 (小有名氣)
|
程序中方程組有錯(cuò)誤,更正后的方程組為: f(1) = x1+x2*20+x3*20^2+(x4+x5*20)/(0.6438^2-x6^2) - 2*1.620015/(1.620015^2-1)*(-0.87+2.6); f(2) = x1+x2/20+x3*20^2+(x4+x5*20)/(0.6328^2-x6^2) - 2*1.620507/(1.620507^2-1)*(-0.87+2.7); f(3) = x1+x2*20+x3*20^2+(x4+x5*20)/(0.5893^2-x6^2) - 2*1.622702/(1.622702^2-1)*(-0.87+2.8); f(4) = x1+x2*20+x3*20^2+(x4+x5*20)/(0.5461^2-x6^2) - 2*1.625401/(1.625401^2-1)*(-0.87+2.9); f(5) = x1+x2*20+x3*20^2+(x4+x5*20)/(0.4800^2-x6^2) - 2*1.631029/(1.631029^2-1)*(-0.88+3.3); f(6) = x1+x2*20+x3*20^2+(x4+x5*20)/(0.4358^2-x6^2) - 2*1.636369/(1.636369^2-1)*(-0.88+3.6); 哪位高手能給指點(diǎn)一下呢?非常著急!其它能求解的程序也可以哦! |

鐵桿木蟲 (職業(yè)作家)
|
1:沒有精確解; 2:解不唯一: 1) x1: 2.88957802502212 x2: -0.00606779269454531 x3: -0.0021475788429129 x4: 104.239194493169 x5: -5.17957855521604 x6: 4.2688217005944E-9 2) x1: -5.06785191315175 x2: -0.00606779274435797 x3: 0.0177459960035543 x4: -1513.24941425117 x5: 75.6948518819933 x6: -1.71163956718315E-10 3) x1: 10.534663792856 x2: -0.00606779266347315 x3: -0.021260293280603 x4: 0.548566738471594 x5: 0.00495283260003713 x6: 0 |
金蟲 (小有名氣)
|
結(jié)果應(yīng)在初值附近,但數(shù)量級(jí)好像差很遠(yuǎn)呢!這位老師能否給一個(gè)包含“每個(gè)自變量取值范圍”的完整程序呢?我想把每個(gè)變量的取值范圍都定義,這樣結(jié)果范圍就縮小了。不勝感激哦!發(fā)郵箱也可以:violetmojiezuo@163.com |

金蟲 (小有名氣)
送紅花一朵 |
結(jié)果應(yīng)在初值附近,但數(shù)量級(jí)好像差很遠(yuǎn)呢!這位老師能否給一個(gè)包含“每個(gè)自變量取值范圍”的完整程序呢?我想把每個(gè)變量的取值范圍都定義,這樣結(jié)果范圍就縮小了。不勝感激哦!發(fā)郵箱也可以:violetmojiezuo@163.com |

|
本帖內(nèi)容被屏蔽 |
| 7 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 318求調(diào)劑 +4 | plum李子 2026-03-21 | 7/350 |
|
|---|---|---|---|---|
|
[考研] 303求調(diào)劑 +5 | 安憶靈 2026-03-22 | 6/300 |
|
|
[考研] 285求調(diào)劑 +6 | ytter 2026-03-22 | 6/300 |
|
|
[考研] 305分求調(diào)劑(食品工程) +3 | Sxy112 2026-03-21 | 5/250 |
|
|
[考研] 08工科 320總分 求調(diào)劑 +7 | 梨花珞晚風(fēng) 2026-03-17 | 7/350 |
|
|
[考研] 生物學(xué)071000 329分求調(diào)劑 +4 | 我愛生物生物愛?/a> 2026-03-17 | 4/200 |
|
|
[考研] 一志愿重慶大學(xué)085700資源與環(huán)境總分308求調(diào)劑 +7 | 墨墨漠 2026-03-20 | 7/350 |
|
|
[考研] 求調(diào)劑 +3 | 白QF 2026-03-21 | 3/150 |
|
|
[考研] 332求調(diào)劑 +4 | ydfyh 2026-03-17 | 4/200 |
|
|
[考研] 材料專業(yè)求調(diào)劑 +6 | hanamiko 2026-03-18 | 6/300 |
|
|
[考研] 330求調(diào)劑 +4 | 小材化本科 2026-03-18 | 4/200 |
|
|
[考研] 290求調(diào)劑 +7 | ^O^乜 2026-03-19 | 7/350 |
|
|
[考研] 一志愿南理工085701環(huán)境302求調(diào)劑院校 +3 | 葵梓衛(wèi)隊(duì) 2026-03-20 | 3/150 |
|
|
[考研] 工科材料085601 279求調(diào)劑 +7 | 困于星晨 2026-03-17 | 9/450 |
|
|
[考研] 材料學(xué)碩318求調(diào)劑 +5 | February_Feb 2026-03-19 | 5/250 |
|
|
[考研] 0703化學(xué)調(diào)劑 +4 | 18889395102 2026-03-18 | 4/200 |
|
|
[考研] 312求調(diào)劑 +8 | 陌宸希 2026-03-16 | 9/450 |
|
|
[考研] 材料,紡織,生物(0856、0710),化學(xué)招生啦 +3 | Eember. 2026-03-17 | 9/450 |
|
|
[考研] 321求調(diào)劑 +5 | 大米飯! 2026-03-15 | 5/250 |
|
|
[考研] 070300化學(xué)學(xué)碩求調(diào)劑 +6 | 太想進(jìn)步了0608 2026-03-16 | 6/300 |
|