开始接触Matlab,在此篇博文中将记录所有遇到的各类函数的用法并配上自己测试后的说明,会定期更新。

1.size()获取矩阵的行数和列数

(1)s=size(A),
         当只有一个输出参数时,返回一个行向量,该行向量的第一个元素时矩阵的行数,第二个元素是矩阵的列数。
(2)[r,c]=size(A),
         当有两个输出参数时,size函数将矩阵的行数返回到第一个输出变量r,将矩阵的列数返回到第二个输出变量c。
(3)size(A,n)如果在size函数的输入参数中再添加一项n,并用1或2为n赋值,则 size将返回矩阵的行数或列数。其中r=size(A,1)该语句返回的时矩阵A的行数,
 c=size(A,2) 该语句返回的时矩阵A的列数。另外,length()=max(size()).

2.plot()用于画图,在画图之前需要用clf清空图像

3.std()用于进行标准差计算

4.randn()产生正态分布的随机数或矩阵的函数
randn('state',s):s=0时,产生的为固定样本种子(每次都一样);s=1时,产生的为随机样本种子(每次都不一样)。
用法:Y = randn(n)返回一个n*n的随机项的矩阵。如果n不是个数量,将返回错误信息。
 Y = randn(m,n) 或 Y = randn([m n])返回一个m*n的随机项矩阵。
 Y = randn(size(A))返回一个和A有同样维数大小的随机数组。
产生一个随机分布的指定均值和方差的矩阵:将randn产生的结果乘以标准差,然后加上期望均值即可。例如,产生均值为0.6,方差为0.1的一个5*5的随机数方式如下:
x = 0.6 + sqrt(0.1) * randn(5)

5.str2num() 把字符串转换数值,可以使用str2double来替代str2num。 matlab中,无论是内建函数还是工具箱函数, 2很常见, 这可能是因为2英文two和to发音相同。而2写起来也比较简单。 
  所以很多转换类函数都用2来命名而非to。比如number to string, 不是命名为numTostr而是num2str。

6.lower(X) 将X中所有字母转换为小写

7."英文句点+星号"[.*]表示点乘运算,即按元素相乘,而不是通常的矩阵乘

8.data(:,y) 就是指y列对应的所有行的值组成的一个向量,列向量。

9.round(A) 对数值A进行四舍五入,如果A是数组等有多个数值,则对所有数值进行四舍五入的取整操作,并返回相应取整后的相同维数的数组。

10.diag函数功能:矩阵对角元素的提取和创建对角阵。
设以下X为方阵,v为向量 X = diag(v,k)当v是一个含有n个元素的向量时,返回一个n+abs(k)阶方阵X,向量v在矩阵X中的第k个对角线上,k=0表示主对角线,k>0表示在主对角线上方,k<0表示在主对角线下方。例:
v=[1 2 3];
diag(v, 3)
ans =
     0     0     0     1     0     0
     0     0     0     0     2     0
     0     0     0     0     0     3
     0     0     0     0     0     0
     0     0     0     0     0     0
     0     0     0     0     0     0
当未指定k值时,默认k=0,即X = diag(v)等价于X = diag(v,0),此时v为对角线上的元素。
v = diag(X,k),此时将矩阵X作为参数传入diag()函数中,返回值v即为对角线上的元素。k=0主对角线,k>0上三角的对角线,
k<0下三角的对角线上的元素。

11.chol()函数:如果矩阵X是对称正定的,则Cholesky分解将矩阵X分解成一个下三角矩阵和上三角矩阵的乘积。设上三角矩阵为R,则下三角矩阵为其转置,即X=R'R。MATLAB函数chol(X)用
于对矩阵X进行Cholesky分解,其调用格式为:R=chol(X):产生一个上三角阵R,使R'R=X。若X为非对称正定,则输出一个出错信息。

12.inv()函数:inv是矩阵求逆的意思。具体用法A=inv(B),其中B是输入的可逆矩阵,输出A就是B的逆矩阵,逆矩阵满足性质 AB=BA=E (E是单位阵)。
如果输入的是不可逆矩阵会弹出警告,并返回inf。

13.abs()取绝对值

14.ones(a,b):生成a行b列的全部元素为1的矩阵

15.X^X是矩阵的乘法,如果是X.^Y则是矩阵X和矩阵Y对应相同位置上元素相乘(Xij*Yij作为新矩阵第i行第j列的元素)

16.sum(x,2)表示矩阵x的横向相加,求每行的和,结果是列向量。而缺省的sum(x)就是竖向相加,求每列的和,结果是行向量。

17.exp(a),如a是一标量(即一常数),返回自然常数的a次方;如a是以矩阵,则返回矩阵每个元素对应的exp次方值。

18.length(X)获取矩阵X行列数的较大值

19.matlab中矩阵的存储方式和scala类似,都是一列一列排序存储,故w(nonZero)此类方法,实际就是将w和nonZero进行比较,因为w和nonZero中元素都是类似于一列列存储在一位数组中将w和nonZero中位置i的元素进行比较,如果nonZero在i位置元素为真(非零),则取w在i处的值,此处只需要注意nonZero长度可以随意,但是在长度超过w长度后的元素只能取0,否则会报错类似数组越界。对于类似A(non)=B此类式子,B中元素个数必须和non中非零元个数一样从而能够每次匹配到非零元时一一配对填充进入A中取代原来A中的值。

