最适合小白的matlab教程系列_进阶系列一

二维平面图形

plot函数

命令格式:

plot(x,y) %x位横坐标值,y为纵坐标值
plot(y) %序号作为横坐标值,y为纵坐标
plot(x,y,s) %s表示输格式

例题:绘制y=x方的函数图像

x=-10:10;
y=x.^2;
plot(x,y)

出来之后:
在这里插入图片描述
案例
x=-10:10
y=x.^2
plot(x,y,‘r-.’)

结果图:

在这里插入图片描述
和上一个相比是不是只有颜色和曲线变化了,在下面我们附上各种颜色的代码

附上颜色代码

在这里插入图片描述

我们更少不了图形的修饰

axis([xmin xmax ymin ymax])%设置坐标轴的最小最大值
xlabel('string') %标记横坐标
ylabel('string') %标记纵坐标
title('string') %添加标题
text(x,y,'string') %在图形的任意位置增加说明性文本信息
gtext('string') %利用鼠标添加说明性文本信息
grid on %给当前图形标记添加网络
grid off %给当前图形标记取消网络

案例:

案例绘制y=x方的函数图像,加入横坐标,纵坐标,标题
设置横坐标范围[-12,12] 纵坐标范围[-1~102],添加网格线

x=-10:10;
y=x.^2;
plot(x,y)
axis([-12,12,-1,102])
xlabel('x');
ylabel('y');
title('y=x^2函数图像')
grid on

结果图:在这里插入图片描述

图形窗口分割

命令格式:subplot(m,n,p)

把当前窗口分成m×n个绘图区,m行,每行n个绘图区,区号按行优先排序
其中第p个区为当前活动区

实例分析
jinjiehuitu2
subplot(2,2,1)
subplot(2,2,2)
subplot(2,2,3)
subplot(2,2,4)

在这里插入图片描述

几个图

图名 代码
条形图 bar(x,y,s)
阶梯图 stairs(x,y,s)
杆图 stem(x,y,s)
填充图 fill(x,y,s)

案例

x=0:0,4:8;
y=2exp(-0.5x)

subplot(2,2,1);bar(x,y,'r');
title('bar(x,y,"red")');
axis([-.2,8.1,-.1,2.1]);

subplot(2,2,2);stairs(x,y,'b');
title('bar(x,y,"blue")');
axis([-.2,8.1,-.1,2.1]);

subplot(2,2,3);stem(x,y,'g');
title('bar(x,y,"green")');
axis([-.2,8.1,-.1,2.1]);

subplot(2,2,4);fill(x,y,'y');
title('bar(x,y,"yellow")');
axis([-.2,8.1,-.1,2.1]);

在这里插入图片描述
对数坐标图

半对数坐标,x轴为对数刻度 semilogx(x,y,s)
半对数坐标,y轴为对数刻度 semilogy(x,y,s)
全对数坐标,xy轴均为对数刻度 loglog(x,y,s)

堆数坐标图的应用

变量在研究范围发生了数量级的变化时
当自变量少许变化会引起因变量极大变化时
需要将曲线开始部分划分为展开的形式时
需要变换某种非线性关系为线性关系时

x=1:1e4;
y=20*log10(x.2-x.3)

例题
绘制e^10x图像

x=1:10;
y=exp(10*x);
semilogy(x,y);

在这里插入图片描述

例题
绘制y=x^2lg(x)

x=1:1e4
y=x.^2.*log10(x);
plot(x,y)

极坐标图
命令格式:polar(theta,rho,s)

theta=极坐标极角
rho=极径

例题

分别绘制9个,12个花瓣的玫瑰线,r=cos(k0),如果k是偶数,玫瑰线就有2k个花瓣,
如果k是奇数,则有k个花瓣

t=0:0.01:2*pi;
r1=cos(9*t)
polar(t,r1,'.-m')
title('9瓣玫瑰')
figure;
r2=cos(6*t)
polar(t,r2,'.-b')
title('12瓣玫瑰')

在这里插入图片描述

plot3函数

命名格式plot3(x,y,z,s)

plot3(x1,y1,z1,s1,x2,y2,z2,s2,……)

例题,绘制三维图像X=8cos(t),Y=4根下2sin(t),Z=-4根下2sin(t)

t=0:pi/50:2*pi;
x=8*cos(t);
y=4*sqrt(2)*sin(t);
z=-4*sqrt(2)*sin(t)

plot3(x,y,z,'p')
title('Line in 3_D Space');
text(0,0,0,'origin');
xlabel('X');ylabel('Y');zlabel('Z');grid on;

在这里插入图片描述

绘制三维曲面的函数

命令格式
绘制三维网格图:mesh(x,y,z,c)
绘制三维曲面图:surf(x,y,z,c)
xyz坐标 c为高度

例题
绘制z(x,y)=xe(-x2-y^2);

[X,Y]=meshgrid(-2:0.2:2,-2:0.2:2);
Z=X.*exp(-X.^2-Y.^2);
subplot(1,2,1);mesh(X,Y,Z);
title('mesh(X,Y,Z)')
subplot(1,2,2);surf(X,Y,Z);
title('surf(X,Y,Z)')

绘制三维网格图(带高等线) meshc(x,y,z,c)
绘制三维曲面图(带底座) meshz(x,y,z,c)

