早教吧 育儿知识 作业答案 考试题库 百科 知识分享

matlab指数函数拟合刚学matlab,完全不知道如何写程序,x=[10 12.5 15 17.5 20 22.5 25 27.5 30 32.5 35 37.5 40 42.5 45 47.5 50];y=[62.1 77.3 92.5 104 112.9 121.9 125 129.4 134 138.2 142.3 143.2 144.6 147.2 147.8 149.1 150.9];y=A(1)*exp(x/A

题目详情
matlab指数函数拟合
刚学matlab,完全不知道如何写程序,
x=[10 12.5 15 17.5 20 22.5 25 27.5 30 32.5 35 37.5 40 42.5 45 47.5 50];
y=[62.1 77.3 92.5 104 112.9 121.9 125 129.4 134 138.2 142.3 143.2 144.6 147.2 147.8 149.1 150.9];
y=A(1)*exp(x/A(2))+A(3)
请高手编程拟合指数函数!
▼优质解答
答案和解析
clear all;
close all;
x=[10 12.5 15 17.5 20 22.5 25 27.5 30 32.5 35 37.5 40 42.5 45 47.5 50];
y=[62.1 77.3 92.5 104 112.9 121.9 125 129.4 134 138.2 142.3 143.2 144.6 147.2 147.8 149.1 150.9];
myfunc=inline('beta(1)+beta(2)*exp(beta(4)*x)+beta(3)*exp(-beta(4)*x)','beta','x'); 
beta=nlinfit(x,y,myfunc,[0.5 0.5 0.5 0.5]); 
a=beta(1),k1=beta(2),k2=beta(3),m=beta(4) 
xx=min(x):max(x); 
yy=a+k1*exp(m*xx)+k2*exp(-m*xx); 
plot(x,y,'o',xx,yy,'r')