《Matlab学习》【1】矩阵运算、基本指令、基本函数、基本知识

阅读: 评论:0

《Matlab学习》【1】矩阵运算、基本指令、基本函数、基本知识

《Matlab学习》【1】矩阵运算、基本指令、基本函数、基本知识

目录

1.关键字

2. Format

2.1 format long

2.2 format short

2.3 format shortE

2.4 format longE

2.5 format bank(小数点后包含 2 位数)

2.6 format  hex(二进制双精度数字的十六进制表示形式)

2.7 format rat(非常常用)---以分数的形式显示

3.一些基础的命令

4.矩阵

4.1行矩阵--空格隔开或者逗号“,”隔开

4.2列矩阵分号“;”隔开

4.3矩阵乘法

4.4构造一个m×n的矩阵

4.5矩阵索引

4.6矩阵修改和索引

 4.7向量的创建colon

4.8矩阵的拼接

4.9其它形式的矩阵

5.矩阵与矩阵,矩阵与实数的运算

5.1矩阵相关函数

OVER


1.关键字

ans命令行中经常看到的
i,j复数
Inf,-Inf∞   例:1/0=inf; log(0)=-inf
eps一个很小的数  2.2204e-16
NaN不是一个数 例:inf/inf=NaN
piπ

也可以使用命令:iskeyword显示

    {'break'     }
    {'case'      }
    {'catch'     }
    {'classdef'  }
    {'continue'  }
    {'else'      }
    {'elseif'    }
    {'end'       }
    {'for'       }
    {'function'  }
    {'global'    }
    {'if'        }
    {'otherwise' }
    {'parfor'    }
    {'persistent'}
    {'return'    }
    {'spmd'      }
    {'switch'    }
    {'try'       }
    {'while'     }


2. Format

在你想要的format形式下,先format在键入你想要的结果

2.1 format long

>> format long
>> pians =3.141592653589793

2.2 format short

>> format short
>> pians =3.1416

2.3 format shortE

>> format shortE
>> pians =3.1416e+00

2.4 format longE

>> format longE
>> pians =3.141592653589793e+00

2.5 format bank(小数点后包含 2 位数)

>> format longE
>> pians =3.141592653589793e+00

2.6 format  hex(二进制双精度数字的十六进制表示形式)

>> format hex
>> pians =400921fb54442d18

2.7 format rat(非常常用)---以分数的形式显示

>> format rat
>> 3/13 + 4/14 + 5/15ans =232/273  

注:如果恢复默认值直接键入format即可


3.一些基础的命令

clc清除命令行窗口
clear/clear all清除所有的变量
who显示所有的变量
whos显示所有变量的信息,也可以指定变量whos 变量名
>>x = 1;
>>y = 2;
>>C = 3.1;
>> who您的变量为:C  x  y  
>> whosName      Size            Bytes  Class     AttributesC         1x1                 8  double              x         1x1                 8  double              y         1x1                 8  double   
>> whos xName      Size            Bytes  Class     Attributesx         1x1                 8  double  

4.矩阵

4.1行矩阵--空格隔开或者逗号“,”隔开

>> a = [1 2 3 4]a =1     2     3     4
>> a = [1, 2, 3, 4]a =1     2     3     4

4.2列矩阵分号“;”隔开

>> b = [1; 2; 3; 4]b =1234

4.3矩阵乘法

>> a*bans =30>> b*aans =1     2     3     42     4     6     83     6     9    124     8    12    16

4.4构造一个m×n的矩阵

>> A = [1 21 6; 5 17 9; 31 2 7]A =1    21     65    17     931     2     7

4.5矩阵索引

如果查找矩阵中的某个元素的话,原则如上图,它是按照第一列进行标号,下面是5中不同基础的索引方式。

>> A(8) % 按照列标号ans =9
>> A([1 3 5]) % 第一个数是1 第二个数是31 第三个数是17ans =1    31    17
>> A([1 3; 1 3]) % 第一个数是1 和第三个数是31这是一行后面分号“;”之后就会变行ans =1    311    31
>> A([4 3; 5 7])ans =21    3117     6
>> A(3, 2) % A(行,列)第3行第二列ans =2

