作业帮 > 综合 > 作业

求:matlab 自定义函数曲线拟合

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/29 07:36:23
求:matlab 自定义函数曲线拟合
数据:
L=[4 6 8 11 14 17 21 25]
x=[40 43 47 52 60 67 72 73]
a=1
v=1
用上述数据拟合此函数p=a*(log(1+b*exp(-x))-log(exp(-x)))/((v*x)^c)-(a*log(1+b*exp(-x+L/v))-a*log(exp(-x+L/v)))/(L^c)
画出拟合曲线
并得出:p=?b=?c=?
拟合函数更改为:P=((-a*(log(exp(-x*c))-log(1+b*exp(-x*c)))/c)-(-a*(log(exp(-(x-L/v)*c))-log(1+b*exp(-(x-L/v)*c)))/c))/(L^d)
数据
L=[4 6 8 11 14 17 21 25]
x=[40 43 47 52 60 67 72 73]
a=1
v=1
再令b=100
求:p=?c=?d=?
matlab里有个lsqcurvefit函数,给你段程序,自己照着改吧,应该不难的
function Untitled3
clc
xi=[0.019,0.023,0.027]; % x data
yi=[430,380,256]; % y data
abc0=[4,0.5,5]; % initial values
abc = lsqcurvefit(@fun,abc0,xi,yi)
% target function
function y = fun(abc,x)
y = (abc(1)*(1-x/abc(2))+x/abc(2)).^abc(3);
abc =
31.2588 -3.9585 1.7033