许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  MATLAB基础学习指南(下篇)

MATLAB基础学习指南(下篇)

阅读数 3031
点赞 86
article_banner

二、 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 三维曲面作图
xlabel X轴标注 meshc 加等高线的三维曲面作图
ylabel Y轴标注 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)

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


武汉格发信息技术有限公司,格发许可优化管理系统可以帮你评估贵公司软件许可的真实需求,再低成本合规性管理软件许可,帮助贵司提高软件投资回报率,为软件采购、使用提供科学决策依据。支持的软件有: CAD,CAE,PDM,PLM,Catia,Ugnx, AutoCAD, Pro/E, Solidworks 等。

相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

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

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空