MATLAB向量和矩阵的基本操作

矩阵的创建(1)  rand(m,n)创建m行n列的随机矩阵(每个元素的值在0到1之间)。(2)  zeros(m,n)创建m行n列的0矩阵。(3)  ones(m,n)创建m行n列的1矩阵(4)  eye(m)创建m行m列的对角元素是1,其余元素是0的对角矩阵。(5)

  randn:产生正态分布的随机数或矩阵的函数

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

  用法:

   Y = randn(n):返回一个n*n的随机项的矩阵。如果n不是个数量,将返回错误信息。

    Y = randn(m,n) 或 Y = randn([m n]):返回一个m*n的随机项矩阵。

    Y = randn(m,n,p,...) 或 Y = randn([m n p...]):产生随机数组。

    Y = randn(size(A)):返回一个和A有同样维数大小的随机数组。

注意:由于产生的是随机数序列,这里所说的均值为0,只是说这写随机数的分布期望值为0,而不是说这个序列的平均值就一定为0。

当生成的数很多的时候才体现出使正态分布:

x=randn(10000000,1);

hist(x,1000);

(6)  X = diag(v,k)  以向量v的元素作为矩阵X的第k条对角线元素,当k=0时,v为X的主对角线;当k>0时,v为上方第k条对角线;当k<0时,v为下方第k条对角线。

矩阵的元素的获取(1) A(x,y)表示第x行,第y列的元素的值(2) A(x0:y0,x1:y1)表示第x0行到第y0行和第x1列到y1列的所有元素的值,返回值为原矩阵的子矩阵。(3) A(x:y) 表示获取第一列的第x行到第y行元素的值,返回值是一个行向量。(4) A(x)表示获取第一列第x行的值,返回值是一个元素。矩阵的函数(1)find(A的条件表达式) A为矩阵或向量 ,返回值为将每一列的尾和下一列的头拼接在一起的向量的下标值

举例:

x =

0.4218 0.7431 0.6948 0.4456 0.9597 0.5472 0.1966 0.7572

0.9157 0.3922 0.3171 0.6463 0.3404 0.1386 0.2511 0.7537

0.7922 0.6555 0.9502 0.7094 0.5853 0.1493 0.6160 0.3804

0.9595 0.1712 0.0344 0.7547 0.2238 0.2575 0.4733 0.5678

0.6557 0.7060 0.4387 0.2760 0.7513 0.8407 0.3517 0.0759

0.0357 0.0318 0.3816 0.6797 0.2551 0.2543 0.8308 0.0540

0.8491 0.2769 0.7655 0.6551 0.5060 0.8143 0.5853 0.5308

0.9340 0.0462 0.7952 0.1626 0.6991 0.2435 0.5497 0.7792

0.6787 0.0971 0.1869 0.1190 0.8909 0.9293 0.9172 0.9340

0.7577 0.8235 0.4898 0.4984 0.9593 0.3500 0.2858 0.1299

>> find(x>0.9)

ans =

2

4

8

23

41

50

59

69

79

(2)  pow2(A) A为矩阵或者向量

A=

x1 x2

x3 x4

则pow2(A)=

2^x1 2^x2

2^x3 2^x4

(3) a*A   a为元素,A为矩阵

A=

x1 x2

x3 x4

a*A=

a*x1 a*x2

a*x3 a*x4

(4) A为M*N矩阵,B为M*N矩阵

A*B为矩阵的乘法,A.*B是矩阵的点乘

举例:

x =

1 2
3 4

>> y=x

y =

1 2
3 4

>> x*y

ans =

7 10
15 22

>> x.*y

ans =

1 4
9 16

(5)poly(向量X),poly是向量X为跟的多项式的系数。

举例:

poly([1,2])

ans =

1 -3 2

得到f(x)=x^2-3^x+2的方程,1和2为根

(6)

poly2str(X,‘自变量名称‘)或者poly2str(X) X为向量

poly2sym(X,‘自变量名称‘)或者poly2str(X) X为向量  %实际计算时只能使用poly2sym

举例

>> poly2str([1,2,3,4,5],‘x‘)

ans =

x^4 + 2 x^3 + 3 x^2 + 4 x + 5

举例

>> t=poly2sym([1,2,3,4],‘x‘)

t =

x^3 + 2*x^2 + 3*x + 4

>> subs(t,1)

ans =

10

(7)subs(函数,{对应的变量},{替换值})  %将具体的值代入函数

>> f=x+y^2+z^3

f =

y^2 + z^3 + x

>> subs(f,[x,y,z],[z,y,x])

ans =

x^3 + y^2 + z

>> subs(f,[x,y,z],[1,2,3])

ans =

32

(8)diff(函数名,变量名,求导次数)

>> syms x y z
>> f=sin(x)+cos(y)+z

f =

z + cos(y) + sin(x)

>> diff(f,x,1)

ans =

cos(x)

>> diff(f,y,1)

ans =

-sin(y)

>> diff(f,z,1)

ans =

1

>> diff(f,x,2)

ans =

-sin(x)

(7)积分

不定积分:int(函数,自变量)

定积分:int(函数,自变量,起始地址,终止地址)

不定积分:

>> f=x^2+y

f =

