MATLAB数据分析基础:入门篇(一)

我是一个MATLAB爱好者,这是我对MATLAB的第三次复习。这次,我选择B站作为自己的复习平台。因为B站不能传文件,所以干脆写一个专栏。哈哈。也算是再熟悉一遍吧。

因为MATLAB函数使用方法颇为复杂。每个函数仅写出了它的基本含义。具体细节还是要在MATLAB的帮助文档中实现。因为时间关系,没有给出使用的例子。不过,还是希望能为大家起到一个抛砖引玉的作用^_^

没有必要一次看完哈,喜欢的话可以收藏哦。

基本原则:

  1. 函数的基本使用方法是函数后面一个括号,如rand(3)等。有一些有特殊的用法。 但是用括号是绝对没有错的,也有可能可以用空格完成。(这点和python不一样)
  2. 一个数会被认为是一个1*1的矩阵。
  3. 一个向量会被认为是一个1*n的矩阵。
  4. 一个矩阵是MATLAB的最基本元素。

帮助:

  1. help:寻求MATLAB官方文档对一个函数的帮助。
  2. doc:打开帮助浏览器。
  3. lookfor:从帮助条目中搜索关键字。
  4. which:定位函数和文件。
  5. dir:列出文件夹的内容。
  6. cd:更改当前所在的路径。
  7. why:让MATLAB给出一些有趣的回答。
  8. who:列出工作区中的变量。
  9. whos:列出工作区中的变量及其大小和类型。
  10. what:列出文件夹中的MATLAB文件。
  11. exist:检查文件的存在情况。

基本数字运算:

  1. ans:上一个运行结果的默认变量名。
  2. pi:圆周率。
  3. eps:计算机中的最小数。
  4. inf:无穷大。
  5. NaN:不定值。
  6. i或j:虚数单位。
  7. nargin:输入的变量数目。
  8. nargout:输出的变量数目。
  9. realmax:MATLAB可以计算的最大的正实数。
  10. realmin:MATLAB可以计算的最小的正实数。
  11. int8:8位有符号整数类型。
  12. int16:16位有符号整数类型。
  13. int32:32位有符号整数类型。
  14. int64:64位有符号整数类型。
  15. uint8:8位无符号整数类型。
  16. uint16:16位无符号整数类型。
  17. uint32:32位无符号整数类型。
  18. uint64:64位无符号整数类型。
  19. single:单精度浮点数类型(32位)。
  20. double:双精度浮点数类型(64位)。(默认类型)
  21. round:四舍五入。
  22. fix:向绝对值小的方向取整。
  23. floor:往更小的数取整。
  24. ceil:往更大的数取整。
  25. complex:复数类型。
  26. real:复数的实部。
  27. imag:复数的虚部。
  28. abs:复数的模长。
  29. angle:复数的幅角。
  30. conj:复数的共轭复数。

有关逻辑运算

  1. true:真。
  2. false:假。
  3. logical:把数转换成逻辑类型。
  4. &(and):与
  5. |(or):或
  6. ~(not):非
  7. xor:异或
  8. any:任意
  9. all:所有
  10. ==(eq):等于
  11. ~=(nq):不等于
  12. <(lt):小于
  13. >(gt):大于
  14. <=(le):小于等于
  15. >=(ge):大于等于

关于字符串的基本操作

  1. strcmp:判断两个字符串是否相等。
  2. strcmpi:判断两个字符串不区分大小写是否相等。
  3. strncmp:判断两个字符串的前n个字符是否相等。
  4. strncmpi:判断两个字符串的前n个字符不区分大小写是否相等。
  5. findstr:从字符串中查找部分子串,返回其索引值。
  6. strfind:从字符串中查找部分子串,返回其索引值。
  7. strtok:查找字符串的分隔符。
  8. strmatch:查找匹配指定的字符串。
  9.  strrep:替换字符串。

