以下是用MATLAB计算输入参数的半峰全宽的代码:

% 输入数据
x = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
y = [0, 0.1, 0.4, 0.8, 1, 0.8, 0.4, 0.1, 0, 0];

% 找到峰值的位置
[~, peakIndex] = max(y);

% 找到半峰高度
halfHeight = y(peakIndex)/2;

% 找到半峰全宽的左边界
leftIndex = peakIndex;
while y(leftIndex) > halfHeight
    leftIndex = leftIndex - 1;
end

% 找到半峰全宽的右边界
rightIndex = peakIndex;
while y(rightIndex) > halfHeight
    rightIndex = rightIndex + 1;
end

% 计算半峰全宽
FWHM = x(rightIndex) - x(leftIndex);

% 显示结果
disp(['半峰全宽为:', num2str(FWHM)]);

请注意,这个代码只适用于输入数据为单峰的情况。如果数据有多个峰或者是峰形不规则的情况,需要进行适当的修改来适应不同的情况


原文地址: https://www.cveoy.top/t/topic/hU1A 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录