matlab矩阵

matlab矩阵的操作

笑着哭i 提交于 2019-12-26 09:33:38
特殊矩阵 通用型的特殊矩阵 zeros函数:产生全0矩阵,即零矩阵 ones函数:产生全1矩阵,即幺矩阵 eye函数: 产生对角线为1的矩阵。当矩阵是方阵时,得到一个单位矩阵。 rand函数:产生(0,1)区间均匀分布的随机矩阵 randn函数:产生均值为0,方差为1的标准正态分布随机矩阵。 以上函数三种调用格式 例: 产生m x m 零矩阵 :zeros(m) 产生m x n 零矩阵 :zeros(m,n) 产生与矩阵A同型的零矩阵 :zeros(sizeof(A)) 面向专门学科的特殊矩阵 1、 魔方矩阵:n阶魔方阵由1..n 2 共n 2 个整数组成,其每行每列及主、副对角线元素 之和都相等。当n>=2时,有多个不同的n阶魔方阵。 magic(n):产生一个特定(不是所有的)n阶的魔方阵 2、 范德蒙(Vandermonde的)矩阵(常用与通信编码纠错): vander(v)函数:生成以向量V为基础的范德蒙矩阵 3、 希尔伯特(Hilbert)矩阵:H( i , j )= 1/ (i+j-) Hilb(n)函数:生成n阶希尔伯特矩阵 4、 伴随矩阵(??): Compan(p)函数:求矩阵P的伴随矩阵 5、 帕斯卡矩阵:P( i , j )=p(i , j-1) + p(i-1,j) 且 p(i , 1)= p(1,j)=1 Pascal(n)函数:生成帕斯卡矩阵 矩阵变换

MATLAB 学习

倖福魔咒の 提交于 2019-12-26 09:33:21
一、eig函数的使用方法 在MATLAB中,计算矩阵A的特征值和特征向量的函数是eig(A),常用的调用格式有 5种: (1) E=eig(A):求矩阵A的全部特征值,构成向量E。 (2) [V,D]=eig(A):求矩阵A的全部特征值,构成对角阵D,并求A的特征向量构成 V的列向量。 (3) [V,D]=eig(A,'nobalance'):与第2种格式类似,但第2种格式中先对A作相似 变换后求矩阵A的特征值和特征向量,而格式3直接求矩阵A的特征值和特征向量。 (4) E=eig(A,B):由eig(A,B)返回N×N阶方阵A和B的N个广义特征值,构成向量E 。 (5) [V,D]=eig(A,B):由eig(A,B)返回方阵A和B的N个广义特征值,构成N×N阶对 角阵D,其对角线上的N个元素即为相应的广义特征值,同时将返回相应的特征向 量构成N×N阶满秩矩阵,且满足AV=BVD。 eig Find eigenvalues and eigenvectors Syntax d = eig(A) d = eig(A,B) [V,D] = eig(A) [V,D] = eig(A,'nobalance') [V,D] = eig(A,B) [V,D] = eig(A,B,flag) d = eig(A)和 [V,D] = eig(A)最为常用 注意,第一列为对应第一个特征值的特征向量。

MATLAB笔记1之基本操作

时光怂恿深爱的人放手 提交于 2019-12-23 13:29:03
---恢复内容开始--- 1.1 MATLAB概述 1.1.1 MATLAB是矩阵实验室(Matrix Laboratory)之意。 1.1.2 MATLAB是MathWorks公司开发的一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。     使用 MATLAB,可以较使用传统的编程语言(如 C、C++ 和 Fortran)更快地解决技术计算问题. 1.1.3 “演算纸”式的计算软件 1.2 命令窗口 1.2.1 命令窗口是MATLAB的主要交互窗口,用于输入命令并显示除图形以外的所有执行结果。    MATLAB命令窗口中的“>>”为命令提示符,表示MATLAB正在处于准备状态。    在命令提示符后键入命令并按下回车键后,MATLAB就会解释执行所输入的命令,并在命令后面给出计算结果。 1.2.2 一般来说,一个命令行输入一条命令,命令行以回车结束。但一个命令行也可以输入若干条命令,各命令之间以逗号或分号分隔。例如:     p=15,m=35    p=15;m=35 1.2.3 可用clc命令清屏 1.2.4 如果一个命令行很长,一个物理行之内写不下,可以在第一个物理行之后加上3个点并按下回车键,然后接着下一个物理行继续写命令的其他部分。     3个点称为续行符,即把下面的物理行看作该行的逻辑继续。    例: 1+1/2+1/3+1

