MATLAB

入门

MATLAB的语句后面要加分号;表示结束语句。

MTALAB命令行窗口的显示格式

指令说明实例
format默认格式271.82
format short / format long显示小数点后4位 / 14位2718.2 / 2.746468468
format short e / format long e显示小数点后4位 / 14,科学计数法表示2.7183e+000 / 2.7182815286465e+000
format short g / format long g在format short / format long中自动选择格式  ///  在format short e / format long e中自动选择格式 

常用的MATLAB控制命令

指令说明
exit、quit退出MTALAB会话框
format数学格式
clc清空当前的命令行窗体
dos \ unix执行DOS、UNIX系统指令
cd切换路径 或 显示当前路径
pwd显示当前路径
dir、ls显示当前路径下的文件
what显示当前路径下的MATLAB文件
which判断当前文件的所在路径
clear清空
whos查看当前所有变量的名;行列数;大小;类型;属性
class(A)查看变量A的数据类型

help 变量名:能够查看帮助文档。

矩阵和数组

  我们先要知道几个基本概念

数组有序数据的集合,数组的每一个成员都属于同一种数据类型

向量:从编程上考虑,向量就是一维数组。但从数学上考虑,向量是 1xNNx1 的矩阵,行向量和列向量。MATLAB的基本运算单位就是矩阵和向量。

矩阵:矩阵就是矩阵,没得解释。

创建向量

创建行向量

逐个在[]中输入向量元素,创建向量的时候元素彼此之间可以使用空格或者逗号“,”作为间隔符

x = [1 2 pi 5]    x = 1  3  3.14  5

利用运算符“:”创建向量

x = 1:10    x = 1 2 3 4 5 6 7 8 9 10

x = 0:0.1:1  x = 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

函数linspace(x1,x2,n)用来创建指定区间指定个数的函数,间隔为$\frac{x_1-x_2}{n-1}$

x = linspace(1,2,5)  1 1.25 1.5 1.75 2   

函数logspqce(x1,x2,n)被用来创建对数空间的向量,第一个元素为$10^{x_1}$,最后一个元素为$10^{x_2}$,n为向量元素个数。

x = logspace(1,3,5)  10 31.6 100 316 1000

创建列向量

直接在[]括号中输入即是列向量

A = [1;2;3;4;5;6]

转置的方法创建列向量

B = (1:6)'

$\begin{matrix}
1\\ 
2\\ 
3\\ 
4\\ 
5\\ 
6
\end{matrix}$

创建矩阵

矩阵行与行之间需要使用分号“;”间隔。矩阵一行元素之间使用逗号“,”或者空格“ ”间隔

直接输入法

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

B = [1:3;4:6;7:9]

$\begin{matrix}
1&2&3\\
4&5&6\\
7&8&9
\end{matrix}$

索引

MATLAB数组或矩阵的索引都是从1开始的,并且可以索引最后一个元素,MATLAB的步长放在中间,矩阵的数数是“”的数的,Python是从零开始数的,而且矩阵是从“横”的数的。

访问第三个元素:

A(3)

访问向量第一、第三、第五个元素:

A([1 3 7])

访问向量第一、第三、第五个元素:

A([1:2:5])

访问最后四个元素:

A([end-3:end])

重复访问向量中的元素:

A([1:5,5:-1:1])

访问向量元素中的结果是创建新的向量,对向量中超过最后值索引的数据赋值,会把之前没有的值都填上。

使用索引访问矩阵元素的方法

矩阵元素的访问说明
A(i,j)第i行第j列
A(I,J)访问由向量I和J指定的矩阵A中的元素
A(i,:)访问第i行的所有元素
A(:,j)访问第j列的所有元素
A(:)访问矩阵A中的所有元素
A(N)访问第N个元素

[]是创建,()是索引。索引中的分隔符是引号“:”

MATLAB的矩阵生成函数