有关强制类型转换和进制转换

  1. char:数字到字符串(ASCII码)。
  2. int2str:整数到字符串(字符串的内容是数字)。
  3. num2str:数值到字符串(字符串的内容是数字)。
  4. mat2str:数值到字符串(字符串的内容是数字)。
  5. dec2hex:十进制到十六进制。(字符串)
  6. dec2bin:十进制到二进制。(字符串)
  7. dec2base:十进制到任意进制。(字符串)
  8. uintN:字符到数(ASCII码)。
  9. str2num:字符串到数字(字符串的内容是数字)。
  10. str2double:字符串到数字(字符串的内容是数字)。
  11. hex2num:十六进制到十进制。
  12. hex2dec:十六进制到十进制。
  13. bin2dec:二进制到十进制。
  14. base2dec:任意进制到十进制。

有关矩阵的尺寸

  1. size:求一个矩阵的尺寸。
  2. length:求一个矩阵的最长的边。
  3. numel:求一个矩阵有多少个元素。
  4. ndims:求一个矩阵有多少个维度(至少为2个)。

有关矩阵的构造和简单运算

  1. 简单的构造方法:中括号括起来、分号换行。
  2. 冒号表示等等差向量。
  3. linspace:构造一个确定首项和尾项的n个数的等差向量。
  4. logspace:构造一个确定首项和尾项的n个数的等比向量。
  5. rand:构造一个矩阵,每个值都是0~1均匀分布的随机数。
  6. randn:构造一个矩阵,每一个值都是服从标准正态分布的随机数。
  7. randi:构造一个矩阵,返回一个介于1和imax之间的伪随机整数。
  8. zeros:构造一个全部为0的矩阵。
  9. ones:构造一个全部为1的矩阵。
  10. eye:构造单位矩阵(主对角线为1)。
  11. gallery:构造测试矩阵。
  12. hadamard:构造哈达玛矩阵。
  13. hilb:构造希尔伯特矩阵。(行列式值非常小,高度病态矩阵)
  14. invhilb:构造希尔伯特矩阵的逆矩阵。
  15. rosser:构造经典对称性测试矩阵(Rosser矩阵)。 矩阵有如下的特点:有一个双精度特征值、三个几乎相等的特征值、 有异号占优特征值、有一个零特征值、一个非常小的非零特征值。
  16. wilkinson:构造wilkinson特征值测试矩阵。
  17. pascal:构造帕斯卡三角形(杨辉三角)。
  18. vander:范德蒙德矩阵。
  19. 矩阵的转置:普通转置(.')和共轭转置(')。
  20. 水平方向的拼接:C=[A,B]。
  21. 垂直方向的拼接:C=[A;B]。
  22. horzcat:水平方向矩阵的拼接。
  23. vertcat:垂直方向矩阵的拼接。
  24. cat:不同维度矩阵的拼接。
  25. repmat:对于现有的矩阵赋值和粘贴成一个新的矩阵。
  26. blkdiag:以对角阵的方式重组矩阵。
  27. 可以通过加索引的方式强行扩大矩阵的大小。
  28. 可以通过令一行或者一列的值为[]的方法把一行或者一列删掉。
  29. reshape:矩阵尺寸的重组。
  30. 面对一个较大的矩阵,可以通过预分配内存的方式可以大大减少MATLAB运算的复杂度。
  31. compan:构造一个矩阵的伴随矩阵。
  32. diag:通过列向量构造对角矩阵,或者是根据对角矩阵来求出列向量。
  33. randperm:随机置换一个包含从1到n之间的整数列表。
  34. magic:构造n阶魔方矩阵。
  35. 矩阵的加减乘除运算:乘除分为点乘、点除和乘法除法。其中点乘和点除指的是每一项与每一对应位置项的乘法和除法(类似于矩阵的加法和减法),乘和除指的是线性代数里面的乘法和除法。
  36. filpud:上下翻转。
  37. filplr:左右翻转。
  38. filp:按照不同维度的翻转。
  39. rot90:逆时针旋转90度。
  40. sum:矩阵数组元素的累加和。
  41. prod:矩阵数组元素的累乘积。

