图像缩略图

Lorentzfit(x,y,varargin)

version 1.7.0.0 (6.84 KB) by 杰尔斯
LorentZFIT适合单一或多参数Lorentzian函数到数据

11k下载

更新2020年6月15日

查看许可证

LORENTZFIT对数据拟合一个单参数或多参数Lorentzian函数

%lorentzfit(x,y)返回yprime(x),Lorentzian适合数据
%找到了使用lsqcurvefit。函数y(x)由模型适合:
%yprime(x)= p1./(x - p2)。^ 2 + p3)+ c。

%[yprime params Resnorm Reseal Jacobian] = LorentzFit(x,y)返回yprime(x)
%值除了适合参数params = [p1 p2 p3 c]之外。resnorm,
% RESIDUAL,也返回LSQCURVEFIT的雅可比矩阵输出。

%[...] = lorentzfit(x,y,p0)可用于提供启动
用于参数中的参数的%值(p0 = [p01 p02 p03 c0])。

%[…= LORENTZFIT(X,Y,P0,BOUNDS)可用于定义lower
%和PARAMS中每个参数的可能值的上界。
% bounds = [lb1 lb2 lb3 lb4;
%UB1 UB2 UB3 UB4]。
%如果用户不希望手动定义P0的值,则可能是
%Enetered为空矩阵P0 = []。在这种情况下,默认值将
% 使用。所有参数的默认界限都是(-inf,INF)。

%[...] = lorentzfit(x,y,p0,边界,nparams)可用于指定
洛伦兹拟合函数中使用的参数数。的
%p0和边界中定义的参数数必须匹配
由nparams指定的%。如果用户不希望手动定义
%值P0或边界,两者都可以作为空矩阵输入:
%p0 = [];绑定= []。

% -NPARAMS选项

%'1' - 单个参数Lorentzian(没有常数术语)
%l1(x)= 1./(p1 (x.^2 + 1)))

%'1C' - 单个参数Lorentzian(带常数术语)
%l1c(x)= 1./(p1(x.^2 + 1))+ c

%'2' - 两个参数Lorentzian(没有常数术语)
%l2(x)= p1./(x.^2 + p2)

%'2C' - 两个参数Lorentzian(具有常数术语)
%l2c(x)= p1./(x.^2 + p2)+ c

%'3' - 三参数Lorentzian(没有常数术语)
%l3(x)= p1./(x - p2)。^ 2 + p3)

% [DEFAULT] '3c' -三个参数Lorentzian(带常数项)
% l3c (x) = p1。/ ((X - P2)。^2 + p3) + c

%[...] = lorentzfit(x,y,p0,界限,nparams,选项)定义选项
%数组为MATLAB函数LSQCURVEFIT。选项可以使用
百分比以下命令:

% OPTIONS = optimset('PARAM1',VALUE1,'PARAM2',VALUE2,…);

%有关更多详细信息,请参阅Optimet的帮助文档。


%x和y必须具有相同的大小,数字和非复杂。P0和界限
%也必须是数字和非复杂的。nparams是一个字符数组。

%的例子:
%x = -16:0.1:35;
%y = 19.4./( (x - 7)。^ 2 + 15.8)+ Randn(尺寸(x))./ 10;
% [yprime1 params1 resnorm1 residual1 jacobain1] = lorentzfit(x,y,[20 10 15 0]);
%图;情节(x, y, b。,“线宽”,2)
%等;情节(x, yprime1“r -”,“线宽”,2)

% [yprime2 params2 resnorm2 residual2 jacobian2] = lorentzfit(x,y,[],[],'3');
%图;情节(x, y, b。,“线宽”,2)
%等;情节(x, yprime2“r -”,“线宽”,2)

%另见:lsqcurvefit。

引用

Jered井(2021)。Lorentzfit(x,y,varargin)(//www.tatmou.com/matlabcentral/fileexchange/33775-varargin),Matlab中央文件兑换。检索到

MATLAB版本兼容性
用R2015A创建
与任何版本兼容
平台兼容性
窗户 macOS Linux.

社区宝藏狩猎

找到Matlab Central中的宝藏,并发现社区如何帮助您!

开始狩猎!