matlab 提取元素作为新数组
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/05 23:38:17
你得先把数组输入到matlab,比如>>A=[1235];然后用命令>>number=length(A)数组A的元素个数就显示出来了.number=4如果A是多行多列的矩阵,则需要计算如下>>[rc]
a=[123];b=[456];len=length(a)+length(b);c=zeros(1,len);c(1:2:len-1)=a;c(2:2:len)=b;c
N=704;M=1280;n=32;m=64;A=rand(N,M);%生成原始数据矩阵B=reshape(A,n,m,N*M/(n*m));%重置矩阵为32×64×440结构fork=1:n%选择1
a=reshape(1:9,3,3)a=147258369>>d=diag(a)d=159
Y1=Y(find(Y>=10))
举个实例额,定义被提取的矩阵a.a=[12345678910];b=a(:,1:2:10)%1:2:10意思是从第一列到第十列每两列取一列.%若写成1:2:1+2n,得先定义n的值.运行结果:
functiony=zhidao_nearest(A,b)[Asort,index]=sort(abs(A(:)-b));y=A(index(1));调用时:zhidao_nearest([123],
a=[7;8;5;2;6;4;3];%或者是其他的列矩阵,可以随便设置.x=5;%表示取a的前5行,当然也可以取前4行,这个自行设置.b=a;%中间变量,用于存放每个不同的列矩阵.fori=1:len
B为数据源矩阵,假设为一维A=[]ka=1forkb=1:length(B)if(kb满足某条件或者B(kb)元素满足某条件)A(ka)=B(kb);ka=ka+1;endend
n=0;fori=1:6ifabs(A(i))>3n=n+1;endendB=zeros(1,n);fori=1:6ifabs(A(i))>3B(n)=A(i);n=n+1;endend
建议楼上的回答之前自己试一试,以免误人误己. 如果要提取矩阵元素,我能想出来的有三种方法,但如果要改变这些位置元素的值,我能想出来的只有一种方法.示例(为了与其它元素区别,赋值用NaN):%
不明白你说的意思,你要在循环里做什么操作?你原来这个写法用矩阵做输入也不麻烦啊.x=fx(G(:,1),G(:,2));再问:把自变量放到矩阵里头,可以调用不同的函数去对这些自变量产生运算x=fx是一
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(b)=[]
[i,j]=find(A==5)count=length(i)6和7类似做法没办法了,不好意思
A=rand(80,120);%这一句你就省了.>>b=A(1:8:73,1:8:113);%这一句就可以了,不过你自己取一下终值,不知道你的最后一个数据还要不要取到.
我觉得你的要求提的不清楚,例如你上面举的第一个例子,结果为什么不是四个矩阵(把A再分成三个)?应该对子矩阵的形式(例如是否要求方阵)和数量做更明确地规定才行.再问:我的希望是是在某个a*b的随机矩阵中
l{1}(1),就能提取到a中第一个元素了,以此类推
同学,是这样滴,矩阵去除某些元素,必须用另外的元素补上,不然就不是矩阵了你要去掉175,可以用0补上,例如:>>A=[123;456;789];>>A(1:2:5)=0A=023406089要是选择不
取矩阵A的第i1~i2行、第j1~j2列构成新矩阵:A(i1:i2,j1:j2),新矩阵V为矩阵A的【1,2】行,【3,4】列故:V=3341再问:j1:j2不是第一、第二列吗再答:你不是写的是V=A