20.对于 a = w(nonZero) 此类式子中,右侧可以理解为,将矩阵w和nonZero中的所有元素按照列优先的顺序存储在一个一维数组中,然后根据nonZero的长度遍历nonZero中的元素,对于为真(非零)的位置,取w所存数组中同样位置处的元素,遍历完nonZero后从w得到的数组将会以矩阵形式赋值给a  至于是行矩阵还是列矩阵则是和nonZero一样。

Matlab中各类函数用法相关推荐

  1. matlab sort descend,详解Matlab中 sort 函数用法

    搜索热词 (1)B=sort(A) 对一维或二维数组进行升序排序,并返回排序后的数组,当A为二维时,对数组每一列进行排序. eg: A=[1,5,3],则sort(A)=[1,3,5] A=[1,3; ...

  2. matlab中频域信号IFFT,MATLAB中ifft函数用法、性质、特性-以及与fft的组合应用全面深入解析(含程序)...

    MATLAB中ifft函数用法.性质.特性,以及与fft的组合应用全面深入解析(含程序) 前言 在我之前的<MATLAB中fft函数用法.性质.特性.缺陷全面深入解析(含程序)>中,我已经 ...

  3. Matlab中 intlinprog函数用法简介

    Matlab中 intlinprog函数用法简介 本来想要自己亲手写一遍的,发现了一优质博文基本上跟我做过的例题大差不差,所以就直接放上链接. 参考链接 https://www.cnblogs.com ...

  4. matlab stem 属性,matlab中stem函数用法_常见问题解析

    matlab中如何自定义图例_常见问题解析 matlab中自定义图例的方法:首先打开matlab软件:然后点击勾选按钮,新建一个文件并输入代码为"x = 0:pi/50:2*pi;" ...

  5. stem什么意思matlab,matlab中stem函数用法_常见问题解析,matlab

    matlab中如何自定义图例_常见问题解析 matlab中自定义图例的方法:首先打开matlab软件:然后点击勾选按钮,新建一个文件并输入代码为"x = 0:pi/50:2*pi;" ...

  6. matlab里randn是什么,matlab中randn函数用法

    matlab中randn函数用法 MATLAB 中的randn函数 matlab函数 randn:产生正态分布的随机数或矩阵的函数 randn:产生均值为0,方差σ^2 = 1,标准差σ = 1的正态 ...

  7. sort函数降序排列matlab,详解Matlab中 sort 函数用法

    (1)B=sort(A) 对一维或二维数组进行升序排序,并返回排序后的数组,当A为二维时,对数组每一列进行排序. eg: A=[1,5,3],则sort(A)=[1,3,5] A=[1,5,3;2,4 ...

  8. length命令怎么用Matlab,matlab中length函数用法

    matlab中的length表示什么?应该如何使用? length:数组长度(即行数或列数中的较大值): 使用方法: n=length(A):如果A为非空数组,返回行数和列数两者之间数值较大的那一个值 ...

  9. matlab中imresize()函数用法

    matlab中imresize()函数的功能是改变图像的大小. 其用法有多种: 1.B = imresize(A,m)  将图片A放大m倍 2.B = imresize(A,m,method)  将图 ...

最新文章

  1. hdu4585 STL水题
  2. 用unsigned char 表示字节
  3. HIVE时间戳错误unix_timestamp时间不同环境相差8小时
  4. 《Linux内核分析》课程总结
  5. ExtJs入门 (02)-布局面板
  6. 解析super-smack的smack文件
  7. array用法 numpy_Numpy统计计算、数组比较,看这篇就够了
  8. 自动修改linux下/etc/sysconfig/network-scripts/ifcfg-ethX网卡文件的脚本
  9. 高级php面试题(转)
  10. Java Socket总结
  11. clojure语言_Clojure编程语言
  12. fprintf()函数的用法结合代码
  13. Ubuntu中deb包详解及打包教程
  14. [STM32]WIN7 64位系统 CDC类 虚拟串口驱动无法安装的解决办法
  15. 万恶的less-loader
  16. ROS学习笔记(2)——ROS通信机制
  17. 产品读书《长尾理论》
  18. 网站性能指标 - FMP
  19. 菜鸟都应该知道的倾斜摄影测量知识
  20. MNIST手写数字识别之MLP实现

热门文章

  1. mac(4) : 删除系统自带输入法
  2. 机房考试是用计算机考试吗,计算机考试,你挂了吗?
  3. seata xid是什么_调用没有自动传递xid
  4. 关于星号(**/*.java)
  5. A. 阿里巴巴 数据中台 --- 概述
  6. 【操作系统】操作系统知识点学习与整理
  7. Qt 制作登录对话框
  8. VC6.0中clw、ncb、aps文件的作用
  9. python怎样控制继电器_Python与硬件学习笔记:继电器的使用
  10. *CyberC 2019 征稿第11届网络分布式计算与知识发现国际会议**投稿截止日期到6月15日