图片缩略图

变长度输入宗量lorentzfit (x, y)

version 1.7.0.0 (6.84 KB) by Jered井
LORENTZFIT拟合一个单参数或多参数的洛伦兹函数到数据

11 k下载

更新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 RESIDUAL JACOBIAN] = LORENTZFIT(X,Y)返回YPRIME(X)
PARAMS = [P1 P2 P3 C]。RESNORM,
% RESIDUAL,也返回LSQCURVEFIT的雅可比矩阵输出。

%[…= LORENTZFIT(X,Y,P0)可用于提供起始
PARAMS. properties参数的% values (P0 = [P01 P02 P03 C0])。

%[…= LORENTZFIT(X,Y,P0,BOUNDS)可用于定义lower
%和PARAMS中每个参数的可能值的上界。
% bounds = [lb1 lb2 lb3 lb4;
% ub1 ub2 ub3 ub4]。
%如果用户不希望手动定义P0的值,则可以
%输入为空矩阵P0 =[]。在这种情况下,默认值会
%被使用。所有参数的默认边界是(-Inf,Inf)。

%[…= LORENTZFIT(X,Y,P0,BOUNDS,NPARAMS)可用于指定
洛伦兹拟合函数中使用的参数数。的
%定义在P0中的参数数量和边界必须与函数匹配
NPARAMS指定的%。如果用户不希望手动定义
%值P0或边界,两者都可以作为空矩阵输入:
% p0 = [];边界=[]。

% -NPARAMS选项

% '1' -单参数Lorentzian(没有常数项)
x = 1, x = 1;^ 2 + 1)

% '1c' -单参数洛伦兹(带常数项)
% l1c (x) = 1 /(p1 (x))^2 + 1)) + c

% '2' -两个参数洛伦兹(没有常数项)
% l2 (x) = p1. /(x)^ 2 + P2)

% '2c' -双参数洛伦兹(带常数项)
% l2c (x) = p1. /(x)²+ p2) + c

% '3' -三个参数Lorentzian(没有常数项)
% x = 0;/ ((X - P2)。^ 2 + P3)

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

%[…= LORENTZFIT(X,Y,P0,BOUNDS,NPARAMS,OPTIONS)定义了OPTIONS
%数组为MATLAB函数LSQCURVEFIT。选项可以使用
%以下命令:

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

%详细信息,请参阅OPTIMSET的帮助文档。


% X和Y必须是相同的大小、数字和非复杂的。P0,
%也必须是数字和非复数。NPARAMS是一个字符数组。

%的例子:
% x = -16:0.1:35;
% y = 19.4。/((x - 7).^2 + 15.8) + randn(size(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)

%参见:lssqcurvefit。

引用作为

Jered井(2021)。变长度输入宗量lorentzfit (x, y)(//www.tatmou.com/matlabcentral/fileexchange/33775-lorentzfit-x-y-varargin), MATLAB中央文件交换。检索

MATLAB版本兼容性
创建R2015a
与任何版本兼容
平台的兼容性
窗户 macOS Linux

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!