函数说明
zeros产生元素全为0的矩阵
ones产生元素全为1的矩阵
eye产生单位矩阵
rand产生均匀分布的随机矩阵,数字范围(0,1)
randn产生均值为0,反差为1的正态分布随机矩阵
diag获得矩阵的对角线元素,也可生成对角矩阵
magic产生幻方阵,该方阵的行元素之和与列元素之和都相等

矩阵的基本运算

运算命令说明运算命令说明
A'转置rank求矩阵的秩
A^n求冥eig求矩阵的特征向量
A*B矩阵乘法norm求矩阵的范数
A/B矩阵右除A\B矩阵左除
inv求逆,注意不是所有的矩阵都有逆矩阵  

基本数学函数和圆整和求余函数

函数说明函数说明
exp指数函数sqrt平方根函数
fix向0取整rem(i,j)i对j求余
floor向$-\infty $取整ceil向$+\infty $取整
round向最近的整数取整mod(i,j)i对j取模

矩阵或数组的常用操作

函数说明函数说明
size获取矩阵的行列数numel获取矩阵的元素个数
disp显示矩阵或者字符串的内容cat合并不同的矩阵或数组
reshape修改矩阵的行数和列数  

稀疏矩阵

多维数组

数据类型

数据类型说明
double双精度数据类型
single单精度数据类型
unit8 / unit16 / unit32 / unit64无符号*位整数
int8 / int16 / int32 / int64有符号*位整数

空数组

创建空数组的几种方法:

A = []

B = ones(2,3,0)

C = randn(2,3,4,0)

~=不等于

==等于

&|~与或非

字符串 char

字符串使用[]进行拼接的时候,若使用逗号“,”作为不同字符串之间的分隔符,相当于扩充字符串;若使用分号“;”作为不同字符串之间的分隔符,相当于扩展字符串成为二维三维...

常用的字符串操作函数

函数说明
char创建字符串;将数值转变成字符串
blanks创建空白的字符串
deblank将字符串尾部的空格删除
ischar判断变量是否为字符类型
strcmp比较字符串是否一致
upper / lower将字符串的字符转成大写 / 后者相反
num2str / int2str数字转变成字符串 / 整数变成字符串

格式化字符

字符串说明字符串说明
%c显示单一的字符%e科学计数
%d整数%s字符串
%f浮点数据%o八进制
%u无符号整数%x十六进制

获取用户输入

A = input(prompt);  # A的类型为数字

A = input(prompt,'s');  # A的类型为字符串

格式化输出

s = sprintf(format,A)

元胞数组

组成元胞数组的元素可以是任意一种数据类型

A = {zero(2,2,2),'hello';17.35,1:100}

$$A= \begin{matrix}
[2x2x2 double] & 'hello'\\
[17.35000] & [1x100 double]
\end{matrix}$$

可以用cell来创建元胞数组,用花括号来索引“{}”

matlab程序中,有时候会看到两个百分号一起:%%,且当光标在这一部分时,颜色会不一样。比如:

因为%%在matlab代码中的作用是将代码分块,上下两个%%之间的部分作为一块,在运行代码的时候可以分块运行,查看每一块代码的运行情况。常用于调试程序。

分块运行的方法有两种:

第一种,将光标放置在要运行的那一块中,然后在工具栏中选择运行节,英文为Run Section

第二种,将光标放置在要运行的那一块中,直接按CTRL+ENTER也可以实现分块运行

使用案例:

比如你想在本文第一张图中代码绘制的figure中加一个图例,可能你要重新运行整个代码,但分块运行你只要加上图例代码后,按下CTRL+ENTER

就实现了分块代码的运行了

另外在有时候需要逐步向别人展示代码运行的结果,用%%分块以后拆开运行,也是很好的选择。或有两个方法进行比较,也可以写在一个文件中分块运行。
但要注意前后变量的承接,变动关系等等。

 disp()  打印

转载于:https://www.cnblogs.com/LXP-Never/p/9805844.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值