MATLAB零基础入门(一)

大家好!我是Henry!上一期的Python爬虫实践中,Henry导入了Matplotlib库进行了新冠疫情的每日新增的绘图。其实Matplotlib的原型是另一门应用非常广泛的语言——Matlab。最近Henry也学习了一些Matlab的绘图技巧,分享给大家~

我们先放几张效果图~

MATLAB零基础入门(一)_第1张图片

MATLAB零基础入门(一)_第2张图片

MATLAB零基础入门(一)_第3张图片

y=sinx

MATLAB零基础入门(一)_第4张图片

MATLAB零基础入门(一)_第5张图片

看到这里,是不是觉得很酷炫呢!那跟着我一起来学习吧!

一、MATLAB初印象

1.什么是MATLAB?

  • MATLAB的实际含义是Matrix Laboratory,从名字我们知道,最初是设计出来为了更好的理解线性代数(Linear algebra),后来逐步演化为现在的功能及其强大的MATLAB

2.如何下载MATLAB?

  • MATLAB的官网可以下载免费试用版(30天).
  • 各大高校可能为大家购买了正版,可以在学校的信息化网站上找到。
  • 公众号关注软件安装管家,回复matlab,可以获得百度网盘的资源。

3.MATLAB界面熟悉

MATLAB零基础入门(一)_第6张图片

二、开始绘图(在实时脚本中编写并运行)

1.简单平面函数图像

  • 我们先从最简单的线性函数开始,打卡MATLAB界面,输入如下代码
x=0:0.5:4;  % 这里表示,x变量为[0,4],中间每隔0.5写一个坐标值,作为横轴。
y=2*x+1;    % 变量y=2x+1,作为纵轴。
plot(x,y)   % 调用plot函数,横纵轴变量作为参数,进行绘图。

点击运行(Run),得到图像。

MATLAB零基础入门(一)_第7张图片 y=2x+1
  • 我们再尝试一个复杂的平面图象y=2e^{-0.5x}\cos 4\pi x,输入如下代码
x=0:pi/100:2*pi;              %定义变量x为[0,2pi],每隔pi/100标注一个坐标值,作为横轴
y=2*exp(-0.5*x).*cos(4*pi*x); %定义变量y,exp(x)表示自然底数的指数函数e的x次方,.*表示点乘
plot(x,y)                     %调用plot函数,进行绘图

运行结果为

MATLAB零基础入门(一)_第8张图片

  • 我们再尝试一个极坐标函数图像r=\sin t\cos t,输入如下代码
t=0:pi/50:2*pi;        %定义变量t[0,2pi],每隔pi/50标注一个坐标值,作为横轴
r=sin(t).*cos(t);      %定义变量r=sint·cost, .*表示点乘(内积)
polarplot(t,r);        %这里不能直接调用plot函数,而是专门绘制极坐标图的polarplot函数。 

运行结果为

MATLAB零基础入门(一)_第9张图片

2.绘制子图。

有时候,我们需要在一张纸上,绘制多个图,就需要用到subplot函数,创建多个图像。具体用法为:

subplot(m,n,i) 
% 这条语句表示,创建一个m行n列的画布(即可以画m*n个图像),现在进行第i个图像的绘制

在这里额外补充几个图的类型:条形图(bar),阶梯图(stairs),杆图(stem),填充图(fill),我们通过实际的例子来学习,顺便用一下刚学的子图,将这几个图画在同一张画布上。
我们选取的例子为简单的平面函数y=2\sin x

x=0:pi/10:2*pi;          %定义x变量为[0,2pi],每隔0.1pi标记一个点,作为横轴
y=2*sin(x);              %定义变量y=2*sinx
subplot(2,2,1);                 %创建一个2行2列的画布,现在进行第一张图的绘制
bar(x,y,'g');                   %绘制一张以x,y为横纵坐标的条形图,颜色用绿色(green)
title('bar(x,y,''g'')');        %创建第一张图的标题为“bar(x,y,''g'')”
axis([0,7,-2,2]);               %控制显示的坐标轴的长度,x为[0,7],y为[-2,2]
subplot(2,2,2);                 %现在进行第二张图的绘制
stairs(x,y,'b');                %绘制一张以x,y为横纵坐标的阶梯图,颜色用蓝色(blue)
title('stairs(x,y,''b'')');     %创建第二张图的标题为“stairs(x,y,''b'')”
axis([0,7,-2,2]);               %控制显示的坐标轴的长度,x为[0,7],y为[-2,2]
subplot(2,2,3);                 %现在进行第三张图的绘制
stem(x,y,'k');                  %绘制一张以x,y为横纵坐标的杆图,颜色用黑色(black)
title('stem(x,y,''k'')');       %创建第三张图的标题为“stem(x,y,''b'')”
axis([0,7,-2,2]);               %控制显示的坐标轴的长度,x为[0,7],y为[-2,2]
subplot(2,2,4);                 %现在进行第四张图的绘制
fill(x,y,'y');                  %绘制一张以x,y为横纵坐标的填充图,颜色用黄色(yellow)
title('fill(x,y,''y'')');       %创建第四张图的标题为“fill(x,y,''y'')”
axis([0,7,-2,2]);               %控制显示的坐标轴的长度,x为[0,7],y为[-2,2]

运行结果如下:

MATLAB零基础入门(一)_第10张图片

3.绘制三维图像

往往,我们还需要绘制三维函数图像,我们还是从例子中学习。

  • 先举一个大家熟悉的例子:空间螺线(  )
t=0:pi/100:20*pi;        %定义变量t[0,20pi],每隔pi/100标注一个坐标值
x=sin(t);                %定义变量x=sint
y=cos(t);                %定义变量y=cost
z=t;                     %定义变量z=t
plot3(x,y,z);                %调用绘图函数plot3,表示绘制三维图像,三个参数分别为x,y,z轴值
title('Line in 3-D Space');  %标题为“Line in 3-D Space”
xlabel('X');
ylabel('Y');     %给x,y,z轴分别加上标签(label),即命名
zlabel('Z'); 
grid on;         %grid on 表示打开网格,会出的图像会出现网格

运行结果为:

MATLAB零基础入门(一)_第11张图片

  • 再给大家介绍一下更复杂的几个三维曲面图像:花瓶型(cylinder),球形(sphere),多峰型(peaks)
t=0:pi/20:2*pi;                   %定义参数t[0,2pi],每隔pi/100标注一个。
[x,y,z]= cylinder(2+sin(t),30);   %将x,y,z定义为花瓶型并绘图(cylinder本身为圆柱,这里将表面调整了)
subplot(2,2,1);                   %创建一个可以画四个图的子图,这里画其中第一个
mesh(x,y,z);                      %mesh为绘制网格曲面图的函数
subplot(2,2,2);                   %画第二个图
[x,y,z]=sphere;                   %将x,y,z定义为球形并绘图
mesh(x,y,z);                       
subplot(2,1,2);                   %画第三个图
[x,y,z]=peaks(30);                %将x,y,z定义为多峰型并绘图
mesh(x,y,z);

运行结果如下:

MATLAB零基础入门(一)_第12张图片

三、总结

  • MATLAB是一款功能强大的软件,已经形成独立的matlab语言,本篇提到的绘图功能仅仅是它的一小部分内容
  • 后续Henry会继续分享关于用MATLAB修图,编辑视频等文章,希望大家可以多多关注。
  • 动动你的小手指双击点个赞吧~
  • 关注一波放走丢~

写在最后:希望大家关注我的微信公众号一起学习:今天我秃了吗

欢迎大家关注我的知乎账号一起学习:HenryLau

 

你可能感兴趣的:(matlab,matlab)