MATLAB的使用(一)

一,MATLAB的编程特点

a,语法高度简化;

b,脚本式解释型语言;

c,针对矩阵的高性能运算;

d,丰富的函数工具箱支持;

e,通过matlab本体构建跨平台;

二,MATLAB的界面

工具栏:提供快捷操作编辑器:

脚本代码窗口工作区:

脚本变量窗口工作路径:

当前文件运行的检索路径

三,MATLAB的工具栏

新建脚本:新建脚本或函数(*.m)文件

新建实时脚本:新建可交互脚本(*.mlx)文件

新建/打卡:支持更加泛化的新建/打开文件类型导入数据:加载可识别的数据文件

保存工作区:将工作区的文件保存至(*.mat)文件

Simulink:打开可视化仿真工具

预设:MATLAB相关参数设置

帮助:查询相关文档和示例

四,常用控制代码

4.1 clc:清空命令行

4.2 clear:清空工作区变量

4.3 clear all:清空工作区(在一般matlab使用中等价于clear)

4.4  close:关闭当前图像窗口

4.5 *dbstop if error:建立变量缓冲区,在错误位置自动断点调试

编译器会报错,在错误的地方停止运行

4.6 Crtl + R/crtl + T:注释和反注释(支持批量)

4.7 ctrl + C: 强制停止

4.8 crtl + R:智能缩进

4.9 F9:在命令行中运行编译器内代码

五,MATLAB运算

命令行==计算器?

1,加+ 减- 乘* 除 /

2,平方根 sqrt(),任意次幂()^();power(,)

4,对数 log();log10();log2(); log1p()

5,指数exp();expm1();pow2();nextpow2()

6,三角函数 sin( );cos(); sinpi( );cospi();tan( )

7,反三角函数 asin( );acos( );asind();acosd( );atan( );atand( ); atan2()

六,MATLAB整体运算

1 模与余数 mod(,)rem(,)

2,符号函数sign()

3,matlab小数计算

4,matlab整体运算

5,生成随机数

 七,矩阵

1,矩阵的重要性

矩阵是MATLAB的核心

MATLAB通过建立特定平台进行大量的硬件针对性优化

2,创建向量

特殊的矩阵形式:向量。

生成格式:

①起始数据:数据间隔(可忽略,默认为1):结束数据

示例:

1:100(等价于1:1:100)  范围为1到100,间隔为1,1*100的向量

1:2:100                                范围为1到100,间隔为2,1*50的向量

100:-1:1                               范围为1到100,间隔为-1,1*100的向量

1:1:100.7                             范围为1到100(<=100.7的最大整数),间隔为1,1*100的向量

②特殊异常模式(三冒号表达式)A:B:C:D 

>>1:2:4:5                                                                         >>2:-1:3:5

ans =                                                                                ans =

1 2 3 4 5                                                                            空的 1*0 的double行向量

无用形式,但不会报错
 

3,赋值方法


[3.4]                                                 创建了值为3.4的1乘1矩阵(标量)
[1.0,2.0,3.0]                                     创建了值为[1  2  3]的1乘3矩阵(行向量)
[1.0 2.0 3.0]                                     创建了值为[1  2  3]的1乘3矩阵(行向量)
[1.0; 2.0; 3.0]                                   创建了值为[1  2  3]^T的3乘1矩阵(列向量)
[1,2, 3; 4, 5, 6]                                 创建了值为2*3的矩阵
[1,2,3  

4, 5,6]                                     创建了值为2*3的矩阵

采用逗号或空格来分割行元素

采用分号或换行来分割列元素

4,矩阵快速创建方法

 

 

 

 

5,矩阵运算模式

矩阵相乘                      A*B

矩阵右乘                      A/B等价于A*B的逆              注意左除和右除的区别

矩阵左乘                      A/B等价于A的逆乘B

矩阵数乘                      A.*B

矩阵右除                      A./B等价于A除以B             每个元素进行分别操作

矩阵左除                      A./B等价于A除B

对于数+/-矩阵,其相当于在矩阵每个元素加减此数

 

 6,其他运算方法

矩阵A求逆                                     inv(A)

矩阵A求伪逆                                  pinv(A)              适用于非方阵和奇异阵

矩阵A求转置                                  A'

求行列式A                                      det(A)

求行列式A的迹                               trace(A)

求矩阵A的LU分解                          lu(A)

求矩阵A的QR分解                          qr(A)

求矩阵A的特征值与向量                 eig(A)                 矩阵分析常用

 

大家可以自己打代码试一下

7,矩阵数据的提取

确定矩阵的大小
length()-用于向量                                 size()-用于矩阵

元素提取:
A(m,n)表示提取矩阵的第m,n位置处的值
注意m,n不能超出矩阵维度,matlab中起始值为1
冒号/end提取法:
A( :1)                           提取矩阵第一列
A(1,: )                          提取矩阵第一行
A(1,end)                     提取矩阵第一行中最后一个值
A(2:2:end,:)                提取偶数行

8,矩阵操作

-更改矩阵的大小:

Matrix_out = reshape( Matrix_in , m , n)

m/n为新矩阵的行数和列数

注意在矩阵改变的同时不能改变元素个数

-复制扩充:

Matrix out = repmat( Matrix_in , m , n)

m/n为扩充的行倍数和列倍数

9,交叉知识-稀疏矩阵

采用[(m,n),value]三元组来存储数据,不存储0值以节省空间

直接生成稀疏矩阵:sparse(m,n)

将矩阵A强制转化为稀疏矩阵:sparse(A)

>>one(1e5)

错误使用 ones

请求的100000*100000(74.5GB)数组超过预设的最大数值大小

>>sparse(1e5,1e5)

ans=

       全零稀疏矩阵:100000*100000

节省存储空间,对于严重稀疏矩阵加快运算速度

八,逻辑

1,逻辑变量

Logical类型:true(真值),false(假值)

>>a = true

a = 

logical

1

*******************************************

>>b=false

b=

logical

0

*******************************************

>>a = true + 1.1

a = 

2.1000

*******************************************

逻辑变量可参与运算,参与运算时其默认值为1/0

>>logical(-0.5)

ans=

logical

1

*****************************************************

>>logical(2)

ans=

logical

2

*******************************************************

逻辑类型的强制中,所有非0值(包括字符串)都会转化为真值

2,逻辑判定

3,逻辑运算

4,优先级

相关推荐

  1. PythonMATLAB使用

    2024-03-19 13:42:01       41 阅读
  2. MATLABTable数据使用

    2024-03-19 13:42:01       59 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-19 13:42:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-19 13:42:01       101 阅读
  3. 在Django里面运行非项目文件

    2024-03-19 13:42:01       82 阅读
  4. Python语言-面向对象

    2024-03-19 13:42:01       91 阅读

热门阅读

  1. Blazor Web的登录页

    2024-03-19 13:42:01       41 阅读
  2. 第十三届蓝桥杯省赛C&C++ 研究生组

    2024-03-19 13:42:01       43 阅读
  3. 简单来说依赖注入 Unity (c#)

    2024-03-19 13:42:01       38 阅读
  4. 在 Express 中使用 Session 认证

    2024-03-19 13:42:01       43 阅读
  5. TCP复习

    TCP复习

    2024-03-19 13:42:01      38 阅读
  6. uniapp html变量 直接输出html

    2024-03-19 13:42:01       41 阅读