matlab基本语法

让人想犯罪 __ 提交于 2019-12-22 18:52:06
MATLAB基本语法 点乘运算 , 常与其他运算符 点乘运算,常与其他运算符联合使用(如.\) 矩阵生成 矩阵生成 向量生成或子阵提取本节将会介绍一些 MATLAB的基本语法 的使用。 持续更新。。。 在 MATLAB 环境下进行的操作就像是使用一个超级复杂的计算器,不要被这吓到了。在您开始使用 MATLAB 时可以在“>>”命令提示符下输入命令。 执行MATLAB命令 MATLAB 是一种解释型的环境。也就是说,只要你给MATLAB一个命令,它就会马上开始执行。 MATLAB实践 在">>" 命令提示符下键入一个有效的表达,例如: 5 + 5 然后按 ENTER 键 当点击“执行”按钮,或者按“Ctrl+ E”,MATLAB执行它并返回结果: ans = 10 让我们使用几个例子: 3 ^ 2 % 3 raised to the power of 2 当你点击“执行”按钮,或者按“Ctrl+ E”,MATLAB执行它并返回结果: ans = 9 另外一个例子: sin(pi /2) % sine of angle 90o 当你点击“执行”按钮,或者按“Ctrl+ E”,MATLAB执行它并返回结果: ans = 1 另外一个例子, 7/0 % Divide by zero 当点击“执行”按钮,或者按“Ctrl+ E”,MATLAB执行它并返回结果: ans = Inf

MATLAB permute命令的操作逻辑

