如何用Matlab做自定义二维函数的拟合

2025-03-10 21:22:39
推荐回答(1个)
回答1:

t=[0.31,0.3269,0.3447,0.3636,0.3834,0.4043,0.4264,0.4496,0.4741,0.5];
c=[0.3125,0.5625,0.59375,0.65625,0.78125,0.9375,0.96875,0.9375,0.9375,1];
%f(x) = (1-0.02)-(1-0.25-0.02)*2^(-(x/a)^b)
%fun=@(beta,x)[(1-0.02)-(1-0.25-0.02)*2.^(-(x/beta(1)).^beta(2))];
fun=inline('(1-0.02)-(1-0.25-0.02)*2.^(-(x/beta(1)).^beta(2))','beta','x');
abc=nlinfit(t,c,fun,[0.3 10]);
%model
tt=0:0.001:0.6;
cc=fun(abc,tt);
plot(t,c,'*',tt,cc)
xlabel('x'),ylabel('y')