MATLAB自学笔记

在命令行窗口输入 clc ,清除命令行窗口内的所有内容。

输入clear all,清除工作区存储的所有变量和值。

命令行窗口中按住上方向键,可以找出之前输入的命令。

注释:两个%加一个空格,可以注释掉该行的内容。

使用matlab作为计算器,其中表示2的3次方可以用:2^3来表示。^运算符的优先级仅次于小括号

使用时需要注意的是,计算内容应该写在命令行窗口,而非编辑器中。

想得到某个函数的function name,搜索matlab sin等即可。

想知道某个函数的使用方法,在右上角里搜索即可。

MATLAB自学笔记_第1张图片

 或者在命令行窗口输入:help sin,可得到下图

MATLAB自学笔记_第2张图片

 计算下面的式子时,需要知道:自然对数 ln()在matlab里表示为log();

表示自然对数 e 可用:exp(1),exp(n)表示e的n次方;

MATLAB自学笔记_第3张图片

 matlab中变量的使用:

变量无需提前声明,直接A=10;

命令行窗口输入who可以显示当前有的所有变量,输入whos可以得到所有变量及其数据类型、字节长度等信息。

matlab中关键字有哪些:

MATLAB自学笔记_第4张图片

要特别注意,i、j 不能作为自定义的变量名。 

想移除某个已经赋值的变量,在命令行窗口输入clear 变量名

matlab输出小数点后位数控制:

在命令行窗口输入 format 数据类型  并回车,之后输入的数据就都是按照指定数据类型输出。

其中rat的作用是将输入的数转为有理数输出。

 matlab矩阵部分

创建一个矩阵的方法(用方括号[ ] ):

A = [1 2 3; 4 5 6; 7 8 9]同一行的不同元素之间用空格隔开,矩阵内部用 ;实现换行。

找出矩阵中某个值(需要注意,矩阵中的元素是从上到下,从左到右排列的):

方法和找数组元素类似。

如上面的A矩阵而言,A(2,3)就是第二行第三列的元素,即6.

特殊方式:A( [ 1 2 ],[ 1 3 ] ),意为取A矩阵中第一行的第1、3列元素以及第三行的第1、3列元素。

A( [ 1 3 5 ] )取A矩阵中的第1、第3、第5个元素。

A([1 2 ;1 3])取A矩阵第1、第2个元素,然后换行,再取第1、第3个元素。

如下图:

MATLAB自学笔记_第5张图片

MATLAB自学笔记_第6张图片

矩阵转置:

B = A ’ 表示将B定义为:A的转置矩阵。

建立等差矩阵(利用conlon operator“:”):

A=[ 1:5 ],则A=1 2 3 4 5;

A=[ N:步长:M ]。

“:”作为index使用时可以表示全部,例如A(3,:)就是输出A矩阵第三行的全部元素。

结合上一行的内容以及matlab可以对矩阵元素赋值的特性,可以实现将某一行or列元素从原矩阵中删除,只需A(3,:)=[],即可将A矩阵的第三行清空。

MATLAB自学笔记_第7张图片

 矩阵的四则运算:

正常四则不赘述,介绍3种特殊四则运算。

(1)点乘运算 

C = A  .* B :注意这个点乘不是向量点乘,而是对应项相乘的意思。如下图

MATLAB自学笔记_第8张图片

 (2)除法运算:

C = A / B 意即:A乘inv(B)

 (3)点除运算:

D = A ./ B,对应项相除,这里的除法是正常四则里的除法(即数与数之间的除法),区别于矩阵的除法。

(4)power运算:

A=A^2,即A=A*A;

(5)点power运算:

A=A .^ 2,即A=A和A的对应项相乘。

特别的,matlab中不仅有矩阵的数乘运算(A=kA),还有矩阵的数加运算(A=A+a),意为将矩阵A的每个元素都加上数值a

寻找指定矩阵中大于/小于/等于某个指定值的元素的下标:

[m , n] = find(A > 20),意为寻找A矩阵中元素值大于20的所有元素,将行下标返回到m中,列下标返回到n中,输出结果中同一行的下标相对应。如下图

MATLAB自学笔记_第9张图片

MATLAB自学笔记_第10张图片

MATLAB自学笔记_第11张图片

矩阵拉长:

C = A(:)表示将C定义为:A的按列顺序拉长矩阵,即:如果原来A是 m X n 型矩阵,则C是  (m+n) X 1 型矩阵,矩阵的元素从上到下分别是原矩阵A第一列的所有元素、第二列的所有元素……第n列的所有元素。具体效果如下图

MATLAB自学笔记_第12张图片

MATLAB自学笔记_第13张图片

矩阵求逆:

D = inv(A),将D定义为A矩阵的逆矩阵,这也就意味着只有当A为方阵时才能使用求逆符。

创建0矩阵:

E = zeros(10,5,3),其中三个数字的意思分别是:10行、5列、3维(几维表示有几个这样的矩阵,可以理解为E是一个数据类型为0型矩阵的数组,可以用 E( : , : , 1)、E( : , : , 2)、E( : , : , 3)分别表示该数组的第1、2、3个元素)。

创建单位矩阵:

F = eye(3),创建一个3 x 3型的单位矩阵。

创建全1矩阵:

H = ones(2 , 4),创建一个2 x 4型的全1矩阵。

创建全n矩阵:

J = ones(2 , 4)*n,创建一个2 x 4型的全n矩阵。

生成幻方矩阵:

G = magic(3),创建一个3 x 3型的幻方(幻方是一个特殊矩阵,同一个幻方的每一行、每一列、每一对角线上的所有数字之和都相同,在n x n型幻方中,容易证明,这个和为  n*(n*n+1)/2  )

生成随机数函数:

MATLAB自学笔记_第14张图片

 创建元胞数组:

A = cell(1,6),意为创建一个1行6列的数组,其中每个元素可以属于不同的数据类型。效果如下图

MATLAB自学笔记_第15张图片

 访问元胞数组元素(元胞数组元素编号从1开始):

A{2}可以访问元胞数组中第二个元素。

结构体

创建一个结构体并初始化的语法如下(上面是语句,下面是运行结果):

MATLAB自学笔记_第16张图片

 访问结构体成员:

MATLAB自学笔记_第17张图片

 (1)小括号访问方式:books.name(1)取出的是name两个成员中的第一个成员,属于cell类型

MATLAB自学笔记_第18张图片

(2)大括号访问方式:books.name{1}取出的也是name两个成员中的第一个成员,是一个字符串,它的值就是字符串本身。

MATLAB自学笔记_第19张图片

 在一定范围内按指定步长取值:

B = 1:2:9  ,意为在1到9的范围内,从1开始,按步长为2取值,容易知道B = 1,3,5,7,9。

复制矩阵(分块矩阵的构建):

C = repmat(B , 3 , 2),意为将B这个东西重复3行2列,将结果赋给C。结果如下

MATLAB自学笔记_第20张图片

 常用function

>>max(A),在同一行内输出A矩阵的每一列的最大元素

MATLAB自学笔记_第21张图片

>>max(max(A)),输出矩阵A的最大值

MATLAB自学笔记_第22张图片

 min函数同max函数。

>>sum(A),同一行输出矩阵A每一列元素的总和;

>>sum(sum(A)),A矩阵所有元素总和;

>>mean(A),同一行输出矩阵A每一列元素的平均数;

>>mean(mean(A)),……

>>sort(A),每一列元素按从小到大排序,小数在上;

>>sortrows(A),将一行元素作为一个整体,比较每两行之间元素的同一列元素的大小,小的排到上面,具体看下图;

>>find(A==6),即找出矩阵A中等于6的元素,输出其下标。

>>size(A),若矩阵是M×N型的矩阵,则输出M  N;

>>length(A),即输出矩阵A的元素个数。

MATLAB自学笔记_第23张图片

逻辑与流程控制

循环语句

for循环:MATLAB自学笔记_第24张图片

MATLAB自学笔记_第25张图片

 while循环:

MATLAB自学笔记_第26张图片

MATLAB自学笔记_第27张图片

 条件语句:

MATLAB自学笔记_第28张图片

MATLAB自学笔记_第29张图片 与C语言不同,这里的elseif中间无空格

switch语句:

 注意与C语言中的default不同,这里用的是otherwise

二维平面绘图:

MATLAB自学笔记_第30张图片

 效果图如下:

MATLAB自学笔记_第31张图片

 想要让后面不留空隙就使用xlim[0 2*pi],将显示出的x的范围限定在0到2*pi

你可能感兴趣的:(数学建模,matlab)