| 5 | 1/1 | 返回列表 |
| 查看: 2227 | 回復(fù): 6 | |||
| 【懸賞金幣】回答本帖問題,作者ckm0811將贈送您 10 個金幣 | |||
| 當(dāng)前只顯示滿足指定條件的回帖,點擊這里查看本話題的所有回帖 | |||
ckm0811新蟲 (初入文壇)
|
[求助]
微分方程與代數(shù)方程聯(lián)立,參數(shù)擬合問題求助 已有1人參與
|
||
|
根據(jù)以下二式,利用最小二乘法擬合參數(shù)a,b,c,從而得到關(guān)于P的模型。 ① P=a*[(lamb/x)^b/lamb-1/lamb*(x/lamb)^(0.5b)] ② dx/dt=(1/3/c)*a*[(lamb/x)^b-(x/lamb)^(0.5b)] 其中a,b,c為待求參數(shù)。試驗數(shù)據(jù)lamb和P已知,其中l(wèi)amb范圍為[0.91,1]。x為中間變量。 目前不知該用什么函數(shù)實現(xiàn)上述目的,想請大家提供一些思路。 已寫程序如下,中間一段代碼思路應(yīng)該有問題,但不知如何改正 clear,clc close all format long; lamb=[1;0.995;0.99;0.985;0.98;0.975;0.97;0.965;0.96;0.955;0.95;0.945;0.94;0.935;0.93;0.925;0.92;0.915;0.91] %試驗值lamb p=[0;-0.0166845;-0.0293383;-0.0433058;-0.0591614;-0.0761656;-0.0933141;-0.1099259;-0.1258601;-0.1414556;-0.1572909;-0.1738675;-0.1913200;-0.2092681;-0.2269212;-0.243560;-0.2595227;-0.2778129;-0.3064931]; %試驗數(shù)據(jù)P %fac為未知數(shù)向量,其中元素fac(1)=a,fac(2)=b,fac(3)=c %lambv即中間變量x fun=@(fac,lamb,lambv)(fac(1)*((lamb./lambv)^fac(2)./lamb-(lambv./lamb).^(fac(2)*0.5)./lamb)); odefun=@(fac,lamb,lambv)(1/3/fac(3)*(fac(1)*((lamb./lambv)^fac(2)-(lambv./lamb)^(0.5*fac(2))))); tspan=[0.9,1]; lambv0=1; [fac,lambv]=ode45(odefun,tspan,lambv0,[]); fac0=[0.5 0.15 1]; %a,b,c初值 %最小二乘法擬合abc coefind=fminsearch(@(fac)((sum(p(:,1)-fun(fac,lamb,lambv)))^2),coeffia0,optimset('MaxFunEvals',1e10,'MaxIter',1e6)); %擬合后的理論模型 p_model=coefind(1)*((lamb./lambv)^b./lamb-1/lamb*(lambv./lamb)^(0.5b)) err1=100*(p-p_model)/p figure('color',[1 1 1]) plot(lamb,p,'-o'); hold on plot(lamb,p_model,'--'); xlabel('主伸長率λ','fontsize',10); ylabel('名義應(yīng)力P1(Mpa)','fontsize',10); |
新蟲 (初入文壇)
|
您好,我嘗試了用ode15i求解,將中間部分的程序改成為下面所示,出現(xiàn)了報錯。用ode15i求解式2時,里面的系數(shù)abc是未知的,這樣可以求解出來嗎,感覺自己還是不太明白該怎么做。您空閑時可以幫忙看一下程序指點一下嗎 fun=@(fac,lamb,lambv)(fac(1)*((lamb./lambv)^fac(2)./lamb-(lambv./lamb).^(fac(2)*0.5)./lamb)); odefun=@(lambv,xp,fac,lamb)(xp-(1/3/fac(3))*(fac(1)*((lamb./lambv)^fac(2)-(lambv./lamb)^(0.5*fac(2))))); tspan=lamb'; lambv0=1; xp0=0; [t,lambv]=ode15i(odefun,tspan,lambv0,xp0); 報錯: 索引超出數(shù)組元素的數(shù)目(1)。 出錯 netBmodel2>@(lambv,xp,fac,lamb)(xp-(1/3/fac(3))*(fac(1)*((lamb./lambv)^fac(2)-(lambv./lamb)^(0.5*fac(2))))) 出錯 odearguments (line 90) f0 = feval(ode,t0,y0,args{:}); % ODE15I sets args{1} to yp0. 出錯 ode15i (line 118) odearguments(FcnHandlesUsed, solver_name, ode, tspan, y0, ... 出錯 netBmodel2 (line 22) [t,lambv]=ode15i(odefun,tspan,lambv0,xp0); |
版主 (知名作家)
|
一種方法是直接用哦的 ode15i 函數(shù)求解微分代數(shù)方程,然后用 非線性擬合函數(shù) 如lsqnonlin求解參數(shù) 第二種方法,將代數(shù)方程求導(dǎo)轉(zhuǎn)化為 微分方程,然后擬合微分方程組參數(shù) 發(fā)自小木蟲Android客戶端 |

版主 (知名作家)

新蟲 (初入文壇)
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 環(huán)境調(diào)劑 +5 | chenhanheng 2026-03-02 | 5/250 |
|
|---|---|---|---|---|
|
[考研] 環(huán)境調(diào)劑 +4 | 柒槿levana 2026-03-01 | 4/200 |
|
|
[考研] 環(huán)境工程專碩307求調(diào)劑 +3 | ccc! 2026-03-03 | 3/150 |
|
|
[考研] 281電子信息求調(diào)劑 +3 | jhtfeybgj 2026-03-02 | 6/300 |
|
|
[考研] 080500材料科學(xué)與工程 +4 | 202114020319 2026-03-03 | 4/200 |
|
|
[考研] 成績276,專業(yè)代碼0856求調(diào)劑 +5 | 小陳朵 2026-03-03 | 5/250 |
|
|
[考研] 271求調(diào)劑 +4 | Ricardo1113 2026-03-02 | 4/200 |
|
|
[考研] 化工京區(qū)271求調(diào)劑 +7 | 11ing 2026-03-02 | 7/350 |
|
|
[考研] 298求調(diào)劑 +7 | axyz3 2026-02-28 | 8/400 |
|
|
[考研] 0854復(fù)試調(diào)劑 276 +5 | wmm9 2026-03-01 | 7/350 |
|
|
[考研] 【2026 碩士調(diào)劑】課題組 招收調(diào)劑生 +3 | 考研版棒棒 2026-03-02 | 5/250 |
|
|
[考研] 302材料工程求調(diào)劑 +5 | Doleres 2026-03-01 | 6/300 |
|
|
[考研] 275求調(diào)劑 +7 | 明遠(yuǎn)求學(xué) 2026-03-01 | 7/350 |
|
|
[考研] 材料與化工328求調(diào)劑 +3 | 。,。,。,。i 2026-03-02 | 3/150 |
|
|
[考研] 材料調(diào)劑 +6 | 愛擦汗的可樂冰 2026-02-28 | 7/350 |
|
|
[考研]
|
15779376950 2026-03-01 | 5/250 |
|
|
[考研] 291分工科求調(diào)劑 +9 | science餓餓 2026-03-01 | 10/500 |
|
|
[考研] 311求調(diào)劑 +6 | 亭亭亭01 2026-03-01 | 6/300 |
|
|
[考研] 311求調(diào)劑 +9 | 南迦720 2026-02-28 | 10/500 |
|
|
[碩博家園] 【博士招生】太原理工大學(xué)2026化工博士 +4 | N1ce_try 2026-02-24 | 8/400 |
|