Matlab学习笔记

一. Matlab概述

MATLAB(矩阵实验室)是数字计算,可视化和编程的第四代高级编程语言和交互式环境。MATLAB是由MathWorks开发的。

它允许矩阵操纵,绘制功能和数据; 实现算法; 创建用户界面; 与其他语言编写的程序(包括C语言,C++,Java和FORTRAN)进行交互; 分析数据; 开发算法; 并创建模型和应用程序。

它有许多内置命令和数学函数,可以帮助您进行数学计算,生成图形和执行数值方法。

1. MATLAB计算数学

MATLAB用于计算数学的各个方面,以下是最常用的常用数学计算方法 -

  • 处理矩阵和数组
  • 2D和3D绘图和图形
  • 线性代数
  • 代数方程
  • 非线性函数
  • 统计
  • 数据分析
  • 微积分和微分方程
  • 数值计算
  • 积分
  • 变换
  • 曲线拟合
  • 各种其他特殊功能

2. MATLAB特点

以下是MATLAB的基本特性 -

  • 它是数字计算,可视化和应用程序开发的高级语言。
  • 它还为迭代探索,设计和解决问题提供了一个交互式环境。
  • 它为线性代数,统计学,傅里叶分析,滤波,优化,数值积分和求解常微分方程提供了广泛的数学函数库。
  • 它提供内置的图形,用于可视化数据和工具,用于创建自定义绘图。
  • MATLAB编程接口提供了开发工具,以提高代码质量的可维护性并最大限度提高性能。
  • 它提供使用自定义图形界面构建应用程序的工具。
  • 它提供了基于MATLAB的算法与外部应用程序和语言(如C语言,Java,.NET和Microsoft Excel)集成的功能。

3. MATLAB使用

MATLAB广泛应用于物理,化学,数学和所有工程流领域的科学与工程计算工具。 它用于一系列应用,包括 -

  • 信号处理和通信
  • 图像和视频处理
  • 控制系统
  • 测试和测量
  • 计算财务
  • 计算生物学

二. Matlab基础语法

MATLAB环境的行为就像一个超级复杂的计算器。可以在>>命令提示符下输入命令。
MATLAB是一个解释性的环境。换句话说,用户只要给出一个命令,MATLAB马上执行它。

1. 实践练习

在实践练习之前,首先打开 MATLAB R2018 ,如下图所示 -、

命令行窗口中输入有效的表达式,例如 -

Trial>> 5 + 5

然后按回车,MATLAB立即执行,返回结果如下 -

让我们再来看几个例子 -

计算次幂

Trial>> 3 ^ 2           % 3 raised to the power of 2

ans =

     9


MATLAB

计算正弦值

Trial>> sin(pi /2)      % sine of angle 90o

ans =

     1


MATLAB

除以零

Trial>> 7/0              % Divide by zero

ans =

   Inf


MATLAB

数学计算表达式

Trial>> 123 * 23.259

ans =

   2.8609e+03


MATLAB

MATLAB为某些数学符号提供了一些特殊表达式,如piπInfi(和j)为√-1.Nan代表“非数字”等。

