matlab画fwhm函数
时间: 2023-08-06 08:22:03 浏览: 67
在Matlab中画FWHM函数,可以按照以下步骤进行:
1. 定义一个自变量x的范围,比如从-10到10,步长为0.1:
```
x = -10:0.1:10;
```
2. 定义一个函数,比如高斯函数,用于计算FWHM:
```
f = exp(-(x.^2)/(2*sigma^2)); % sigma为高斯函数的标准差
```
3. 找到函数的峰值和半峰宽:
```
peak = max(f);
half_peak = peak/2;
idx = find(f>=half_peak, 1, 'first');
fwhm = 2*sqrt(2*log(2))*sigma; % FWHM的计算公式
```
4. 画出函数曲线和半峰宽:
```
plot(x, f);
hold on;
plot([x(idx) x(idx)], [0 peak], 'r--');
plot([x(idx)-fwhm/2 x(idx)+fwhm/2], [half_peak half_peak], 'g--');
```
完整的代码如下:
```
sigma = 1;
x = -10:0.1:10;
f = exp(-(x.^2)/(2*sigma^2));
peak = max(f);
half_peak = peak/2;
idx = find(f>=half_peak, 1, 'first');
fwhm = 2*sqrt(2*log(2))*sigma;
plot(x, f);
hold on;
plot([x(idx) x(idx)], [0 peak], 'r--');
plot([x(idx)-fwhm/2 x(idx)+fwhm/2], [half_peak half_peak], 'g--');
```