如何用matlab画出这样的图? 怎么用matlab画这种图?
作者&投稿:逮兰 (若有异议请与网页底部的电邮联系)
怎么用matlab画出这样的图?~
利用surf试下
Freq = 0:0.1:30;Pow = sin(0.03*sqrt(3*Freq.^3-Freq.^2 + Freq))+1.3;plot(Freq,Pow,'color','k','linewidth',4)hold onx = [0 5 5 0];y = [0 0 2.5 2.5];h=patch(x,y,'g');set(h,'facealpha',0.3,'edgecolor','none')x = [5 15 15 5];y = [0 0 2.5 2.5];h=patch(x,y,'r');set(h,'facealpha',0.3,'edgecolor','none')x = [15 25 25 15];y = [0 0 2.5 2.5];h=patch(x,y,'b');set(h,'facealpha',0.3,'edgecolor','none')
本视频展示如何用matlab绘制散圆状态图,可用于相关科研数据绘图!
[x y z]=peaks;
h=mesh(x,y,z);hold on %现根据数据画图
a = get(gca,'zlim'); %获得图像的z方向上下限
zpos = a(1); %zpos为下限
[cc,hh]=contour3(x,y,z,[-5:2:5]);%画轮廓线
hold off
for i = 1:length(hh)
zz = get(hh(i),'Zdata'); %获得轮廓线的高度数据
set(hh(i),'Zdata',zpos*ones(size(zz)));
%将轮廓线的高度数据改为zpos
%不一定要显示在原来图像的z下限
%可以根据需要显示在指定的z=zpos平面
end
clabel(cc,hh);%标注轮廓线
set(h,'edgecolor','k'); %改网格颜色
set(hh,'edgecolor','k');%改轮廓线颜色
本视频展示如何用matlab绘制散圆状态图,可用于相关科研数据绘图!
利用surf试下