matlab 抽取特定元素
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/19 12:53:44
抽取,用a(x,y),就能抽取a中在x,y位置的值了插值,用interp1一般就可以了
设取值区间为[a,b],则要在此区间选取一个随机数,程序为:a=rand()*(b-a)+a若要求随机数是整数,则程序为:a=ceil(rand()*(b-a))+a这样即可!
设源矩阵叫MAT:A=floor(MAT/1e6);B=mod(MAT,1e6);再问:请问如果想保留4-11位该怎么操作呢?再答:级联操作就好了:C=floor(mod(MAT,1e11)/1e3)
=sort(x(:))s=sum(b(end-1:end))
a(uint16(rand*(length(a)-1)+1))其中:rand生成一个[0,1]之间的随机实数.length(a)-1是a的元素个数减去1.rand*(length(a)-1)+1把这个
a=[1112;2243;4415;6224];L=rem(a,3)==0;%找出a中为3的倍数的元素S=sum(L,2);%按行求和R=a(S==0,:)%取出指定行(没有3的倍数)R=111244
a=[123];>>b=[52314];>>[c,ia,ib]=intersect(a,b)%求两个向量的交集c=123ia=123%交集在a中的地址ib=423%交集在b中的地址>>b(ib)=0%
data=rand(90,90,22);fori=1:22data(:,:,i)=data(:,:,i)/sum(sum(data(:,:,i)));end%%%%%%%%%%%%%%%%%%%%%%
A=[1,2,3;4,5,6;7,8,9];a=[123];b=[132];C(1)=A(a(1),b(1));C(2)=A(a(2),b(2));C(3)=A(a(3),b(3));其实用循环很简单
esult=[];forA=[123]forB=[456]forC=[789];result=[result;perms([ABC])];endendend这样就行了,这是所有的排列.但你给出的例子好
a(b)=[]
clccloseallclearalla=[1111111111;3641435363;9621245682];count=1;n=length(a);fori=1:n-1forj=i+1:nifa(
[A(1,2),A(1,4);A(3,2),A(3,4)]再问:感谢拉真的可以艾~~~可是要抽取很多项的话不是很复杂吗??再答:如果连续,可用冒号,比如第1行的2到4列,可用A(1,2:4).整个第1
最简单最正确最快速的方法是:A(A
A=[...];%1*19的矩阵fork=A%k就会依次取A中的每一个值end务必确保A是行向量.一旦是列向量就会出错.
先得到下标:r=randi(6,100,1)然后新数列:A(1:100)=[a(r(1));a(r(100))]
我来晚了,我也想这么回答:>>A=[100;0-50;003]A=1000-50003>>A(A
t=(B==-1);B(t)=A(t);再问:如果说用find能写出来么。我正在用find编,有几个元素出错了再答:ind=find(B==-1);B(ind)=A(ind);差不多,用find返回的
是向量长度a=ceil(b*rand(1,1));C(a)即为随机抽取的元素
y=downsample(x,n)从第一项开始,等间隔n对x采样,得到的序列.为y.