作业帮 > 综合 > 作业

帮忙求一下非线性拟合(Matlab或Mathematica)

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/28 10:51:11
帮忙求一下非线性拟合(Matlab或Mathematica)
数据 ({t,s})
{{2.34,5.0},{3.83,10.0},{5.71,20.0},{7.07,30.0},{8.43,
40.0},{9.73,50.0},{10.7,60.0},{12.0,70.0}}
s=c1*(-2 sqrt(1-exp(-c*t))+c*t+2 ln(1+sqrt(1-exp(-c*t))))
求{c,c1}
给出程序 最好再求一下 42.75 * c1^2 * c^3
clc; clear;
ts=[2.34,5.0; 3.83,10.0; 5.71,20.0; 7.07,30.0; 8.43,40.0; 9.73,50.0; 10.7,60.0; 12.0,70.0];
T=ts(:,1);S=ts(:,2);
fun=@(c,t) c(1)*(-2*sqrt(1-exp(-c(2)*t))+c(2)*t+2*log(1+sqrt(1-exp(-c(2)*t))))
c= nlinfit(T,S,fun,[100 -0.6])
t=2:0.1:12;
ft=c(1)*(-2*sqrt(1-exp(-c(2)*t))+c(2)*t+2*log(1+sqrt(1-exp(-c(2)*t))));
plot(T,S,'o',t,ft)
结果:
fun =
@(c,t) c(1)*(-2*sqrt(1-exp(-c(2)*t))+c(2)*t+2*log(1+sqrt(1-exp(-c(2)*t))))
c =
-0.0001 +69.2686i -0.0978 + 0.0000i
图形拟合的很好啊