matlab从矩阵中提取数据
来源:学生作业帮助网 编辑:作业帮 时间:2024/09/13 12:34:42
A=rand(50,7)randindex=randperm(50);%这个是1到50的随机组合,B=A(randindex(1:30),:)%取上述组合的前30行
a=reshape(1:9,3,3)a=147258369>>d=diag(a)d=159
可以用随机数发生器:)具体如下:data=randn(1000,1);%需要随机提取数据的矩阵randnum=randperm(length(data));%随机产生矩阵位置outdata=data(
A=[1;2]的话表示列矩阵A(1,1)=1a(2,1)=2A=[1,2]的话表示行矩阵A(1,1)=1A(2,1)=2多行多列的也用A(M,N)标识M表示行数N表示列数
t=0:0.01:10;t0=1:10;y=[0,10:1009];a0=[];fori=1:10a=y(find(i==t));A=[a0,a];a0=A;endA----------------运
a=randperm(10);%a为1~10随意打乱顺序b=[1,3,5,7,9];%b为一组下标数据c=a(b);%将矩阵中对应下标的数据取出,结果存在c矩阵中(c为a矩阵的第[1,3,5,7,9]
[i,j]=find(A==5)count=length(i)6和7类似做法没办法了,不好意思
A=rand(80,120);%这一句你就省了.>>b=A(1:8:73,1:8:113);%这一句就可以了,不过你自己取一下终值,不知道你的最后一个数据还要不要取到.
abaidu=rand(20,20);%假设这个矩阵abaidu是20*20的bbaidu=abaidu(1,:);%提取这个矩阵的第一行tbaidu=linspace(0,2*pi,length(b
fork=1:length(a)tmp=a{k};b(:,k)=tmp(:,end);endb矩阵就是把a中所有矩阵的最后一列放在一起拼成的矩阵.再问:>>a={}formi=1:18ifmi
假设你的数据放在变量a中.fori=1:32361[m,n]=find(a(i,:)>10);a(1:n(1)-1)=zeros(1,n(1)-1);ifsum(a(n,:))==3270a(n(1)
%前提:1.Nfs3为dd*1的元胞数组;% 2.元胞数组的元素行列相等;%R为对应元素的总和dd = length(Nfs3);[mm,nn]&
dt=[randint(10000,1,[059])randint(10000,1,[100999])];%换成你自己的数据R=[];fork=0:59r=dt(dt(:,1)==k,:);R=[R;
提取X的2到8行的第1列
n=100;m=10;c=rand(n,n);iend=10;fori=1:10forj=1:10nmm=c(i*m-m+1:i*m,j*m-m+1:j*m);nm(i,j)=std(reshape(
直接A1就能取出A1了啊再问:fori=1:n生成矩阵A;M=[M;A];endsorry..实际是这样的再答:每个A的行数又不相同生成的过程又没有记录A的行数信息,这是无法在从的M中重新提取Ai的建
LS说的直接用for循环就可以或者用mat2cell,把矩阵分成几个cell,然后分别取cell也可以
取矩阵A的第i1~i2行、第j1~j2列构成新矩阵:A(i1:i2,j1:j2),新矩阵V为矩阵A的【1,2】行,【3,4】列故:V=3341再问:j1:j2不是第一、第二列吗再答:你不是写的是V=A
是这样的,这些数据都是以矩阵形式存在的,但是如果要出来的话,都是这样显示的.另外,如果你想利用这些数据进行处理的话,可以在variableeditor变量编辑区里复制这些数据,然后在窗口一粘贴,就自动
d=zeros(3);forki=1:3forkj=1:3d(ki,kj)=x(ki)+y(kj);endend注意matlab里的索引是从1开始的.