现在要复现如下图所示的三个子图

现在有两个问题:
1.第一个(a)图如何画出图中的效果,通过代码如何实现。
2.知道了u速度的均方根的最大值所在的x,y坐标以及u均方根最大值的时程图,也就是图(b),如何用快速傅里叶变换(fft)和PSD方法求出功率谱密度函数,并且标注出最大频率值所在位置,画出如图(c)所示的效果?
现在要复现如下图所示的三个子图




% 假设的u速度数据(这里只是一个随机生成的示例)
t = 0:0.1:39.9; % 假设每0.1秒采集一次数据,总共400个数据点
u = 0.6 + 0.5*sin(2*pi*0.3*t) + 0.5*randn(size(t)); % u速度的时程图数据
% 假设的采样频率
Fs = 10; % 采样频率10Hz,因为每秒采样10次数据
% 绘制时间序列图(b)
figure;
plot(t, u);
title('时间序列');
xlabel('时间 (s)');
ylabel('u/U∞');
% 计算FFT
L = length(u); % 信号的长度
Y = fft(u);
P2 = abs(Y/L);
P1 = P2(1:L/2+1);
P1(2:end-1) = 2*P1(2:end-1);
f = Fs*(0:(L/2))/L; % 频率域
% 绘制功率谱密度图(c)
figure;
plot(f,P1)
title('功率谱密度');
xlabel('频率 (Hz)');
ylabel('PSD');
% 寻找最大功率谱密度并标注
[PSD_max, idx] = max(P1); % 找到最大功率谱密度及其索引
f_max = f(idx); % 最大功率谱密度对应的频率
% 标注最大功率谱密度点
hold on;
plot(f_max, PSD_max, 'r*', 'MarkerSize', 10); % 标记最大点
text(f_max, PSD_max, ['f_0 = ', num2str(f_max), ' Hz']); % 添加文本标签
% 创建图像窗口
figure;
% 绘制方框
rectangle('Position',[0.2 0.2 0.6 0.6],'LineWidth',2);
% 绘制x轴箭头
annotation('arrow', [0.5 1], [0.5 0.5], 'Color', 'k', 'LineWidth', 1);
text(1,0.5,'x');
% 绘制y轴箭头
annotation('arrow', [0.5 0.5], [0.5 1], 'Color', 'k', 'LineWidth', 1);
text(0.5,1,'y');
% 添加标签
text(0.1,0.5,'Upstream','HorizontalAlignment','right');
text(0.8,0.8,'(x/D, y/D) = (1.35, 0.65)');
% 设置坐标轴范围
xlim([0 1]);
ylim([0 1]);
% 隐藏坐标轴刻度
set(gca, 'Visible', 'off');