x^2 + y

>> int(f,x)

ans =

x^3/3 + y*x

>> int(f,y)

ans =

(y*(2*x^2 + y))/2

>>

定积分:

>> f=x

f =

x

>> int(f,x,0,2)

ans =

2

(10)旋转,转置,翻转矩阵

flipud(A):上下翻转矩阵

fliplr(A):左右翻转矩阵

A‘:转置矩阵

rot90(A):逆时针旋转矩阵90度

A =

1 2 3
4 5 6

>> A‘

ans =

1 4
2 5
3 6

>> rot90(A)

ans =

3 6
2 5
1 4

>> fliplr(A)

ans =

3 2 1
6 5 4

>> flipud(A)

ans =

4 5 6
1 2 3

时间: 2024-12-16 12:04:36

MATLAB向量和矩阵的基本操作的相关文章

MATLAB基本操作(十):关于OpenCV坐标系与MATLAB中矩阵行与列的对应

OpenCV坐标点与MATLAB中矩阵行与列的对应 Last Edit 2014/5/4 转载请注明出处:http://blog.csdn.net/jxlijunhao 之所以会写这个东西,因为要把OpenCV中得到的角点坐标,保存在txt文件中,然后投影到matlab中. 首先,OpenCV中的坐标系如下图: 所以,OpenCV中以(0,0)为原点,假定一个点(10,2),表示y=10,x=2 在matlab中以  (1,1)为原点,所以上面的点在matlab中应为(11,3) 验证代码: 在

向量和矩阵的各种范数比较(1范数、2范数、无穷范数等等

向量和矩阵的各种范数比较(1范数.2范数.无穷范数等等 范数 norm 矩阵 向量 一.向量的范数 首先定义一个向量为:a=[-5,6,8, -10] 1.1 向量的1范数 向量的1范数即:向量的各个元素的绝对值之和,上述向量a的1范数结果就是:29,MATLAB代码实现为:norm(a,1): 1.2 向量的2范数 向量的2范数即:向量的每个元素的平方和再开平方根,上述a的2范数结果就是:15,MATLAB代码实现为:norm(a,2): 1.3 向量的无穷范数 1.向量的负无穷范数即:向量的

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-向

[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

OpenGL学习脚印: 向量和矩阵要点(math-vector and matrices)

写在前面 前面几节内容环境搭建,绘制三角形,以及使用索引绘制,让我们对现代OpenGL中绘图做了简单了解.要继续后面的部分,需要熟悉OpenGL中涉及的数学知识.因此本节开始介绍OpenGL中的基本数学. 介绍这部分内容的主旨在于对OpenGL涉及的数学有个整体把握,重点把握一些概念在OpenGL中的应用.内容尽量以例子形式说明,仅在必要时会给出数学证明.一个主题往往涉及过多内容,对于文中省略的部分,请参考相应的教材. 通过本节可以了解到 向量基本概念和操作 矩阵的基本概念和操作 GLM数学库

总结一下矩阵的基本操作

总结一下矩阵的基本操作 同步更新于这里 加减法 非常简单,只要对应位置相加就行了(余老师:这不是今天的重点!!! 数乘 嗯,把所有元素同时乘以那个数就行了 矩阵乘矩阵 比较复杂, A*B首先要A的列数=B的行数 然后看图意会一下,A横着过,B竖着过, C[i][j]=A[i][k]*A[k][j]相加,1<=k<=A的列数(或B的行数) (汉字表示结果的第i行,数字表示结果的第j列. 稍微写了一个代码 #include<iostream> using namespace std;

MATLAB中矩阵reshape的顺序规律

MATLAB中矩阵reshape的顺序规律 首先,使用以下代码生成一个(3,4,5)的三维矩阵: count = 0; for i = 1:3 for j = 1:4 for k = 1:5 count = count + 1; M(i,j,k) = count; end end end 如果按照三维坐标中,x,y表示水平轴,z表示垂直轴的话,上面的矩阵可以几何表示为: 使用MM = reshape(M,12,5);将M矩阵转换为(12,5)的二维矩阵,转换后的MM矩阵为: 可见它是按照先排x方

MATLAB中图像的基本操作

MATLAB中图像的基本操作 1.读取.显示图片 MATLAB中提供了immread()与imshow()函数读取和显示图片.其中读取函数imread()原型: imread: A = imread(filename, fmt) A是结构体名,用来存储读入的图像数据.filename是读取的文件名,文件名要用”括起来.fmt是读取文件的类型如:jpg.png等等,这个参数可以不输入,由MATLAB自动判断. 显示函数imshow()原型: imshow: imshow(I) I为读取后保存在MA

matlab获取矩阵和向量长度length和size

matlab获取矩阵和向量长度length和size 觉得有用的话,欢迎一起讨论相互学习~ 概论 size:获取数组的行数和列数 length:数组长度(即行数或列数中的较大值) numel:元素总数. size() s=size(A),当只有一个输出参数时,返回一个行向量,该行向量的第一个元素时数组的行数,第二个元素是数组的列数. [r,c]=size(A),当有两个输出参数时,size函数将数组的行数返回到第一个输出变量,将数组的列数返回到第二个输出变量. 如果在size函数的输入参数中再添