matlab的矩阵操作相关函数

本文主要积累一些使用matlab过程中值得注意的函数

diag(A)

这个看似简单的函数确认让我头疼了几个小时

该函数其实有两个作用

① 如果A是一个矩阵,那么diag(A)的作用便是提取A的对角线元素

② 如果A是一个向量,那么diag(A)的作用便是生成一个以A中元素对对角线元素的对角矩阵

例如:

或者

确实很神奇啊,使用中一定要注意,双方面作用

时间: 2024-08-29 23:47:04

matlab的矩阵操作相关函数的相关文章

matlab矩阵操作

1:求行数  nrow=size(matrix,1); 2:求列数  ncol=size(matrix,2); 3:矩阵合并 c1=[m1,m2]横向合并  c2=[m1;m2]纵向合并 m1= [5     2     3] ; m2=[1     2     3]; c1 =[5     2     3     1     2     3]; c2 =[ 5 2 3 1 2 3 ] matlab的下标从1开始,取matlab的元素直接用m[index]即可 取子矩阵 m[r1:rn,:]  

避免使用循环的几个高效matlab矩阵操作

matlab拥有强大的晕针运算能力,下面的几个例子展示了很多在其他语言中需要用循环遍历才能完成的操作在matlab里可以用矩阵操作来完成 1)将矩阵中小于零的元素置零: a = [1,2,3;-1,-2,-3;1,0,-1] a(a<0) = 0 打印结果: a = 1 2 3 -1 -2 -3 1 0 -1 a = 1 2 3 0 0 0 1 0 0 2)将矩阵a中小于0的元素乘以2,其他元素不改变值: a = [1,2,3;-1,-2,-3;1,0,-1] a(find(a<0)) = a

MATLAB命令大全和矩阵操作大全

转载自: http://blog.csdn.net/dengjianqiang2011/article/details/8753807 MATLAB矩阵操作大全 一.矩阵的表示在MATLAB中创建矩阵有以下规则: a.矩阵元素必须在"[ ]"内: b.矩阵的同行元素之间用空格(或",")隔开: c.矩阵的行与行之间用";"(或回车符)隔开: d.矩阵的元素可以是数值.变量.表达式或函数: e.矩阵的尺寸不必预先定义. 二,矩阵的创建: 1.直接输

matlab中各种高斯相关函数

matlab中各种高斯相关函数 matlab, 高斯函数, 高斯分布 最常见的是产生服从一维标准正态分布的随机数 n=100; x=randn(1,n)  实现服从任意一维高斯分布的随机数 u=10; sigma=4;  x=sigma*randn(1,n)+u  产生服从多元高斯分布的随机变量函数mvnrnd,[multivarite normal random] n=100; %产生随机数的个数 mu=[1 -1];  Sigma=[.9,.4;.4,.3];  r=mvnrnd(mu,Si

[matlab]改变矩阵的大小并保存到txt文件

要完成的任务是,加载一个保存在txt文件中的矩阵, 并把它扩大10倍,并且要再次保存回去 %加载txt文件 >load('Matrix.txt'); %扩大10倍 repmat(Matrix,row column) % 这里的matrix 参数是要对其进行修改的matrix, 其中row是要新建的一个矩阵的行数, 而column是新建矩阵的列数 >Matrix = repmat(Matrix,10,1); % 这个就相当于  将Matrix矩阵 复制了10份,并且是按列排列的, 等同于 Mat

OpenCV &mdash;&mdash; 矩阵操作

多通道的矩阵 -- 通道是连续的!! 要将指向该数据类型的指针移动到下一通道,我们只需要将其增加1.如果想访问下一个"像素"或者元素集,则需要一定的偏移量 矩阵的step元素是矩阵中行的长度,单位为字节.   #include "cv.h" #include "highgui.h" #include <IOSTREAM.H> int main(int argc,char** argv) { float vals[]={0.85,-0.

iOS开发UI篇—Quartz2D使用(矩阵操作)

iOS开发UI篇-Quartz2D使用(矩阵操作) 一.关于矩阵操作 1.画一个四边形 通过设置两个端点(长和宽)来完成一个四边形的绘制. 代码: 1 - (void)drawRect:(CGRect)rect 2 { 3 //画四边形 4 //获取图形上下文 5 CGContextRef ctx=UIGraphicsGetCurrentContext(); 6 //绘图 7 CGContextAddRect(ctx, CGRectMake(20, 50, 100, 100)); 8 //渲染

poj3735—Training little cats(特殊操作转化为矩阵操作)

题目链接:http://poj.org/problem?id=3735 题目意思: 调教猫咪:有n只饥渴的猫咪,现有一组羞耻连续操作,由k个操作组成,全部选自: 1. g i 给第i只猫咪一颗花生 2. e i 让第i只猫咪吃光它的花生 3. s i j 交换猫咪i与猫咪j的花生 现将上述一组连续操作做m次后,求每只猫咪有多少颗花生? 思路:这道题难点在如何把这种奇怪的操作转化为矩阵操作,网络上看到一个画的很好的图,这里直接偷过来. 现在,对于每一个操作我们都可以得到一个转置矩阵,把k个操作的矩

matlab 对矩阵取整的函数

Matlab取整函数有: fix, floor, ceil, round.取整函数在编程时有很大用处.一.取整函数1.向零取整(截尾取整)fix-向零取整(Round towards zero):>> fix(3.6)   ans =     32.向负无穷取整(不超过x 的最大整数-高斯取整)floor-向负无穷取整(Round towards minus infinity):>> floor(-3.6)  ans =    -43.向正无穷取整(大于x 的最小整数)ceil-向