| 7 | 1/1 | 返回列表 |
| 查看: 1339 | 回復(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ā)表 | |
|---|---|---|---|---|
|
[考研] 一志愿華中科技大學(xué)071000,求調(diào)劑 +4 | 沿岸有貝殼6 2026-03-21 | 4/200 |
|
|---|---|---|---|---|
|
[考研] 考研調(diào)劑 +3 | 呼呼?~+123456 2026-03-21 | 3/150 |
|
|
[考研]
|
Grand777 2026-03-21 | 3/150 |
|
|
[考研] 326求調(diào)劑 +4 | mlpqaz03 2026-03-15 | 4/200 |
|
|
[考研] 求調(diào)劑 +3 | 13341 2026-03-20 | 3/150 |
|
|
[考研] 0805材料320求調(diào)劑 +3 | 深海物語 2026-03-20 | 3/150 |
|
|
[考研] 332求調(diào)劑 +3 | 鳳凰院丁真 2026-03-20 | 3/150 |
|
|
[考研] 316求調(diào)劑 +6 | 梁茜雯 2026-03-19 | 6/300 |
|
|
[考研] 一志愿華中科技大學(xué),080502,354分求調(diào)劑 +5 | 守候夕陽CF 2026-03-18 | 5/250 |
|
|
[考研] 一志愿武理材料305分求調(diào)劑 +6 | 想上岸的鯉魚 2026-03-18 | 7/350 |
|
|
[考研] 295求調(diào)劑 +4 | 一志愿京區(qū)211 2026-03-18 | 6/300 |
|
|
[考研] 330求調(diào)劑 +4 | 小材化本科 2026-03-18 | 4/200 |
|
|
[考研]
|
然11 2026-03-19 | 4/200 |
|
|
[考研] 中南大學(xué)化學(xué)學(xué)碩337求調(diào)劑 +3 | niko- 2026-03-19 | 6/300 |
|
|
[考研] 290求調(diào)劑 +7 | ^O^乜 2026-03-19 | 7/350 |
|
|
[考研] 求調(diào)劑 +3 | @taotao 2026-03-20 | 3/150 |
|
|
[考研] 261求B區(qū)調(diào)劑,科研經(jīng)歷豐富 +3 | 牛奶很忙 2026-03-20 | 4/200 |
|
|
[考研] 08工學(xué)調(diào)劑 +5 | 用戶573181 2026-03-20 | 5/250 |
|
|
[考研] 085601專碩,總分342求調(diào)劑,地區(qū)不限 +5 | share_joy 2026-03-16 | 5/250 |
|
|
[考研] 301求調(diào)劑 +4 | A_JiXing 2026-03-16 | 4/200 |
|