寻访矩阵的元素

  1. 双下标。从1开始,先行后列。(subscript)
  2. 单下标(和计算机的内存相关):从上到下、从左到右的方向排列。(index)
  3. sub2ind:双下标到单下标。
  4. ind2sub:单下标到双下标。

寻访矩阵中的多个元素:

  1. A(:,j):访问二维矩阵中的第 j 列元素。
  2. A(i,:):访问二维矩阵中的第 i 行元素。
  3. A(:,j:k):访问二维矩阵中第 j 到第 k 列元素。
  4. A(i:l,j:k):访问二维矩阵中从第 i 到第 l 行,第 j 到第 k 列的元素。
  5. A(:,:):返回矩阵 A 本身。
  6. A(:):将矩阵 A 本身的每一列都合并成一个长的列向量。
  7. A(j:k):返回一个行向量,其中的元素为 A(:)从第j到第k个元素。
  8. A([j1,j2,…,jn]):返回一个行向量。分别是第 j1,j2,…,jn 个元素。
  9. A(:,[j1,j2,…,jn]):返回一个小的矩阵,每一行还是和原本的矩阵一样, 第 1,2,…,n 列分别是第 j1,j2,…,jn 列元素。
  10. A([j1,j2,…,jn],:):返回一个小的矩阵,每一列还是和原本的矩阵一样, 第 1,2,…,n 行分别是第 j1,j2,…,jn 行元素。
  11. A([j1,j2,…,jn],[k1,k2, …,km]):返回一个小的矩阵,返回的是第 [j1,j2,…,jn]行,第[k1,k2, …,km]列元素组成的矩阵。

一些布尔型函数

  1. isempty:判断一个矩阵是否空矩阵。
  2. isscalar:判断一个矩阵是否为标量。
  3. isvector:判断一个矩阵是否为向量。
  4. issparse:判断一个矩阵是否为稀疏矩阵。
  5. isa:判断一个矩阵是否为指定的数组类型。
  6. iscell:判断一个矩阵是否为稀疏矩阵。
  7. iscellstr:判断一个矩阵是否为指定的数组类型。
  8. ischar:判断一个矩阵是否为指定的数据类型。
  9. isfloat:判断输入数据是否为字符类型。
  10. isinteger:判断输入数据是否为整数类型。
  11. islogical:判断输入数据是否为逻辑类型。
  12. isnumeric:判断输入数据是否为数值类型。
  13. isreal:判断输入数据是否为实数类型。
  14. isstruct:判断输入数据是否为结构体类型。

关于稀疏矩阵

  1.  有些矩阵有很多0,占用很多内存是没必要的。只需要存储非0的数据。如果有大量0的 数据,可以省去一些内存。稀疏矩阵的类型是sparse而不是matrix。
  2. sparse:创建稀疏矩阵。
  3. speye:创建单位稀疏矩阵。
  4. sprand:创建与原稀疏矩阵基于相同结构的0~1均匀分布稀疏矩阵。
  5. sprandn:创建与原稀疏矩阵具有相同结构的标准正态分布稀疏矩阵。
  6. sprandsym:生成随机对称稀疏矩阵。
  7. spdiags:关于对角线的稀疏矩阵。
  8. nnz:返回一个稀疏矩阵里面的非0元素个数。(也可以是非稀疏矩阵)
  9. nonzeros:返回稀疏矩阵中由非0元素构成的列向量。
  10. find:返回稀疏矩阵中非零元素构成的集合。
  11. nzmax:返回稀疏矩阵中非零元素的存储总量。(非零元素分配的存储单元数)
  12. spalloc:建立一个全部是 0 的,大小为 m×n 的稀疏矩阵。 其中为非零元素保留的空间为 nzmax。然后逐列生成这个矩阵,用非零值代 替零。不必重复地分配存储空间。
  13. spy:用图形化的方式显示稀疏矩阵S元素的分布情况。
  14. squeeze:删除高维数组中大小为1的维。
  15. shiftdim:移动高维数组的维度。
  16. permute:根据某个顺序重新排列数组的维度。

QR Code
微信扫一扫,欢迎咨询~

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

* 公司名称:

姓名不为空

手机不正确

公司不为空