下面这个相对有点复杂不过还是很好理解

>> A([1 3], [1 3]) % 如上图所示,前面的[1 3]表示第1 3行,后面的[1 3]表示第1 3列。也就是说逗号前面表示行,后面表示列,之后的交集就是所求矩阵ans =1     631     7
>> A([1], [2]) % 第1行第2列这种直接用A(1, 2)形式更好ans =21>> A([1 2 3], [2 3]) % 1 2 3行,2 3列的交集,读者可自行尝试ans =21     617     92     7

4.6矩阵修改和索引

 

 读者可以尝试以上矩阵的修改。

>> A(1, 2) = 76 % 单独修改某一个元素,可以直接行列方式索引A =1    76     65    17     931     2     7
>> A(3,:) % 提取某一行ans =31     2     7>> A(:, 2) % 提取某一列ans =76172>> A(3, :) = [] % 去除某一行A =1    76     65    17     9
>> A(:, 2) = [] % 去除某一列A =1     65     9
>> A = [1 21 6 4; 5 17 9 34; 31 2 7 33; 3 56 2 21] % 重新构造一个AA =1    21     6     45    17     9    3431     2     7    333    56     2    21>> A(:, 1:3) % 对第1至第3列进行索引ans =1    21     65    17     931     2     73    56     2>> A(2:4, :) % 对第2至第4行进行索引ans =5    17     9    3431     2     7    333    56     2    21>> A(:) % 重构A,从第1列开始一次排成一列ans =15313211725669724343321

 4.7向量的创建colon

x = j:k创建一个包含元素 [j,j+1,j+2,...,j+m] 的单位间距向量 x
x  =  j : i:  k创建一个等间距向量 x,以 i 作为元素之间的增量
>> x = 1:9 % 步长为1x =1     2     3     4     5     6     7     8     9>> x = 1:2:6 % 步长为2x =1     3     5>> x = 10:-1:0 % 步长为复数时会递减x =10     9     8     7     6     5     4     3     2     1     0
>> str = 'a':2:'z' % 也可以是字符串str ='acegikmoqsuwy'
>> a = ([1:5; 2:3:15; -2:0.5:0]) % 也可以创建一个矩阵。前提维数要一样a =1.0000    2.0000    3.0000    4.0000    5.00002.0000    5.0000    8.0000   11.0000   14.0000-2.0000   -1.5000   -1.0000   -0.5000         0

4.8矩阵的拼接

>> a = [1 2; 3 4]a =1     23     4>> b = [5 6; 7 8]b =5     67     8>> A = [a b] % 增广矩阵A =1     2     5     63     4     7     8>> B = [a; b] % b于a下方B =1     23     45     67     8

4.9其它形式的矩阵

linspace()y = linspace(x1,x2,n) 生成 n 个点。这些点的间距为 (x2-x1)/(n-1)
eye()单位矩阵
ones()全1矩阵
zeros()全0矩阵
diag()D = diag(v) 返回包含主对角线上向量 v 的元素的对角矩阵
rand()rand(n) 返回一个由均匀分布的随机数组成的 n×n 矩阵(介于0-1之间)
>> linspace(-1, 3, 4) % 生成4个元素,距离为(3-(-1))/(4-1)ans =-1.0000    0.3333    1.6667    3.0000>> eye(3) % 单位矩阵ans =1     0     00     1     00     0     1>> ones(4) % 全1矩阵ans =1     1     1     11     1     1     11     1     1     11     1     1     1>> zeros(3) % 全0矩阵ans =0     0     00     0     00     0     0>> a = [1 2 3 4 5] % 向量aa =1     2     3     4     5>> diag(a) % 对角是向量a的矩阵ans =1     0     0     0     00     2     0     0     00     0     3     0     00     0     0     4     00     0     0     0     5>> rand(5) % 介于0-1的5×5矩阵ans =0.8147    0.0975    0.1576    0.1419    0.65570.9058    0.2785    0.9706    0.4218    0.03570.1270    0.5469    0.9572    0.9157    0.84910.9134    0.9575    0.4854    0.7922    0.93400.6324    0.9649    0.8003    0.9595    0.6787

