你好,这是相频特性曲线吧,给你画画,代码供参考,要点在atan2的使用上面:
clc; clear; % 清楚工作区残余
lambda = 0:0.01:5;%lambda赋值
zeta = [0.05, 0.10, 0.15, 0.25, 0.375, 0.50];%zeta赋值
zeta_text = arrayfun(@(i)num2str(zeta(i)),1:numel(zeta),'uniform',0);%zeta标记的字符串
zeta_text{1} = ['\zeta = ',zeta_text{1}];%zeta(1)特殊一点
figure(1);clf; hold on;%开始画图
f = @(lam,z) 90-atan2(1-lam.^2+(2*z*lam).^2, 2*z*lam.^3)*180/pi;%画图用的函数
arrayfun(@(i)(plot(lambda,f(lambda,zeta(i)), 'linewidth',2)), 1:numel(zeta))%画图
arrayfun(@(i)text(2,f(2,zeta(i)), zeta_text{i}, 'backgroundcolor','w',...
'fontsize', 14, 'fontname','times new roman'), 1:numel(zeta))%标记zeta
xlabel('\lambda')%标记x轴
ylabel('\psi')%标记y轴
set(gca, 'xtick', 0:1:5, 'xticklabel', 0:1:5)%x轴的间距
deg = 0:60:180;
yticks = arrayfun(@(i)[num2str(deg(i)),'°'],1:numel(deg),'uniform',0);%y轴刻度用°表示
set(gca, 'ytick',deg , 'yticklabel', yticks)%设置y轴刻度
set(gca, 'fontsize', 16, 'fontname','times new roman')%设置字号字体
axis([0 5 0 180])%设置xy轴范围
grid('on')%生成网格线
box('on')%加上外网格
效果:
答题不易,有帮助还请题主给个采纳支持一下,非常感谢