在这里插入图片描述

标准三维曲面

命令格式
[x,y,z]=sphere(n) %绘制三维球面 n代表圆滑程度
[x,y,z]=cylinder(R,n) %绘制三维柱面 R代表向量,存放柱面各个等间隔高度上上的半径 n代表圆滑程度

绘制单位球体

[X,Y,Z]=sphere(20);
subplot(2,1,1);mesh(X,Y,Z);
title('mesh(X,Y,Z)');
subplot(2,1,2);surf(X,Y,Z);
title('surf(X,Y,Z)');

在这里插入图片描述绘制半径为3的圆柱体

[x,y,z]=cylinder(3,30);
surf(x,y,z);

在这里插入图片描述
绘制圆锥体

[x,y,z]=cylinder([3,0],30);
surf(x,y,z);

在这里插入图片描述
绘制花瓶

t=0:pi/20:2*pi;
[x,y,z]=cylinder(2+sin(t),30);
surf(x,y,z,'LineStyle','none');
colormap('copper')
axis off

在这里插入图片描述
特殊三维图形
bar3(y) %绘制三维条形图
bar3(x,y) %绘制三维条形图
stem3(z) %绘制三维杆图
stem3(x,y,z) %绘制三维杆图%x y指定位置绘制杆图

例题
绘制某地区2000=2010的各月温度表
导入并绘制:

load MonthyTemps;
bar3(temperatures)

然后:描述

load MonthyTemps;
months=1:12;
years=2000:2010;
figure
bar3(temperatures)

title('某地区2000=2010的各月温度表')
xlabel('月')
ylabel('年')
zlabel('温度')

set(gca,'XTickLabel',months)%修改坐标轴标签与 months配对
set(gca,'YTickLabel',years)

绘制三维杆图y=根下x,z=根下x2+y2;

x=1:0.5:20;
y=sqrt(x);
z=sqrt(x.^2+y.^2);
stem3(x,y,z);

在这里插入图片描述
特殊三维图形
命令格式
pie3(x) %绘制三维饼图
pie3(x,explode) %绘制三维饼图
fill3(x,y,z,c) %绘制三维填充图

例题1
给定一个任意向量,绘制饼图

x=[1,2,3,4];
explode=[0 1 0 0];%对应的元素和整体分开
pie3(x,explode);
title('Pie 3 Chart')

在这里插入图片描述
例题:给定随机数 绘制填充图

a=[3,5];%代表53边形
X=rand(a);
Y=rand(a);
Z=rand(a);
C=rand(a);
fill3(X,Y,Z,C)

在这里插入图片描述
其他三维图形
命令格式
waterfall(x,y,z) %绘制瀑布图
contour3(x,y,z,n) %绘制等高线图
例题:绘制多峰函数的瀑布图和等高线图

[X,Y,Z]=peaks(50);%多峰函数的光滑性
subplot(1,2,1);
waterfall(X,Y,Z);
title('Waterfall')
xlabel('X');ylabei('Y');zlabel('Z');
subplot(1,2,2);
contour3(X,Y,Z,12);%高度的等级数12
title('Contour')
xlabel('X');ylabel('Y');zlabel('Z');

在这里插入图片描述

三维图形视点处理

命令格式vier(az,el)
az为方位角
el为仰角
单位:度
jinjiehuitu18
例题:从不同视点绘制函数

subplot(2,2,1);mesh(peaks);
title('1');view(-37.5,30);
xlabel('x');ylabel('y');

subplot(2,2,2);mesh(peaks);
title('2');view(0,0);
xlabel('x');ylabel('y');

subplot(2,2,3);mesh(peaks);
title('3');view(-15,-10);
xlabel('x');ylabel('y');

subplot(2,2,4);mesh(peaks);
title('4');view(0,90);
xlabel('x');ylabel('y');

在这里插入图片描述
隐函数作图
函数f=f(x),ezplot的调用格式:ezplot(f)
在默认区间(-2pi,2pi)绘制,在区间(a,b)绘制ezplot(f,[a,b])
隐函数f=f(x,y),ezplot的调用格式ezplot(f),
在默认区间(-2pi,2pi)绘制f(x,y)=0的图形
ezplot(f,[xmin,xmax,ymin,ymax])在区[xmin,xmax,ymin,ymax]绘制
在区间(a,b)(a,b)绘制ezplot(f,[a,b])

例题
绘制f(x)=2*x-5的图像,绘制x2+y2=9的图像

subplot(1,2,1);
ezplot('2*x-5',[0,5])
subplot(1,2,2);
ezplot('x^2+y^2-9',[-4,4]);

参数方程作图
x=x(t);y=y(t);ezplot函数的调用格式为:ezplot(x,y)
在默认区间 绘制x=x(t),y=y(t)图形ezplot(x,y,[tmin,tmax])
实例
绘制参数方程x=8cos(t),y=4根下2sin(t)

ezplot('8*cos(t)','4*sqrt(2)*sin(t)',[0,2*pi]);

在这里插入图片描述
其他隐函数
ezpolar
ezcontour
ezplot3
ezmesh
ezmeshc
ezsurf
ezsurfc

发布了100 篇原创文章 · 获赞 253 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/weixin_45822638/article/details/105329661