2.在MATLAB中使用分号(😉

分号(;)表示结束语句。 但是,如果要抑制和隐藏表达式的MATLAB输出,请在表达式后添加分号。

例如,

x = 3;
y = x + 5


MATLAB

上面代码执行后,得到以下结果 -

Trial>> x = 3;
y = x + 5

y =

     8


MATLAB

3.添加注释

百分比符号(%)用于指示注释行。 例如,

x = 9    % assign the value 9 to x


MATLAB

还可以使用块注释运算符%{%}编写一段注释。

MATLAB编辑器包括工具和上下文菜单项,以帮助添加,删除或更改注释的格式。

4.常用的运算符和特殊字符

MATLAB支持以下常用的运算符和特殊字符 -

运算符 使用说明
+ 相加; 加法运算符。
- 相减; 减法运算符。
* 标量和矩阵乘法运算符。
.* 阵列乘法运算符。
^ 标量和矩阵求幂运算符。
.^ 阵列求幂运算符。
\ 左除法运算符。
/ 右除法运算符。
.\ 阵列左除法运算符。
./ 右除法运算符。
: 冒号; 生成规则间隔的元素,并表示整个行或列。
( ) 括号; 包含函数参数和数组索引; 覆盖优先级。
[ ] 括号; 罩住阵列元素。
. 小数点。
省略号; 行连续运算符
, 逗号; 分隔一行中的语句和元素
; 分号; 分隔列并抑制输出显示。
% 百分号;指定一个注释并指定格式。
_ 引用符号和转置运算符。
._ 非共轭转置运算符。
= 赋值运算符。

5.特殊变量和常数

MATLAB支持以下特殊变量和常量:

名称 含义
ans 最近的回应/回答。
eps 浮点精度精度。
i,j 虚构单位√-1
Inf 无穷
NaN 未定义的数值结果(非数字)。
pi 数字π

6. 命名变量

变量名称由一个字母组成,后跟任意数字的字母,数字或下划线。

MATLAB是区分大小写的编程语言。

变量名称可以是任意长度,但MATLAB只使用前N个字符,其中N由函数namelengthmax给出。

7. 保存工作

save命令用于在工作空间中保存所有变量,它在当前目录中,以.mat作为扩展名的文件。

例如,

save mymat


MATLAB

可以随时使用load命令重新加载文件。

load mymat

三. Matlab变量

在MATLAB环境中,每个变量都是数组或矩阵。

可以以简单的方式分配变量。 例如,

x = 12       % defining x and initializing it with a value


MATLAB

MATLAB执行上述语句并返回以下结果 -

Trial>> x = 12       % defining x and initializing it with a value

x =

    12


MATLAB

它创建一个名为x1×1矩阵,并将值12存储在其元素中。再来看一个例子,如下,

x = sqrt(16)     % defining x and initializing it with an expression


MATLAB

MATLAB执行上述语句并返回以下结果 -

Trial>> x = sqrt(16)     % defining x and initializing it with an expression

x =

     4


MATLAB

请注意 -

  • 当变量输入到系统中,可以在接下来代码中引用。
  • 变量在使用前必须有值。
  • 当表达式返回未分配给任何变量的结果时,系统将其分配给名为ans的变量,稍后可以使用它。

例如,

sqrt(99)


MATLAB

MATLAB执行上述语句并返回以下结果 -

Trial>> sqrt(99)

ans =

    9.9499


MATLAB

可以使用这个ans变量 -

sqrt(99);
99.499/ans

MATLAB执行上述语句并返回以下结果 -

Trial>> sqrt(99);
99.499/ans

ans =

   10.0000


MATLAB

下面我们再来看另一个例子 -

x = 7 * 8;
y = x * 7.89


MATLAB

MATLAB执行上述语句并返回以下结果 -

Trial>> x = 7 * 8;
y = x * 7.89

y =

  441.8400


MATLAB

1.多重分配赋值

可以在同一行上拥有多个赋值。 例如,

a = 2; b = 7; c = a * b


MATLAB

MATLAB执行上述语句并返回以下结果 -

c = 14


MATLAB

2.变量历史

who命令显示使用过的所有变量名。

Trial>> who

您的变量为:

ans  x    y


MATLAB

whos命令更多地显示变量 -

  • 当前在内存中的变量
  • 每个变量的类型
  • 每个变量的内存分配
  • 是否是复合的变量?

执行结果如下 -

Trial>> whos 
  Name      Size            Bytes  Class     Attributes

  ans       1x1                 8  double              
  x         1x1                 8  double              
  y         1x1                 8  double


MATLAB

清除命令从存储器中删除所有(或指定的)变量。

clear x     % it will delete x, won't display anything
clear          % it will delete all variables in the workspace
            %  peacefully and unobtrusively


MATLAB

3.长任务

长任务可以通过使用省略号(...)扩展到另一行。 例如,

initial_velocity = 0;
acceleration = 9.8;
time = 20;
final_velocity = initial_velocity ...
    + acceleration * time


MATLAB

MATLAB执行上述语句并返回以下结果 -

Trial>> initial_velocity = 0;
acceleration = 9.8;
time = 20;
final_velocity = initial_velocity + acceleration * time

final_velocity =

   196


MATLAB

4.格式命令

默认情况下,MATLAB显示四位小数位数。这称为:短格式

但是,如果要更精确,则需要使用format命令。

format long命令显示十进制后的16位数字。

例如 -

Trial>> format long
x = 7 + 10/3 + 5 ^ 1.2

x =

  17.231981640639408


MATLAB

另一个示例如下 -

Trial>> format short
x = 7 + 10/3 + 5 ^ 1.2

x =

   17.2320


MATLAB

format bank命令将数字舍入到小数点后两位。例如,

format bank
daily_wage = 177.45;
weekly_wage = daily_wage * 6


MATLAB

MATLAB执行上述语句并返回以下结果 -

Trial>> format bank
daily_wage = 177.45;
weekly_wage = daily_wage * 6

weekly_wage =

       1064.70


MATLAB

MATLAB使用指数符号显示大数字。

format short e命令以指数形式显示四位小数加上指数。

例如,

format short e
4.678 * 4.9


MATLAB

MATLAB执行上述语句并返回以下结果 -

Trial>> format short e
4.678 * 4.9

ans =

   2.2922e+01


MATLAB

format long e命令允许以指数形式显示十六位小数加上指数。 例如,

format long e
x = pi


MATLAB

MATLAB执行上述语句并返回以下结果 -

Trial>> format long e
x = pi

x =

     3.141592653589793e+00


MATLAB

format rat命令给出计算结果最接近的合理表达式。 例如,

format rat
4.678 * 4.9


MATLAB

MATLAB执行上述语句并返回以下结果 -

Trial>> format rat
4.678 * 4.9

ans =

    2063/90


MATLAB

5.创建向量

向量是数字的一维数组。MATLAB允许创建两种类型的向量:

  • 行向量
  • 列向量

行向量是通过用方括号中的元素集合来创建的,使用空格或逗号分隔元素。

例如,

r = [7 8 9 10 11]


MATLAB

MATLAB执行上述语句并返回以下结果 -

Trial>> r = [7 8 9 10 11]

r =

       7              8              9             10             11


MATLAB

另一个示例

r = [7 8 9 10 11];
t = [2, 3, 4, 5, 6];
res = r + t


MATLAB

MATLAB执行上述语句并返回以下结果 -

Trial>> r = [7 8 9 10 11];
t = [2, 3, 4, 5, 6];
res = r + t

res =

       9             11             13             15             17


MATLAB

列向量通过用方括号中的元素集合来创建,使用分号(;)来分隔元素。

c = [7;  8;  9;  10; 11]


MATLAB

MATLAB执行上述语句并返回以下结果 -

Trial>> c = [7;  8;  9;  10; 11]

c =

       7       
       8       
       9       
      10       
      11


MATLAB

6.创建矩阵

矩阵是数字的二维数组。

在MATLAB中,通过将每行作为一系列空格或逗号分隔的元素输入矩阵,并以行号分隔一行。 例如,创建一个3x3的矩阵:

m = [1 2 3; 4 5 6; 7 8 9]


Maltab

MATLAB执行上述语句并返回以下结果 -

Trial>> m = [1 2 3; 4 5 6; 7 8 9]

m =

       1              2              3       
       4              5              6       
       7              8              9
posted @ 2019-06-06 21:33  代号1024  阅读(736)  评论(0编辑  收藏  举报