24小时热门版块排行榜    

查看: 1531  |  回复: 11
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

wangj25

金虫 (正式写手)

[求助] 50金币求一MATLAB的拟合程序

这是那个微分方程,有一组数据:   
dS/dt=-a*S/(b+S+S的平方/c)
注意前面有一个负号。


T    S
0 48.1
8 46.97
16 44.63
24 39.98
32 38.32
40 37.69
48 37.11
56 35.98
64 35.66
72 33.09
80 32.11
88 31.96
96 31.89
120 31.34
144 31.86
168 32.51
192 31.66


现在要将曲线拟合出来,求出a、b、 c 的值。并求得相关系数R。
求matlab实现程序。请写下具体程序

[ Last edited by wangj25 on 2011-8-24 at 19:42 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

threight

木虫 (著名写手)

【答案】应助回帖

★ ★ ★
臭水沟(金币+3): 谢谢应助~~ 2011-08-25 15:00:36
wangj25(金币+5): 2011-08-25 20:12:17
不要意思,最近比较忙。我给个思路,供您参考。

******************************************
一、先求解S在各个点的微分值dS/t(用最小二乘样条拟合计算dS/t),使用B样条插值函数



程序如下:
T= 你提供的值;
S= 你提供的值;
knots = 3; K = 3;  %(3次B样条)
sp=spap2(knots,K,T,S);
sp=spap2(newknt(sp),K,T,S);
pp=fnder(sp)
dSdt=fnval(pp,T)

二、再用非线性最小二乘法函数lsqnonlin()拟合参数a、b、 c

lsqnonlin具体用法,参加matlab的帮助文件。
************************************************
万丈红尘三杯酒,千秋大业一壶茶
7楼2011-08-25 14:22:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 12 个回答

threight

木虫 (著名写手)

【答案】应助回帖


wangj25(金币+5): 能不能帮忙贴个程序,谢谢了 2011-08-24 22:42:23
xiegangmai(金币+1): 谢谢参与! 2011-08-26 07:07:48
自己用几个matlalb的非线性拟合函数试试是,应该不难的。
万丈红尘三杯酒,千秋大业一壶茶
2楼2011-08-24 22:37:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

信彼南山

木虫 (著名写手)

这个是不是可以积出来啊
3楼2011-08-24 23:34:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

信彼南山

木虫 (著名写手)

★ ★
xiegangmai(金币+2): 谢谢参与! 2011-08-26 07:08:13
-(1/2)*a*c*ln(b*c+S*c+S^2)+a*c^2*arctan((c+2*S)/sqrt(4*b*c-c^2))/sqrt(4*b*c-c^2)
积出来是不是这个?
4楼2011-08-24 23:41:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见