| 5 | 1/1 | 返回列表 |
| 查看: 2226 | 回復(fù): 6 | ||
| 【懸賞金幣】回答本帖問題,作者ckm0811將贈送您 10 個金幣 | ||
| 當前只顯示滿足指定條件的回帖,點擊這里查看本話題的所有回帖 | ||
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 函數(shù)求解微分代數(shù)方程,然后用 非線性擬合函數(shù) 如lsqnonlin求解參數(shù) 第二種方法,將代數(shù)方程求導(dǎo)轉(zhuǎn)化為 微分方程,然后擬合微分方程組參數(shù) 發(fā)自小木蟲Android客戶端 |

新蟲 (初入文壇)
|
您好,我嘗試了用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); |
新蟲 (初入文壇)
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 環(huán)境調(diào)劑 +5 | chenhanheng 2026-03-02 | 5/250 |
|
|---|---|---|---|---|
|
[考研] 沒上岸的看過來 +3 | tangxiaotian 2026-03-01 | 3/150 |
|
|
[考研] 289求調(diào)劑 +5 | BrightLL 2026-03-02 | 7/350 |
|
|
[考研] 338求調(diào)劑 +5 | 18162027187 2026-03-02 | 6/300 |
|
|
[考研] 化工京區(qū)271求調(diào)劑 +7 | 11ing 2026-03-02 | 7/350 |
|
|
[考研] 298求調(diào)劑 +7 | axyz3 2026-02-28 | 8/400 |
|
|
[考研] 材料化工調(diào)劑 +13 | 今夏不夏 2026-03-01 | 16/800 |
|
|
[考研] 085600求調(diào)劑 +4 | LRZZZZZZ 2026-03-02 | 5/250 |
|
|
[考研] 材料學碩318求調(diào)劑 +10 | February_Feb 2026-03-01 | 10/500 |
|
|
[考研] 0856求調(diào)劑285 +11 | 呂仔龍 2026-02-28 | 11/550 |
|
|
[考研] 材料284求調(diào)劑,一志愿鄭州大學英一數(shù)二專碩 +15 | 想上岸的土撥鼠 2026-02-28 | 15/750 |
|
|
[考研] 261求調(diào)劑 +3 | 陸lh 2026-03-01 | 3/150 |
|
|
[考研] 一志愿東北大學材料專碩328,求調(diào)劑 +3 | shs1083 2026-03-02 | 3/150 |
|
|
[考研] 江蘇省農(nóng)科院招調(diào)劑1名 +4 | Qwertyuop 2026-03-01 | 4/200 |
|
|
[基金申請] 面上模板改不了頁邊距吧? +6 | ieewxg 2026-02-25 | 7/350 |
|
|
[考研] 295求調(diào)劑 +8 | 19171856320 2026-02-28 | 8/400 |
|
|
[考研] 279求調(diào)劑 +3 | dua1 2026-03-01 | 4/200 |
|
|
[考研] 化工299分求調(diào)劑 一志愿985落榜 +5 | 嘻嘻(*^ω^*) 2026-03-01 | 5/250 |
|
|
[考研] 304求調(diào)劑 +6 | 曼殊2266 2026-02-28 | 7/350 |
|
|
[考研]
|
LYidhsjabdj 2026-02-28 | 4/200 |
|