微笑、不失礼 提交于 2019-12-21 01:54:42
MATLAB中permute命令可以对高维矩阵的轴进行操作,例如使2*3*4的三维矩阵调整为4*2*3,那么具体函数内部进行了什么操作呢? 我们知道matlab里有两种坐标系,一种是我们熟知的笛卡尔坐标系,用命令axis xy实现,以二维图为例,原点在左下角 还有一种是matlab中矩阵的索引体系,用命令axis ij实现,以二维图为例,原点在左上角 permute命令就是基于axis ij这种坐标轴下进行的操作 下面我们以一个三维矩阵的例子来说明命令permute的内部操作逻辑 A(:,:,1)=[1 2;3 4]; A(:,:,2)=[5 6;7 8]; A(:,:,3)=[9 10; 11 12]; 我们有 val(:,:,1) = 1 2 3 4 val(:,:,2) = 5 6 7 8 val(:,:,3) = 9 10 11 12 permute(a,order)操作分为两种情况 1.保持坐标轴关系不变 也就是order=[2 3 1]或[3 1 2] 这时候只用找到一个角度来重新观察这个矩阵即可 例如下图中所示 用MATLAB运行结果进行验证 D=permute(A,[2 3 1]); val(:,:,1) = 1 5 9 2 6 10 val(:,:,2) = 3 7 11 4 8 12 2,某两个轴进行交换 例如order = [1 3 2] [2 1 3] [3

PCA原理分析和Matlab实现方法(三)

╄→гoц情女王★ 提交于 2019-12-16 05:05:14
PCA主成分分析原理分析和Matlab实现方法(三) 【 尊重 原创,转载请注明出处 】http://blog.csdn.net/guyuealian/article/details/68487833 网上关于PCA(主成分分析)原理和分析的博客很多,本博客并不打算长篇大论推论PCA理论,而是用最精简的语言说明鄙人对PCA的理解,并在最后给出用Matlab计算PCA过程的三种方法,方便大家对PCA的理解。 PS:本博客所有源代码,都可以在附件中找到 下载 : http://download.csdn.net/detail/guyuealian/9799160 关于PCA原理的文章,可参考: [1]http://blog.csdn.net/guyuealian/article/details/68483384 [2]http://blog.csdn.net/guyuealian/article/details/68483213 [3] 张铮的《精通Matlab数字图像处理与识别 》 一、 PCA原理简要说明 PCA算法主要用于降维,就是将样本数据从高维空间投影到低维空间中,并尽可能的在低维空间中表示原始数据。 PCA的几何意义可简单解释为: 0维-PCA:将所有样本信息都投影到一个点,因此无法反应样本之间的差异;要想用一个点来尽可能的表示所有样本数据,则这个点必定是样本的均值。 1维

【Python学习之路】Numpy 从 Matlab 到 Numpy

老子叫甜甜 提交于 2019-12-15 23:42:21
从 Matlab 到 Numpy ##Numpy 和 Matlab 比较 Numpy 和 Matlab 有很多相似的地方,但 Numpy 并非 Matlab 的克隆,它们之间存在很多差异,例如: MATLAB® Numpy 基本类型为双精度浮点数组,以二维矩阵为主 基本类型为 ndarray ,有特殊的 matrix 类 1-based 索引 0-based 索引 脚本主要用于线性代数计算 可以使用其他的 Python 特性 采用值传递的方式进行计算 切片返回复制 采用引用传递的方式进行计算 切片返回引用 文件名必须和函数名相同 函数可以在任何地方任何文件中定义 收费 免费 2D,3D图像支持 依赖第三方库如 matplotlib 等 完全的编译环境 依赖于 Python 提供的编译环境 array 还是 matrix? Numpy 中不仅提供了 array 这个基本类型,还提供了支持矩阵操作的类 matrix ,但是一般推荐使用 array : 很多 numpy 函数返回的是 array ,不是 matrix 在 array 中,逐元素操作和矩阵操作有着明显的不同 向量可以不被视为矩阵 具体说来: *, dot(), multiply() array : * -逐元素乘法, dot() -矩阵乘法 matrix : * -矩阵乘法, multiply() -逐元素乘法 处理向量

MATLAB将矩阵写入TXT文件中

主宰稳场 提交于 2019-12-15 01:53:50
a =[17 24 1 8 15;23 5 7 14 16 ;4 6 13 20 22 ;10 12 19 21 3 ;11 18 25 2 9 ]; fid=fopen('tt.txt','w');%写入文件路径 [m,n]=size(a); for i=1:1:m for j=1:1:n if j==n fprintf(fid,'%g\n',a(i,j)); else fprintf(fid,'%g\t',a(i,j)); end end end fclose(fid); 来源: CSDN 作者: 方便面袋袋 链接: https://blog.csdn.net/qq_43807789/article/details/103473855

matlab基础

杀马特。学长 韩版系。学妹 提交于 2019-12-14 19:09:07
det(矩阵名)%计算矩阵的行列式 inv(矩阵名)%计算矩阵的逆矩阵 … %表示换行 format short %显示小数点后面四位,和只用一个format效果一样 format long %显示更加精确的结果 pi 圆周率 eps 浮点数识别精度2.22*10^-16 realmin 最小正整数2.2251*10^-308 realmax 最大正整数1.7977*10^308 inf 无穷大 NaN 不定值,比如0/0 ans %系统本身的一个特殊变量,如果运算结果没有赋予任何一个变量,系统就将值赋给ans。 clc %清除命令行的东西 clear 某个变量名 %清楚某个变量,如果只有clear就清楚所有的变量。 矩阵的等差输入:a=[1:2:6] %这样的矩阵就是 a[1 3 5],其格式是:初值 冒号 增值 冒号 终值。 函数:linspace(x1,x2,n) %生成x1到x2之间的n维等距行向量,即是将x1到x2等分n-1份。 length(向量名) %查看向量的维数。 size(矩阵名) %查看矩阵的行和列数。 查看向量的某个元素:a(1) %查看a向量的第一个元素,从1开始算的 查看矩阵的某个元素:a(1,1) %查看a矩阵的第一行和第一列的元素。 还可以这样用:A(1,[1,2,3]) %这样生成A矩阵的第一行行向量是1 2 3。 A(2:)

学习笔记:matlab C++ python中reshape函数

﹥>﹥吖頭↗ 提交于 2019-12-14 05:57:31
python中reshape: import numpy as np a = np . array ( [ 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ] ) b = a . reshape ( ( 3 , 3 ) ) c = a . reshape ( ( 3 , 3 ) ) #c=a.reshape((3,-1)),-1代表自动补齐 print ( c ) a [ 5 ] = 98 #或者b[1][2]=99 print ( b ) print ( a ) ''' [[1 2 3] [4 5 6] [7 8 9]] [[ 1 2 3] [ 4 5 98] [ 7 8 9]] [ 1 2 3 4 5 98 7 8 9] 可以发现python中reshape成多维矩阵首先是按行顺序 其次reshape新生成数组和原数组共用一个内存,不管改变哪个,另一个都会被影响 python中数组矩阵下标是从0开始 ''' Matlab: % reshape ( A , m , n ) % reshape ( A , m , [ ] ) [ ] 代表自动补齐 % reshape ( a : mn + a , m , n ) >> A = [ 1 2 8 5 ] ; >> B = reshape ( A , 2 , 2 ) % { B = 1 8 2 5 % } >> C =