只想在图上进行上述操作
时间: 2023-12-24 12:06:12 浏览: 18
您可以在绘图后,使用 `xticks` 函数指定横坐标刻度,然后使用 `xlim` 函数指定横坐标范围。以下是示例代码:
```matlab
clear; close all; clc;
%% 阵列信息
N = 16;
d = 1/2; % 均匀加权标准线列阵
%% 波束图绘制
% 均匀加权
Wt = ones(N, 1) / N;
theta_t = 90 * pi / 180; % 扫描方位角
theta = 0:0.1:180;
theta_rad = theta * pi / 180;
Vk = exp(-1i * 2 * pi * cos(theta_t) * d * (0:N-1)).'; % 阵列流型
B_0 = zeros(size(theta));
for i = 1:length(theta)
p = exp(1i * 2 * pi * cos(theta_rad(i)) * d * (0:N-1)).'; % p列向量
p = Vk .* p;
B_0(i) = 20 * log10(abs(Wt' * p) / max(abs(Wt' * p)));
end
B_0 = real(B_0); % 取实部,避免出现虚数部分的警告
% 绘图
figure(1)
set(gcf, 'color', 'white')
plot(theta, B_0, 'linewidth', 1.5, 'Color', 'k');
grid on;
xticks([0, 90, 180]) % 设置横坐标刻度
xlim([0, 180]) % 设置横坐标范围
ylim([-50, 0]);
title('波束图 (N=16)');
```
运行后,您会得到一个只显示 0、90 和 180 度的波束图,横坐标上没有其他刻度。