5.矩阵与矩阵,矩阵与实数的运算

 

A + aA + B
A / aA * B
A ./ aA .* B
A^aA / B
A.^aA ./ B
A'
>> A = [1 2 3; 4 5 4; 9 8 7]A =1     2     34     5     49     8     7>> B = [3 3 3; 2 4 9; 1 3 1]B =3     3     32     4     91     3     1>> A + B % 对应位置相加ans =4     5     66     9    1310    11     8>> A*B * 矩阵乘法ans =10    20    2426    44    6150    80   106>> A.*B % 对应位置相乘ans =3     6     98    20    369    24     7>> A/B % 相当于A*inv(B) inv(B)是B的逆ans =0.0714    0.2857    0.21431.1667         0    0.50003.2619   -0.2857   -0.2143>> format rat % 也可以分数展示
>> A/Bans =1/14           2/7            3/14    7/6            0              1/2     137/42          -2/7           -3/14    >> A./B % 对应位置上的元素相除ans =1/3            2/3            1       2              5/4            4/9     9              8/3            7       >> format % 还原默认
>> a = 2a =2>> A+a % A中各元素都加2ans =3     4     56     7     611    10     9>> A/a % A中各元素都除2ans =0.5000    1.0000    1.50002.0000    2.5000    2.00004.5000    4.0000    3.5000>> A./a % A中各元素都除2与上面A/a效果一样ans =0.5000    1.0000    1.50002.0000    2.5000    2.00004.5000    4.0000    3.5000>> A^a % a个A矩阵相乘ans =36    36    3260    65    60104   114   108>> A.^a % A中各元素都开a次方ans =1     4     916    25    1681    64    49>> C = A' % 转置C =1     4     92     5     83     4     7

5.1矩阵相关函数

max(A)sort(A)
max(max(A))sortrows(A)
min(A)size(A)
min(min(A))length(A)
sum(A)find(A)
sum(sum(A))

mean(A)

>> A = [1 2 3; 0 5 6; 7 0 9]A =1     2     30     5     67     0     9>> max(A) % 会把每一列中的最大值索引出来ans =7     5     9>> max(max(A)) % 矩阵中最大的元素ans =9>> min(A) % 会把每一列中的最小值索引出来ans =0     0     3>> min(min(A)) % 不做解释ans =0>> sum(A)% 每一列相加ans =8     7    18>> sum(sum(A)) % 整个矩阵的元素和ans =33>> mean(A) % 每一列的平均值ans =2.6667    2.3333    6.0000>> format rat %分数形式
>> mean(A)ans =8/3            7/3            6       >> mean(mean(A)) % 对上面的进行求平均ans =11/3     >> format % 恢复默认
>> sort(A)%对每一列进行排序(升序)ans =0     0     31     2     67     5     9>> sortrows(A)%对第一列进行排序,但是会带动所在行,就是说第一列1>0,此时会将1 0这两行进行调换.ans =0     5     61     2     37     0     9>> B = [1 3 2;1 2 3; 2 3 4] 
B =1     3     21     2     32     3     4>> sortrows(B) % 当第一列包含重复的元素时,sortrows 会根据下一列中的值进行排序,并对后续的相等值重复此行为,此时第一列中1 1相同,那么会比较第2列中的1 1所在行元素 3 > 2,所以会调换1 2两行ans =1     2     31     3     22     3     4>> size(A) % 返回A的维度大小。 维度就是行和列ans =3     3>> length(A) % 得到A的最大维度,行列中最大的那个ans =3>> C= zeros(2, 6) % 事例C =0     0     0     0     0     00     0     0     0     0     0>> length(C) % 不管是2行6列还是6行2列length都是6即最大维度ans =6>> C = zeros(6, 2) % 事例C =0     00     00     00     00     00     0>> length(C) % 不管是2行6列还是6行2列length都是6即最大维度ans =6>> find(A == 5) % 返回A中5的索引,索引是按照列的标号来的,详见4.5节ans =5>> find(A == 0) % 多个相同的元素的索引号都会显示出来ans =26

OVER

本文发布于:2024-02-04 23:25:52,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170718783760719.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:矩阵   基本知识   指令   函数   Matlab
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23