24小时热门版块排行榜    

CyRhmU.jpeg
查看: 663  |  回复: 1

quuq432

新虫 (初入文坛)

[交流] 微分方程组拟合问题已有1人参与

本人MATLAB新手,编一个关于微分方程组拟合的问题,怎么就是运行不了,能帮忙看看怎么办吗?
具体的微分方程是


然后求得

拟合的数据对象是t与L
其中t和L的数据是
502272    5.65432E+42
762325    1.30331E+43
1114354    9.00958E+42
1364122    5.3601E+42
1706100    3.56514E+42
1964980    2.5611E+42
2140916    2.27497E+42
2313059    1.94825E+42
2489034    1.50971E+42
2742752    1.22059E+42
3001044    1.04568E+42
写的程序比较乱,也运行不了,哪位大神能看看吗?

我的渣渣程序是
function H
clear all
clc
T=xlsread('数据.xlsx','sheet1','A1:A11');
L=xlsread('数据.xlsx','sheet1','B1:B11');
x0=[1 1];
t=0.1:1:402800;
M=lsqcurvefit(@g,x0,T,L)
end

function LL=g(M,t,Eint)
c=3*10^10;
k=0.5;
[t,Eint]=ode45(@f,t,[1,1]);
size(Eint(:,1));
size(Eint(:,2));
LL=Eint(:,2).*t./(3.*k.*M(:,1)).*(4.*pi.*c.*Eint(:,1));
end

function dEint=f(t,Eint,M);   %目标函数,M(1)=M,M(2)=tsd,M(3)=L
c=3*10^10;
k=0.5;
dEint(1)=Eint(2)./(M(1).*Eint(1).*t);
dEint(2)=(M(3)./((1+t./M(2)).^2)-4.*pi.*c.*Eint(2).*t.*Eint(1)./(3.*k.*M(1))-Eint(2)./t);
dEint=dEint( : );
end

想拟合出曲线,并且知道微分方程M tsd L的值
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

2楼2016-03-06 21:45:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 quuq432 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见