| 1 | 1/1 | 返回列表 |
| 查看: 493 | 回復(fù): 0 | ||
makechange74鐵蟲 (小有名氣)
|
[求助]
用Gauss-Neuton算法解非線形最小二乘法問題
|
|
%xdata,ydata1是測(cè)得的數(shù)據(jù) syms z1 z2 z3 z4 z5 xdata = S1o; f = ydata1 - exp(z1)./(exp(z1)+exp(-z1)).*exp(-(xdata./exp(z3)).^exp(z2))+(1-exp(z1)./(exp(z1)+exp(-z1))).*exp(-(xdata./exp(z5)).^exp(z4)); x0 = [1.7380;0.9555;-1.3863;2.0149;-2.5257]; var = findsym(f); eps = 1.0e-3; minGN %minGN是m文件里的一個(gè)函數(shù),用于實(shí)現(xiàn)G-N算法,這個(gè)程序是自己網(wǎng)上找的,后面的注釋是為了我自己方便理解自己加的,具體如下: function [x,minf] = minGN(f,x0,var,eps) format long; if nargin == 3 %如果沒有設(shè)置eps,則eps=1.0e-6 eps = 1.0e-6; end S = transpose(f)*f; %trnspose是轉(zhuǎn)置 k = length(f); % n = length(x0); %n為變量個(gè)數(shù) x0 = transpose(x0); %將行向量轉(zhuǎn)置為列向量 tol = 1; %初始容差 A = jacobian(f,var); while tol>eps Fx = zeros(k,1); for i=1:k Fx(i,1) = Funval(f(i),var,x0); end Sx = Funval(S,var,x0); %求得f轉(zhuǎn)置與其本身值 Ax = Funval(A,var,x0); %雅克比矩陣的值 gSx = transpose(Ax)*Fx; dx = -transpose(Ax)*Ax\gSx; x0 = x0 + dx; tol = norm(dx); %tol=dx絕對(duì)值之和 end minf = Funval(S,var,x); format short; x = x0; %%Funval函數(shù)也是在網(wǎng)上找到的資源,后面的注釋原本就有,具體如下: function fv = Funval(f,varvec,varval) var = findsym(f);%找出表達(dá)式 即f函數(shù)包含的變量,即s,t varc = findsym(varvec);%找出傳遞參數(shù)的變量,即[t s]中的t,s s1 = length(var);%函數(shù)的個(gè)數(shù),例子中即s t 2個(gè) s2 = length(varc);%變量個(gè)數(shù),即[t s]兩個(gè) m =floor((s1-1)/3+1);%floor(3.6)=3,即最靠近左邊的整數(shù) varv = zeros(1,m); if s1 ~= s2 for i=0: ((s1-1)/3) k = findstr(varc,var(3*i+1)); index = (k-1)/3; varv(i+1) = varval(index+1); end fv = subs(f,var,varv); else fv = subs(f,varvec,varval); %如果原來函數(shù)變量個(gè)數(shù)和傳遞的參數(shù)中變量個(gè)數(shù)一致 這調(diào)用subs函數(shù) 即計(jì)算在給點(diǎn)點(diǎn)處的函數(shù)值 end 現(xiàn)在在命令窗口輸入上述命令,提示: 錯(cuò)誤使用 minGN (line 6) 輸入?yún)?shù)的數(shù)目不足。 誰能告訴我這是什么原因呢,參數(shù)數(shù)目應(yīng)該是夠的?另外,麻煩大俠再解釋一下 Funval函數(shù)里m =floor((s1-1)/3+1);這條語句在函數(shù)的作用,尤其是為什么取((s1-1)/3+1)?謝謝了!剛接觸matlab不久,希望大家?guī)兔ο?新人沒有多少金幣。。 |
| 1 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 317求調(diào)劑 +12 | 申子申申 2026-03-19 | 18/900 |
|
|---|---|---|---|---|
|
[考研] 306求調(diào)劑 +6 | chuanzhu川燭 2026-03-18 | 6/300 |
|
|
[考研] 生物學(xué)071000 329分求調(diào)劑 +5 | 我愛生物生物愛?/a> 2026-03-17 | 5/250 |
|
|
[考研] 289求調(diào)劑 +7 | 懷瑾握瑜l 2026-03-20 | 7/350 |
|
|
[基金申請(qǐng)] 山東省面上項(xiàng)目限額評(píng)審 +4 | 石瑞0426 2026-03-19 | 4/200 |
|
|
[考研] 280求調(diào)劑 +11 | 咕嚕曉曉 2026-03-18 | 12/600 |
|
|
[考研] 化學(xué)調(diào)劑 +5 | yzysaa 2026-03-21 | 5/250 |
|
|
[考研] 0805 316求調(diào)劑 +3 | 大雪深藏 2026-03-18 | 3/150 |
|
|
[考研] 求調(diào)劑 +3 | 白QF 2026-03-21 | 3/150 |
|
|
[考研] 材料學(xué)學(xué)碩080502 337求調(diào)劑-一志愿華中科技大學(xué) +4 | 順順順mr 2026-03-18 | 5/250 |
|
|
[考研] 265求調(diào)劑 +9 | 梁梁校校 2026-03-17 | 9/450 |
|
|
[考研] 一志愿武理材料305分求調(diào)劑 +6 | 想上岸的鯉魚 2026-03-18 | 7/350 |
|
|
[考研] 304求調(diào)劑 +6 | 曼殊2266 2026-03-18 | 6/300 |
|
|
[考研]
|
然11 2026-03-19 | 4/200 |
|
|
[考研] 中南大學(xué)化學(xué)學(xué)碩337求調(diào)劑 +3 | niko- 2026-03-19 | 6/300 |
|
|
[考研] 一志愿 南京航空航天大學(xué)大學(xué) ,080500材料科學(xué)與工程學(xué)碩 +5 | @taotao 2026-03-20 | 5/250 |
|
|
[考研] 0856調(diào)劑,是學(xué)校就去 +8 | sllhht 2026-03-19 | 9/450 |
|
|
[考博] 申博26年 +3 | 八6八68 2026-03-19 | 3/150 |
|
|
[考研] 085600材料與化工求調(diào)劑 +6 | 緒幸與子 2026-03-17 | 6/300 |
|
|
[考博] 26博士申請(qǐng) +3 | 1042136743 2026-03-17 | 3/150 |
|