在Matlab中怎样提取矩阵中指定的几行或几列呢

在Matlab中怎样提取矩阵中指定的几行或几列呢,第1张

通过A函数实现,比如: 提取40-82行,列数是1-85 。 x=A(40:82,1:85)。 data函数说明: 提取1-10000行,第1列全部 x=data(1:10000,1)。

没想到什么特别简单的方法,只好硬来了。。。-_-|||

n=size(B,1);

C=zeros(1,n);

for i=1:n

for j=1:size(A,1)

if norm(A(j,:)-B(i,:))==0

C(i)=j;

end

end

end

楼主问的是提取奇数列,这里将答主“xyxing871”的方法推广到任意指定列。

A=ones(100,100);

Col_selected=[7 2 5];% 希望提取的那些列的编号组成的向量。例如,奇数列为1:2:100; 想依次提取第7列,第2列,第5列,那么向量为[7 2 5]

B=A(:,Col_selected);

[m,n]=size(c);

[t,p]=size(c(1,1));

result=[];

for i=1:m

for j=1:n

for q=1:t

for k=1:p

ans=cell2mat(c(i,j)(p,k))

if (ans>-0005&&ans<1)

result=[result;i,j,p,k];

end

end

edn

end

end

比如说你的数据矩阵是A,行数是m,列数是n,那么可以从下面求得所有数值是255的列

a=(A==255);

d=double(a);

b=ones(m,1);

c=[];

h=1;

for k=1:n

if d(:,k)==b

c(h)=k;

h=h+1;

end

end

c

有两种方法可以实现:

转置矩阵:

b

=

a';

通用方法:reshape()函数

示例如下:

说明:reshape(a,m,n)

表示将矩阵a变换为m行n列的矩阵,通常用于矩阵形状的改变,例如下面代码将原来的1行4列矩阵转换为2行2列矩阵

以上就是关于在Matlab中怎样提取矩阵中指定的几行或几列呢全部的内容,包括:在Matlab中怎样提取矩阵中指定的几行或几列呢、matlab如何确定矩阵的行数、请教一下,在Matlab中怎样提取矩阵中指定的几行或几列呢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9737548.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存