⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 expfitsolve.m

📁 基于MATLAB的处理表格型数据的数值积分的一种简单方法
💻 M
字号:
%function ExpFitSolve
%指数曲线拟合的函数示例
clc
x=[0.1:0.1:1];
y=[0 10 30 45 53 64 74 82 90 96];
%x=[0 15 30 45 60 75 90 105 120 150 180 240 300 450 600 900 1200 1800 2700 3600];%是否取0结果很大不同.为采样时间点
%y=[0 0.072 0.044 0.047 0.053 0.057 0.05 0.045 0.052 0.049 0.054 0.05 0.048 0.049 0.054 0.061 0.064 0.077 0.095 0.104];%s30的LT-Max输出函数
str=['a(1)*exp(a(2)*x)+a(3)*exp(a(4)*x)+a(5)*exp(a(6)*x)'];
ff=inline(str,'a','x');
%a0 =[-300,-5,200,-1,-40,0];                    % Starting guess
a0=[1 1 1 1 1 1];
[a,resnorm] = lsqcurvefit(ff,a0,x,y)           %resnorm函数的作用 这就是著名的Levenberg–Marquardt方法,看来也解决不了初值敏感的问题。
str1=[num2str(a(1)),'*exp(',num2str(a(2)),'*x)+',num2str(a(3)),'*exp(',num2str(a(4)),'*x)+',...
    num2str(a(5)),'*exp(',num2str(a(6)),'*x)'];
ff1=inline(str1,'x');
xx=linspace(0.1,1);
plot(xx,ff1(xx),x,y,'r*')

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -