许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  MATLAB自学笔记:从入门到进阶完整记录

MATLAB自学笔记:从入门到进阶完整记录

阅读数 3
点赞 0
article_banner

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

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

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

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

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

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

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

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

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

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

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


matlab中变量的使用:

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

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

matlab中关键字有哪些:

要特别注意,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个元素。

如下图:

矩阵转置:

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矩阵的第三行清空。

矩阵的四则运算:

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

(1)点乘运算

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

(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中,输出结果中同一行的下标相对应。如下图


矩阵拉长:

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

矩阵求逆:

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  )

生成随机数函数:

创建元胞数组:

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

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

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

结构体

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

访问结构体成员:

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

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

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

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

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

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

常用function

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

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

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的元素个数。


逻辑与流程控制

循环语句

for循环:

while循环:

条件语句:

在这里插入图片描述 与C语言不同,这里的elseif中间无空格

switch语句:

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

二维平面绘图:

效果图如下:

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


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空