MATLAB之基本操作与矩阵操作

本文主要记录这阵子学习MATLAB的所得,第一次写博客,如有不妥之处,欢迎提出~!

本文学习来源:

一、变量

变量的定义

  1. 变量不同于C/C++等编程语言,不需要声明,直接使用即可
  2. 在MATLAB中使用“=”来对变量赋值,被赋值的变量在左边,赋值的数据在右边

变量名的命名规则

  1. 变量名只能由数字、大小写字母、下划线组成,且不能以数字开头
  2. 特殊的关键字不适合做变量名
    变量 含义
    pi 圆周率
    Inf

    无穷大

    intmax 最大整形数
    intmin 最小整形数
    NaN 非数值类型数
    realmax 最大浮点数
    realmin 最小浮点数
    ans

    上一次没有声明变量的输入语句运行结果

    i,j 用于表示复数的虚数和实数
    eps 浮点相对经度,为2.2204e-16
  3. 变量名不能覆盖内置函数,如图2,sin(8)代表该变量sin中的第8个字符
    sin='I am a variable';  %sin在此处被作为变量使用,sin(8)指的是该字符串的第8个字符
    sin(8)
  4. 清除变量
    clear 变量名; %清除某个变量名
    clear; %清除所有变量
    clc;  %清楚command window 显示的所有内容,不清除变量
    

注意:

  • 两个变量在进行赋值时,等号右边的变量需要已经被定义过,才可将其值赋值给另外一个变量
  • 在命令窗口输入的正确的变量都会被保存在工作区中,工作区只保存变量最新的值
  • 在命令窗口输入一句输入语句不加分号,按回车键会输出该变量的值
  • 在命令窗口可以做数学运算
  • 变量的大小写是有区别的

MATLAB之基本操作与矩阵操作

二、数据类型

MATLAB的数据类型有logical、char、numeric、cell、struct、functionhandle(@)。

MATLAB之基本操作与矩阵操作

 数字变量(numberic variable)的显示格式

style 解释 例子
short

显示小数点后4位

3.1416
long

double类型显示小数点后15位

float类型显示小数点后7位

3.141592653589793
shortE 科学计数法:小数点后保留4位 3.1416+00
longE

科学计数法: 

double类型小数点后保留15位

float类型小数点后保留7位

3.141592653589793+00
bank

保留两位小数

(像付款一样,到小数后两位)

3.14
hex 十六进制 400921fb54442d18
rat 比例模式 355/113

数据类型之间的转换

在MATLAB中,一般默认输入的数据类型都是short型,如果需要转换类型,如下所示:

MATLAB之基本操作与矩阵操作

查看数据类型

在做题过程中,有时候需要查看工作区变量的信息,查看的命令行有who和whos

MATLAB之基本操作与矩阵操作


----练习计算咯-----

此题选1和d

MATLAB之基本操作与矩阵操作

MATLAB之基本操作与矩阵操作

三、数组

在MATLAB中,数组分为向量和矩阵,都用[ ]来表示

向量:行向量 列向量

a=[1 2 3 4];  %行向量
a[1;2;3;4];   %列向量中间用分号隔开,表示换行显示

矩阵

创建矩阵的方法:

  • 列举矩阵元素
A=[1 2 3 4]; %生成1*4的矩阵
B=[1,2,3,4];  %生成1*4的矩阵
C=[1;2;3;4];  %生成4*1的矩阵

综:空格和逗号的表示方法一样,分号表示换行,即另起一列
  • 冒号方式
x=1:5 %表示生成一个以1作为第一个元素,以5作为最后一个元素,步长为1的矩阵即x=[1,2,3,4,5]
x=2:2:10 %表示生成一个以1作为第一个元素,以10最后最后一个元素,步长为2的矩阵,即y=[2,4,6,8,10];
  • 函数方式
函数名 意义
x=rand(m,n) 随机生成m行n列的矩阵
x=ones(m,n)

生成m行n列且值为1的矩阵

x=zeros(m,n) 

生成m行n列的矩阵

x=eyes(3) 生成3行3列且对角线值为1的矩阵
x=diag(X)其中X为1行n列 生成主对角线是矩阵X值的矩阵

访问矩阵元素的方法:

  • 以列为单位
  • 以在矩阵中的位置为准

MATLAB之基本操作与矩阵操作

操作矩阵的函数:

函数 说明 备注
max(A)

求出矩阵A中每一列的最大值

结果为1行n列的矩阵

max默认求列

求行加参数为2

max(max(A)) 求出矩阵A的最大值
min(A)

求出矩阵A中每一列的最小值

结果为1行n列的矩阵

min默认求列

求行加参数为2

min(min(A)) 求出矩阵A的最小值
mean(A)

求出矩阵A中每一列的平均值

结果为1行n列的矩阵

mean默认求列

求行加参数为2

mean(mean(A)

求出矩阵A的平均值

sort(A) 按列从小到大排序 sort默认生升序,降序用descend
sortrows(A) 按行从小到大排序
size(A) 返回矩阵的行数和列数
length(A) 返回维度最大的值
find(A==5) 获取矩阵A==5的索引

MATLAB之基本操作与矩阵操作

操作矩阵的运算符

运算符 操作 形式 例子
+

矩阵与向量相加

A+b [1 3]+2=[3 5]
- 矩阵与向量相减 A-b [5 8]-2=[3 6]
+

矩阵与矩阵相加

相当于".+"

A+B [6 2]+[4 2]=[10 4]
-

矩阵与矩阵相减

相当于".-"

A-B [6 2]-[3 1]=[3 1]
* 矩阵与矩阵相乘 A*B [6 3]*[4 8]'=48
.* 矩阵与矩阵对象位置相乘 A.*B [6 3].*[4 8]'=[24 24]
/ 矩阵与矩阵右除 A/B 等价于x*B=A或者A*B(逆)
\ 矩阵与矩阵左除 A\B 等价于A*x=B或者A(逆)*B
./ 矩阵与矩阵对应位置右除 A./B [6 3] ./ [4 8] = [1.5 0.375]
.\ 矩阵与矩阵对应位置左除 A.\B [6 3] .\ [4 8] = [0.6667 2.6667]
^ 矩阵与向量乘方 A^b [1 2;3 4]^3=[37 54; 81 118]
.^ 矩阵与矩阵对应位置乘方 A.^B [1 2; 3 4].^[1 2; 3 4] = [1 4; 27 256]

MATLAB之基本操作与矩阵操作

矩阵的右除和左除,参考博客:MATLAB 之 \(左除) /(右除)_clam_clam的专栏-CSDN博客_matlab 左除

上一篇:Web服务器性能/压力测试工具http_load、webbench、ab、Siege使用教程


下一篇:Amplify Shader Editor(ASE)效果实现笔记(二)——顶点动画(原理向)