sytn.net
当前位置:首页 >> 怎么在mAtlAB中表示矩阵中的单个元素 >>

怎么在mAtlAB中表示矩阵中的单个元素

p=[a b c d];看a,b,c,d四个矩阵的排列了,数组p的元素不管是数组或矩阵,还是单个数字,对于matlab的操作是一样的.

首先一点要说明的是,在matlab中,矩阵中的元素序号是按照“先行后列”的顺序排列的.设如下随机矩阵:A=rand(4,6) A =0.6551 0.9597 0.7513 0.8909 0.1493 0.81430.1626 0.3404 0.2551 0.9593 0.2575 0.24350.1190 0.5853 0.5060 0.5472

matlab通过确认矩阵下标,可以对矩阵进行插入子块、提取子块和重排子块的操作.a(m,n):提取第m行,第n列元素;a(:,n):提取第n列元素;a(m,:):提取第m行元素;a(m1:m2,n1:n2):提取第m1行到第m2行和第n1列到第n2列的所有元素(提取子块).比如:>> a=[1 2 3 4 ;3 2 1 0] a = 1 2 3 4 3 2 1 0>> a(2 ,3) ans= 1 另外,还有以下函数也是常用的:diag(x,k):抽取矩阵x的第k条对角线的元素向量;tril(x,k) 或triu(x,k):提取矩阵x的第k条对角线下面或上面的部分.

在matlab中,可通过如下方式给矩阵赋值:a = zeros(3,4); % 初始化一个3*4的矩阵>>a = 0 0 0 00 0 0 00 0 0 0a(1,2) = 5; % 将矩阵a的第1行第2列个元素赋值为5>>a = 0 5 0 00 0 0 00 0 0 0a(2) = 6; % 将矩阵a的第2个元素(按列开始计算)赋值为6>>a = 0 5 0 06 0 0 00 0 0 0a(3,:) = [1 2 3 4]; % 将矩阵a的第3行赋值为[1 2 3 4]>>a = 0 5 0 06 0 0 01 2 3 4

这个要看你的一行有多少列,如一行有八列b = reshape(a,[],4,2)如一行16列b = reshape(a,[],4,4)n是列的数量/4即:n = size(a)b = reshape(a,[],4,n(2)/4)bs = size(b)sum = []for i = 1:bs(3)sum = vertcat(sum,b(:,:,i))end然后你的sum里面就是每四个要变

就这样写,跟你图是一样的, C = 3*P1 + 2*P2 +

既可以用数组名跟圆括号,行号,列号表示,又可以用一个参数表示.注意一个参数表示时,matlab是列优先的,千万别弄错.例如:a=[1,2,3;4,5,6;7,8,9];则a(2,1)=4.千万别写成a[2,1]!如果用一维表示是:a(2)=4,千万别写成a(4)!不信你可以上机试试.

可先求列和,然后将列和组成的向量转置,最后再对转置后的向量求列和.例对矩阵A求所有元素的和,可:sum((sum(A))').例:A = 16 3 2 13 5 10 11 8 9 6 7 12 4 15 14 1>> sum((sum(A))') ans = 136

比如输入2*2的矩阵A,可以这么写:A=[1,2;3,4]即A= 1 2 3 4注意我在输入矩阵A的时候,行元素之间用逗号隔开,行与行之间用分号隔开.matlab读取的时候是逐个读取的,遇到逗号或者分号的时候区别行元素和列元素.

例如矩阵a(5,5),表示第二列为a(:,2)

网站首页 | 网站地图
All rights reserved Powered by www.sytn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com