| 5 | 1/1 | 返回列表 |
| 查看: 1360 | 回復(fù): 6 | |||
| 當(dāng)前只顯示滿足指定條件的回帖,點擊這里查看本話題的所有回帖 | |||
zidingxiang金蟲 (小有名氣)
|
[求助]
matlab解非線性方程組程序糾錯與正確運行 已有1人參與
|
||
|
大家好,我遇到一個解六元一次非線性方程組的問題,如果能指正錯誤并使程序運行出正確結(jié)果,將不勝感激!。。。! 希望各位能盡快幫忙解決。matlab程序和運行后出現(xiàn)的問題具體如下: 1.首先建立函數(shù)F,儲存方程組編程如下將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計算結(jié)果收斂!'); end if con==0 fprintf(fid,'\n迭代步數(shù)過多可能不收斂!'); end fclose(fid); 5.運行程序 在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) 運行后出現(xiàn)如下錯誤: 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; |
程序 |

金蟲 (小有名氣)
|
程序中方程組有錯誤,更正后的方程組為: 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); 哪位高手能給指點一下呢?非常著急!其它能求解的程序也可以哦! |

金蟲 (小有名氣)

鐵桿木蟲 (職業(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ù)量級好像差很遠呢!這位老師能否給一個包含“每個自變量取值范圍”的完整程序呢?我想把每個變量的取值范圍都定義,這樣結(jié)果范圍就縮小了。不勝感激哦!發(fā)郵箱也可以:violetmojiezuo@163.com |

| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[論文投稿]
chinese chemical letters英文版投稿求助
130+3
|
Yishengeryi 2026-03-30 | 3/150 |
|
|---|---|---|---|---|
|
[考研] 266求調(diào)劑 +3 | 哇呼哼呼哼 2026-03-29 | 3/150 |
|
|
[考研] 274求調(diào)劑 +6 | xiao愛同學(xué) 2026-03-30 | 6/300 |
|
|
[考研]
|
鐘llll 2026-03-26 | 5/250 |
|
|
[考研] 071010 323 分求調(diào)劑 +3 | Baekzhy 2026-03-27 | 3/150 |
|
|
[考研] 294分080500材料科學(xué)與工程求調(diào)劑 +8 | 柳溪邊 2026-03-26 | 8/400 |
|
|
[考研] 327求調(diào)劑 +6 | 汲亦昊 2026-03-29 | 6/300 |
|
|
[考研] 298求調(diào)劑 +3 | 種圣賜 2026-03-29 | 3/150 |
|
|
[考研] 352分-085602-一志愿985 +5 | 海納百川Ly 2026-03-29 | 5/250 |
|
|
[考研] 復(fù)試調(diào)劑 +3 | raojunqi0129 2026-03-28 | 3/150 |
|
|
[考研] 304求調(diào)劑 +6 | 曼殊2266 2026-03-27 | 6/300 |
|
|
[考研] 299求調(diào)劑 +7 | 嗯嗯嗯嗯2 2026-03-27 | 7/350 |
|
|
[考研] 0856,材料與化工321分求調(diào)劑 +12 | 大饞小子 2026-03-27 | 13/650 |
|
|
[考研] 266求調(diào)劑 +11 | 陽陽哇塞 2026-03-27 | 12/600 |
|
|
[考研] 266分求材料化工冶金礦業(yè)等專業(yè)的調(diào)劑 +4 | 哇呼哼呼哼 2026-03-26 | 4/200 |
|
|
[考研]
|
18419759900 2026-03-25 | 8/400 |
|
|
[考研] 化學(xué)調(diào)劑一志愿上海交通大學(xué)336分-本科上海211 +4 | 小魚愛有機 2026-03-25 | 4/200 |
|
|
[考研] 07化學(xué)303求調(diào)劑 +5 | 睿08 2026-03-25 | 5/250 |
|
|
[考研] 0854人工智能方向招收調(diào)劑 +4 | 章小魚567 2026-03-24 | 4/200 |
|
|
[考研] 一志愿吉林大學(xué)材料與化工303分求調(diào)劑 +4 | 為學(xué)666 2026-03-24 | 4/200 |
|