MATLAB矩阵运算
矩阵定义
MATLAB以矩阵作为数据操作的基本单位,这使得矩阵运算变得非常简捷、方便、高效。矩阵是由m×n个数av (i=1,2,…,m; j = 1,2,…,n)排成的m行n列数表,记成:
若m=n,则该矩阵为n阶矩阵(n阶方阵)。
矩阵创建
在键盘上直接按行方式输入矩阵是最方便、最常用的创建数值矩阵的方法,尤其适合较小的简单矩阵。在用此方法创建矩阵时,应当注意以下几点:
- 输入矩阵时要以“[ ]”为其标识符号,矩阵的所有元素必须都在括号内。
- 矩阵同行元素之间由空格(个数不限)或逗号分隔,行与行之间用分号或回车键分隔。矩阵大小不需要预先定义。
- 矩阵元素可以是运算表达式。
- 若“[ ]”中无元素,表示空矩阵。
- 如果不想显示中间结果,可以用“;”结束。
矩阵生成
矩阵的生成除了直接输入法,还可以利用M文件生成法和文本文件生成法等。
1.利用M文件创建
当矩阵的规模比较大时,直接输入法就显得笨拙,出差错也不易修改。为了解决这些问题,可以将所要输入的矩阵按格式先写入一文本文件中,并将此文件以m为其扩展名,即M文件。
M文件是一种可以在 MATLAB环境下运行的文本文件,它可以分为命令式文件和函数式文件两种。在此处主要用到的是命令式M文件,用它的简单形式来创建大型矩阵。在MATLAB命令行窗口中输入M文件名,所要输入的大型矩阵即可被输入到内存中。
M文件中的变量名与文件名不能相同,否则会造成变量名和函数名的混乱。运行M文件时,需要先将M文件sample.m复制到当前目录文件夹下,否则运行时无法调用。
2.利用文本创建
MATLAB中的矩阵还可以由文本文件创建,即在文件夹(通常为work文件夹)中建立txt 文件,在命令行窗口中直接调用此文件名即可。
用户可以直接用函数来生成某些特定的矩阵,常用的函数如下:
- eye(n):创建n×n单位矩阵。
- eye(m,n):创建m×n的单位矩阵。
- eye(size(A)):创建与A维数相同的单位矩阵。
- ones(n):创建n×n全1矩阵。
- ones(m,n):创建m×n全1矩阵。
- ones(size(A)):创建与A维数相同的全1阵。
- zeros(m,n):创建m×n全0矩阵。
- zeros(size(A)):创建与A维数相同的全0阵。
- rand(n):在[0,1]区间内创建一个n×n均匀分布的随机矩阵。
- rand(m,n):在[0,1]区间内创建一个m×n均匀分布的随机矩阵。
- rand(size(A)):在[0,1]区间内创建一个与A维数相同的均匀分布的随机矩阵。
- compan(P):创建系数向量是P的多项式的伴随矩阵。
- diag(v):创建一向量v中的元素为对角的对角阵。
- hilb(n):创建n×n的Hilbert矩阵。
- magic(n):生成n阶魔方矩阵。
- sparse(A):将矩阵A转化为稀疏矩阵形式,即由A的非零元素和下标构成稀疏矩阵S。若A本身为稀疏矩阵,则返回A本身。
MATLAB矩阵运算
1.矩阵元素的修改
矩阵建立起来之后,还需要对其元素进行修改。下表列出了常用的矩阵元素修改命令:
![](/assets/blank.gif)
2.矩阵的变维
矩阵的变维可以用符号“:”法和reshape函数法。reshape函数的调用形式如下:
reshape(X,m,n)
将已知的矩阵变为m行n列的矩阵。
3.矩阵的变向
Rot(90):将A逆时针旋转90度
Rot(90,k):将A逆时针旋转90度*k,k可为正整数或负整数
Fliplr(X):将X左右翻转
flipud(X):将X上下翻转
flipdim(X,dim)q:dim=1时对行翻转,dim=2对列翻转
4.矩阵的抽取
对矩阵元素的抽取主要是指对角元素和上(下)三角阵的抽取。
5.矩阵的加法运算
6.矩阵的乘法运算
7.矩阵的点乘运算
点乘运算指将两矩阵中相同位置的元素进行相乘运算,将积保存在原位置组成新矩阵。
8.矩阵的左除运算
线性方程组D*X=B,如果D非奇异,即它的逆矩阵inv(D)存在,则其解用MATLAB表示为:
X=inv(D)*B=D\B
符号“\”称为左除,即分母放在左边。
左除的条件:B的行数等于D的阶数(D的行数和列数相同,简称阶数)。
9.矩阵的右除运算
线性方程组D*X=B,如果D非奇异,即它的逆矩阵inv(D)存在,则其解用MATLAB表示为:
X=B*inv(D)=B/D
符号“/”称为右除,即分母放在右边。
右除的条件:B的列数等于D的阶数(D的行数和列数相同,简称阶数)。
10.矩阵的幂运算
11.矩阵的逆
12.范数
13.奇异值分解
奇异值分解(SVD)是现代数值分析(尤其是数值计算)的最基本和最重要的工具之一,因此在实际工程中有着广泛的应用。
所谓的SVD分解指的是将mxn矩阵A表示为3个矩阵乘积形式: USV^T,其中U为mxm酉矩阵,V为n×n酉矩阵,S为对角矩阵,其对角线元素为矩阵A奇异值且满足S1>=S2>=..>=Sr>Sr+1=..=Sn,r为矩阵A的秩。在 MATLAB中,这种分解是通过SVD命令来实现的。
SVD的命令调用格式:
MATLAB矩阵运算相关推荐
- Matlab 矩阵运算(1)
写在前面: 这个帖子主要是整理我常用到的matlab矩阵运算,给自己作为笔记,也提供给需要的同学们看.里面的内容在很多别的博客也都有介绍,我开始用的时候也是跟他们学习的,在此表示感谢.能附上链接的我都 ...
- Armadillo与matlab矩阵运算对照
Armadillo与matlab矩阵运算对照 官方文档 Matlab/Octave Armadillo Notes A(1, 1) A(0, 0) indexing in Armadillo star ...
- armadillo matlab,科学网—C++下媲美MATLAB矩阵运算的Armadillo 库 - 吴泓润的博文
Matlab在矩阵运算上确实无敌,但是如果涉及高频的for/while循环就彻底完蛋了.此时我们希望用C或C++跑仿真,但又希望使用Maltab下的矩阵运算.现在给出几个关于在VS下使用Armadil ...
- MATLAB 矩阵运算示例
MATLAB矩阵运算示例 clc; clear; a=[1;2]; b=[3;4]; c=[5;6];d=[a b c]; e=sqrt(a.*a+b.*b+c.*c); f=sqrt(d.*d); ...
- matlab 功率计算,基于Matlab矩阵运算的潮流计算支路功率计算方法与流程
技术特征: 1.基于Matlab矩阵运算的潮流计算支路功率计算方法,其特征在于:采用矩阵运算,包括以下步骤: E1.读支路首节点号数组I.末节点号数组J.电阻数组R.电抗数组X.对地电纳数组B.变压器 ...
- 通过有限差分和matlab矩阵运算直接求解一维薛定谔方程,通过有限差分和MATLAB矩阵运算直接求解一维薛定谔方程.doc...
通过有限差分和MATLAB矩阵运算直接求解一维薛定谔方程 通过有限差分和MATLAB矩阵运算直接求解一维薛定谔方程 文章编号:1672-8785(2010)03-0042-05 通过有限差分和MATL ...
- matlab矩阵运算_MATLAB基础学习之三种基本运算
MATLAB学习之三种运算 MATLAB软件 一.基本算数运算 在MATLAB中有两种矩阵运算:右除/和左除.如果A矩阵是非奇异方阵,则B/A等效于B*inv(A),AB等效于inv(A)*B.注:i ...
- matlab矩阵运算相关函数
1. MATLAB提供函数det()求方阵行列式的值 >> A=[1 3 4;5 6 7;1 0 1] A = 1 3 4 5 6 7 ...
- matlab 矩阵命令,matlab矩阵运算命令
有哪位高人总结了matlab中的矩阵的基本运算命令?还有有关极限.积 1.1 矩阵的表示 1.2 矩阵运算 1.2.14 特殊运算 1.矩阵对角线元素的抽取 函数 diag 格式 X = diag(v ...
- 博途PLC和MATLAB矩阵运算存储方法对比
MATLBA不用多说,号称矩阵实验室可想而知在MATLAB里对矩阵的存储.运算非常简单.高效.如下图简单定义一个5*3的矩阵 1.rand(5*3) 上面利用rand()函数简单的实现了内存矩阵存储空 ...
最新文章
- 关于C语言运算符优先级的记忆技巧是什么?
- 安装python3.8.0步骤_python3.8.0安装教程_后端开发
- 128位计算机 ps2,64位就最强?为啥没有128位电脑?
- java 连接mysql工具类_java连接Mysql数据库的工具类
- 操作系统课设之Windows 的互斥与同步
- C语言_选择结构的程序设计
- java中Map遍历的四种方法
- javascript实例:路由的跳转
- 6线AB相马达与ARDUINO 和 L298N电机之间
- 思科ccna教材_什么是CCNA或Cisco认证网络助理?
- Tableau+财务领域数据分析+应用
- 确定有限自动机DFA
- python怎么循环播放_如何用pyaudio循环播放音频?
- 如何计算均值、标准差和标准误差
- ftp客户端上传文件步骤
- html标签中的lang属性
- 阿里云1核1G内存1M宽带可以支持多少IP访问量?
- 最新软件设计师知识点分析(思维导图)
- 云计算技术及其应用前景分析
- OpenEuler 会长久吗