MATLAB 计算输入参数的半峰全宽 (不调用函数)
要计算输入参数的半峰全宽,需要先找到峰值的位置,然后找到半峰高度的位置,最后计算两者之间的距离。
以下是一个示例的MATLAB代码,用于计算输入参数的半峰全宽:
% 生成示例数据
x = linspace(-10, 10, 1000);
y = 2*exp(-(x-2).^2) + 3*exp(-(x+2).^2);
% 找到峰值的位置
[~, peak_index] = max(y);
peak_x = x(peak_index);
peak_y = y(peak_index);
% 找到半峰高度的位置
half_max_y = peak_y / 2;
left_index = find(y(1:peak_index) < half_max_y, 1, 'last');
right_index = find(y(peak_index:end) < half_max_y, 1) + peak_index - 1;
left_x = x(left_index);
right_x = x(right_index);
% 计算半峰全宽
fwhm = right_x - left_x;
% 显示结果
disp(['半峰全宽:', num2str(fwhm)]);
这段代码首先生成了一个示例数据,然后找到数据中的峰值位置。接下来,通过寻找半峰高度的位置,即峰值的一半处的高度,找到左边和右边的位置。最后,计算左右两个位置之间的距离,即为半峰全宽。
请注意,这只是一个简单的示例代码,适用于单个峰的情况。如果数据中存在多个峰,或者峰的形状复杂,可能需要使用更复杂的算法来计算半峰全宽。
原文地址: https://www.cveoy.top/t/topic/pEbT 著作权归作者所有。请勿转载和采集!