24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1028  |  回复: 3

yound

木虫 (小有名气)

[求助] 数据拟合的问题

t:5,10,20,30,40,50  自变量
m:25.33,46.23,58.72,67,71.59,75.91  因变量
方程:ln[100/(100-m)]-bm=kt,其中b,k是常数

我的方法是:1.将方程两边除以t,于是有1/t*ln[100/(100-m)]-b*m/t=k,将令y=1/t*ln[100/(100-m)],x=m/t,于是有y=bx+k,线性拟合就得出b,k的值
                     2.把t看成因变量,m看成自变量,利用origin自定义函数t=1/k*ln[100/(100-m)]-b/k*m拟合,算出b,k
第一种方法拟合效果没有第二种的好,这是为什么呢?
第二种方法是拟合出来来了结果,但是自变量和因变量的位置互换,作图就变了。有没有直接拟合办法??3q very much!
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

feixiaolin

荣誉版主 (文坛精英)

优秀版主

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
yound: 金币+5 2013-11-20 09:01:29
yound: 金币+5 2013-11-20 09:02:17
可以用istop
代码如下:
Parameters m[-10000, 100], k;
Variable  t, m;
Function ln(100/(100-m))-bm=kt;
data ;
5    25.33
10   46.23
20    58.72
30    67.71
40    59.75
50   75.91
2楼2013-11-17 17:38:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

feixiaolin

荣誉版主 (文坛精英)

优秀版主

Parameters b, k;
Variable  t, m;
Function  ln(100/(100-m))-b*m=k*t;
data ;
5    25.33
10   46.23
20    58.72
30    67.71
40    59.75
50   75.91
结果是
b = 0.0121073261373653
k = 0.00832784936911289
3楼2013-11-17 20:39:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
dingd: 金币+1, 很好的评价和建议! 2013-11-18 09:48:34
yound: 金币+10 2013-11-20 09:02:39
在这里主要回答线性化后拟合效果的存在差异的问题。
一般说来,将对数函数化成为线性函数再拟合,拟合效果会差一些。这是因为把非线性问题转换为线性问题时,用原对数函数的非线性缩放,使得实际点与拟合曲线上对应的点的距离由直线变成了曲线,而线性拟合时又采用的直线对应关系,再还原为曲线时,对应的点之间就不再直线,即求出的不是最短的直线距离。
所以,能用非线性拟合就用非线性拟合。
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
4楼2013-11-18 09:25:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 yound 的主题更新
信息提示
请填处理意见