专栏首页机器学习与统计学【MATLAB 从零到进阶】day3 矩阵 数组

【MATLAB 从零到进阶】day3 矩阵 数组

几种数组的转换

mat2ce11,将矩阵分块,转为元胞数组

ce112mat,将元胞数组转为矩阵

num2ce11,将数值型数组转为元胞数组

ce112struct,将元胞数组转为结构数组

struct2ce11,将结构数组转为元胞数组

num2str,将数值型数组转为字符型数组

str2num,将字符型数组转为数值型数组

>> A1=rand(60,50); >> B1=mat2cell(A1,[10 20 30],[25 25]) B1 = [10x25 double] [10x25 double] [20x25 double] [20x25 double] [30x25 double] [30x25 double] >> >> C1=cell2mat(B1); >> isequal(A1,C1) ans = 1 >> A2=[1 2 3 4;5 6 7 8;9 10 11 12]; >> B2=num2cell(A2) B2 = [1] [ 2] [ 3] [ 4] [5] [ 6] [ 7] [ 8] [9] [10] [11] [12] >> C={'heping','tianjin',22;'xiezhh','xingyang',31} C = 'heping' 'tianjin' [22] 'xiezhh' 'xingyang' [31] >> fields={'Name','Address','Age'}; >> S=cell2struct(C,fields,2) S = 2x1 struct array with fields: Name Address Age >> CS=struct2cell(S) CS = 'heping' 'xiezhh' 'tianjin' 'xingyang' [ 22] [ 31] >> isequal(C,CS') ans = 1

矩阵的算术运算

矩阵的除法包括左除(A\B)、右除(A/B)和点除(A./B)三种。一般情况下,x=A\b是方程组A*x=b的解,而x=b/A 是方程组x*A=b的解,x=A./B表示同型矩阵A和B对应元素相除。

>> A=[2 3 8;1 -2 -4;-5 3 1]; >> b=[-5;3;2]; >> x=A\b x = 1 3 -2 >> B=A; >> C=A./B C = 1 1 1 1 1 1 1 1 1

矩阵的乘方要求矩阵必须是方阵,有以下3种情况:

(1)矩阵A为方阵,x为正整数,A^ x表示矩阵A自乘x次;

(2)矩阵A为方阵,x为负整数,A^ x表示矩阵A-1自乘x次;

(3)矩阵A为方阵,x为分数,例如x = m/n,A^ x表示矩阵A 先自乘m次,然后对结果矩阵里的每一个元素开n次方。 矩阵的点乘方不要求矩阵为方阵,有以下2种情况:

(1)A为矩阵,x为标量,A.^ x表示对矩阵A中的每一个元素 求x次方;

(2)A和x为同型矩阵,A.^ x表示对矩阵A中的每一个元素求 x中对应元素次方。

>> A=[1 2;3 4]; >> B=A^2 B = 7 10 15 22 >> C=A.^2 C = 1 4 9 16 >> D=A.^A D = 1 4 27 256

矩阵的关系运算

矩阵的关系运算是通过比较两个同型矩阵的对应元素的大小关系,或者比较一个矩阵的各元素与某一标量之间的大小关系,返回一个逻辑矩阵(1表示真,0表示假)。关系运算的运算符有:< (小于)、<= (小于或等于)、> (大于)、>= (大于或等于)、= = (等于)、~= (不等于)6种

>> A=[1 2;3 4]; >> B=[2,2;2 2]; >> C1=A>B C1 = 0 0 1 1 >> C2=A~=B C2 = 1 0 1 1 >> C3=A>=2 C3 = 0 1 1 1

矩阵的逻辑运算

逻辑“或”运算,运算符为“|”. A | B表示同型矩阵A和B的或运算,若A和B的对应元素至少有一个非0,则相应的结果

元素值为1,否则为0;逻辑“与”运算,运算符为“&”. A & B表示同型矩阵A和B的与运算,若A和B的对应元素均非0,则相应的结果元素值为1,否则为0;逻辑“非”运算,运算符为“~”. ~ A表示矩阵A的非运算,若A的元素值为0,则相应的结果元素值为1,否则为0;逻辑“异或”运算。xor(A, B)表示同型矩阵A和B的异或运算,若A和B的对应元素均为0或均非0,则相应的结果元素

值为0,否则为1. 先决与运算,运算符“&&”. A && B 表示当A为真时,才执行A和B的逻辑与运算先决或运算,运算符“||”. A || B 表示当A为真时,不用再执行A和B的逻辑或运算

运算符的优先级

逆矩阵与广义伪逆矩阵

>> A=[1 2 ;3 4]; >> Ai=inv(A) Ai = -2.0000 1.0000 1.5000 -0.5000 >> syms a b c d >> B=[a b;c d]; >> Bi=inv(B) Bi = [ d/(a*d-b*c), -b/(a*d-b*c)] [ -c/(a*d-b*c), a/(a*d-b*c)] >> C=[1 2 3;4 5 6]; >> Cpi=pinv(C) Cpi = -0.9444 0.4444 -0.1111 0.1111 0.7222 -0.2222 方阵的特征值与特征向量 >> A=[5 0 4;3 1 6;0 2 3]; >> d=eig(A) d = -1.0000 3.0000 7.0000 >> [V,D]=eig(A) V = -0.2857 0.8944 0.6667 -0.8571 0.0000 0.6667 0.4286 -0.4472 0.3333 D = -1.0000 0 0 0 3.0000 0 0 0 7.0000 >> [Vs,Ds]=eig(sym(A)) Vs = [ 2, -2, 1] [ 2, 0, 3] [ 1, 1, -3/2] Ds = [ 7, 0, 0] [ 0, 3, 0] [ 0, 0, -1]

MATLAB常用标点符号

本文分享自微信公众号 - 机器学习与统计学(tjxj666)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2015-06-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 首发:吴恩达的 CS229的数学基础(线性代数),有人把它做成了在线翻译版本!

    这是两个方程和两个变量,正如你从高中代数中所知,你可以找到 和 的唯一解(除非方程以某种方式退化,例如,如果第二个方程只是第一个的倍数,但在上面的情况下,实...

    统计学家
  • CuteCharts一个敲可爱的 Python 手绘风格可视化图表库

    推荐一个可以绘制手绘风格图表的Python库,作者chenjiandong将JS 库 chart.xkcd与 Python/Notebook 相结合开发了cut...

    统计学家
  • 机器学习数学基础--线性代数

    换种表达方式,线性无关是说:其中任意一个向量都不在其他向量张成空间中,也就是对所有的

    统计学家
  • 教程 | 基础入门:深度学习矩阵运算的概念和代码实现

    选自Medium 机器之心编译 参与:蒋思源 本文从向量的概念与运算扩展到矩阵运算的概念与代码实现,对机器学习或者是深度学习的入门者提供最基础,也是最实用的教...

    机器之心
  • 【SAS Says】扩展篇:IML(2)

    上一篇“高级篇:IML(1)”发出来之后,有朋友反映东西东西太简单了,根本不能算“高级”。想想也是,暂时还没有介绍太复杂的SAS程序,于是决定将本篇定为“扩展篇...

    数说君
  • 吹弹牛皮之Unity 引擎基础 - 矩阵(三)

    上图中展示了p,q两个基向量(单位向量)绕原点旋转后得到的新基向量p'和q'。根据勾股定理有:

    用户7698595
  • 吹弹牛皮之Unity 引擎基础 - 矩阵(一)

    沉迷于硬笔的练习偷懒了很长时间。过去的7月份仅仅更新了一篇文章,实在是深表遗憾。接着之前的向量篇小菜继续向下探索。谢谢大家长久来的鼓励和支持。

    用户7698595
  • 一起来学matlab-matlab学习笔记10 10_1一般运算符

    本文为matlab自学笔记的一部分,之所以学习matlab是因为其真的是人工智能无论是神经网络还是智能计算中日常使用的,非常重要的软件。也许最近其带来的一...

    DrawSky
  • 吴恩达机器学习笔记18-逆矩阵、矩阵转置

    “Linear Algebra review(optional)——Inverse and transpose”

    讲编程的高老师
  • 吴恩达机器学习笔记16-矩阵与矩阵的乘法

    “Linear Algebra review(optional)——Matrix-matrix multiplication”

    讲编程的高老师

扫码关注云+社区

领取腾讯云代金券