MATLAB基础学习指南(下篇)

二、 MATLAB基本语法

7、基本绘图方法

Ⅰ、 MATLAB绘图的一般步骤

对数轴进行采样 对采样点计算相应的函数值, 得到平面(或空间)上的点的数据 运用绘图命令将数据进行图形化显示
x=-1:0.01:1;%对数轴进行采样 y=sin(1./x);%对每一个采样点, 计算对应的函数值 plot(x,y);%将x,y表示的平面上的点用直线段连接起来

画出y=sin(1/x), x∈[-1,1]的图形,如下:

Ⅱ、线型、点型和颜色

使用格式: plot(x,y,'绘图参数')

plot(x,y,'*b');  %点型为*, 颜色为蓝色plot(x,y,':g');  %线型为虚线, 颜色为绿色plot(x,y,'+-r');  %点型为+,线型为实线, 颜色为红色

                                                                    MATLAB绘图参数表


线型说明点型号说明颜色说明
-实线(默认)+加号符r红色
--双划线o空心圆g绿色
:虚线*星号b蓝色
:.点划线.实心圆c青绿色
x叉号符m洋红色
s正方形y黄色
d菱形k黑色
^上三角形w白色
v下三角形
>右三角形
<左三角形
p五角星
h六边形

Ⅲ、多条曲线的绘制

有多种方法在一张图上显示多条曲线, 这里介绍两种方法

(1)用plot(x1,y1,x2,y2,…)命令
t=0:0.5:4*pi;y=exp(-0.1*t).*sin(t);y1=exp(-0.1*t).*sin(t+1);plot(t,y,t,y1);

(2)用hold on命令

在执行一次绘图命令合, 使用hold on命令保持当前画板, 使得后面绘制的图形在当前画板上.

t=0:0.5:4*pi;y=exp(-0.1*t).*sin(t);y1=exp(-0.1*t).*sin(t+1);plot(t,y);hold onplot(t,y1);hold off

Ⅳ、三维曲线和曲面

(1)绘制三维曲线
格式: plot3(x,y,z)
z=0:0.1:4*pi;x=cos(z);y=sin(z);plot3(x,y,z);

(2) 绘制三维曲面

步骤:

分别对x,y轴进行采样; 生成x-y平面网格; 计算网格点对应的z值; 用三维曲面绘图命令绘图
x=-8:0.5:8;y=-8:0.5:8;[X,Y] = meshgrid(x,y);R = sqrt(X.^2+Y.^2)+eps;            Z = sin(R)./R;mesh(X,Y,Z);

注:在上述公式中,eps是一个非常小的数,通常被称为“机器精度”(machine epsilon)。它用于避免在计算机程序中出现除以零的错误

                                              常用绘图命令


plot线性X-Y坐标绘图legend标注图例
axis控制坐标轴比例和外观plot3三维曲线作图
hold on保持当前画板meshgrid生成网格
hold off释放当前画板mesh三维曲面作图
title标题surf三维曲面作图
xlabelX轴标注meshc加等高线的三维曲面作图
ylabelY轴标注surfc加等高线的三维曲面作图
textt在图上标文字contour平面等高线
grid on图上加坐标网格contour3三维等高线
grid off去掉网格subplot子图

8、逻辑运算

MATLAB的逻辑值有真(TRUE)和假(FALSE), 可以通过逻辑表达式或直接输入得到. 输入和显示时用0表示逻辑假, 1表示逻辑真. 浮点数和逻辑值可以互相转换.

                                                   浮点数与逻辑值的相互转换

                         

                                                     关系运算及逻辑运算符


符号意义符号意义符号意义
>大于<小于>=大于或等于
<=小于或等于==等于~=不等于
&逻辑与|逻辑或~逻辑非
&&逻辑与(短路)||逻辑或(短路)xor逻辑异或
A=[0 0 1 1]B=[0 1 0 1] A&B                 与                              A|B                 或~A                  非xor(A, B)         异或G=magic(6)        魔方矩阵rem(G,2)          G的元素整除2的余数p=(rem(G, 3)==0)     判断元素是否是0u=p|~p            两个逻辑数组对应元素进行运算 得到:A =      0     0     1     1  B =      0     1     0     1  ans =   1×4 logical 数组    0   0   0   1  ans =   1×4 logical 数组    0   1   1   1  ans =   1×4 logical 数组    1   1   0   0  ans =   1×4 logical 数组    0   1   1   0  G =     35     1     6    26    19    24     3    32     7    21    23    25    31     9     2    22    27    20     8    28    33    17    10    15    30     5    34    12    14    16     4    36    29    13    18    11  ans =      1     1     0     0     1     0     1     0     1     1     1     1     1     1     0     0     1     0     0     0     1     1     0     1     0     1     0     0     0     0     0     0     1     1     0     1  p =   6×6 logical 数组    0   0   1   0   0   1   1   0   0   1   0   0   0   1   0   0   1   0   0   0   1   0   0   1   1   0   0   1   0   0   0   1   0   0   1   0  u =   6×6 logical 数组    1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1

魔方阵是一个矩阵,其中每行、每列以及对角线上的所有元素之和都相等。请注意,魔方阵只能在方阵(即行数等于列数)中生成。在生成魔方阵时,算法会优化使得每行、每列和对角线之和都相等。这使得生成的魔方阵在数学和游戏等领域具有一些特殊的性质和用途。

A = rand(4,4)B = A<0.5C = A(B)R = find(A<0.5)得到:A =     0.7094    0.6551    0.9597    0.7513    0.7547    0.1626    0.3404    0.2551    0.2760    0.1190    0.5853    0.5060    0.6797    0.4984    0.2238    0.6991  B =   4×4 logical 数组    0   0   0   0   0   1   1   1   1   1   0   0   0   1   1   0  C =     0.2760    0.1626    0.1190    0.4984    0.3404    0.2238    0.2551  R =      3     6     7     8    10    12    14

9、流程控制语句

(1)if语句

格式一:
if (表达式) 语句组A; end
格式二:
if (表达式1) 语句组A; else 语句组B; end
格式三:
if (表达式1) 语句组A; elseif (表达式2) 语句组B; else 语句组C; end

(2) while语句

格式:
while (表达式) 语句组; end

举例:求MATLAB相对精度,y不断减小,直至MATLAB分不出1+y与1的差别为止。

y=1;while (1+y)>1    y1=y;    y=y/2;endy1 得到:y1 =    2.2204e-16

(3) for语句

格式:

for k= 初值:增量:终值 语句组; end

举例:显示三角函数表

for x=0:0.1:pi/4    disp([x, sin(x), cos(x), tan(x)])end得到: 0     0     1     0     0.1000    0.0998    0.9950    0.1003     0.2000    0.1987    0.9801    0.2027     0.3000    0.2955    0.9553    0.3093     0.4000    0.3894    0.9211    0.4228     0.5000    0.4794    0.8776    0.5463     0.6000    0.5646    0.8253    0.6841     0.7000    0.6442    0.7648    0.8423

10、M程序及M函数

  • MATLAB的程序通常用后缀名为m的文本文件来保存, 所以 可以用任何文字编辑工具来创建和编写.  MATLAB程序可直接调用M文件并执行.
  • M文件分为两种: 一种是M程序, 为用户解决特定的问题编制的, 可以独立执行;另一种是M函数, 用来完成相对独立的子功能, 不能独立执行.  MATLAB软件的大部分功能是来自其建立的函数集.
  • 在MATLAB中创建M程序和M函数的方法是相同的. 点击菜单“File→New → M-File”, 打开文本编辑器, 程序编写完成后, 点击 按纽         即可执行.  程序的输出结果在命令窗口.
  • 通常用户建立的M程序和M函数存放在当前目录中, MATLAB可以自动搜索到.

(1) M程序

M程序特征:

由一般语句组成, 程序中的变量是全局的, 可以在MATLAB命令窗口输入文件名来执行.

举例:

%列出一个求fibonnaci数的程序, 它是一个数列, 从[1,1]开始, 由数列的最后两个元素之和生成新的元素, 依次递推 f=[1,1]; i=1;N=10;while f(i)+f(i+1)<N  %循环条件检验    f(i+2)=f(i+1)+f(i); %求fibonnaci数的算式    i=i+1;  endf得到:f =      1     1     2     3     5     8

(2) M函数

M函数特征:

由function起头, 后面跟的函数名, 函数名必须与文件名相同. 有输入输出变量, 可以进行变量传递. 除非用global声明, 程序中的变量均为局部变量, 不保存在工作空间中. M函数不能独立运行, 必须由其它程序调用.

一般格式:function y=FunctionName(x)

免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空