Matlab中取矩阵特定位置的元素
来源:学生作业帮助网 编辑:作业帮 时间:2024/05/17 07:41:09
如果想取一个矩阵其中的第1,3,5,6,8行,为一个新的矩阵,则用下列语句:B=A([1,3,5,6,8],:);如果是取第1,3,5行和第1,4,5列相交的数据为新矩阵,可以表示为:C=A([1,3
设矩阵为A,则用find(A==2&A==5)可查到
A=zeros(1,24);B=ones(1,25);A=B(2:25)如此即可,冒号的意思是从第2个元素到第25个.
x=[1009796949292929291919090898989888786868484848379797776];t=find(x==92)即可实现再问:我事先并不知道矩阵中有哪些重复的元素,如
B=reshape(A(randperm(32^2)),32,32);%B就是A随机换位后的矩阵
可以用随机数发生器:)具体如下:data=randn(1000,1);%需要随机提取数据的矩阵randnum=randperm(length(data));%随机产生矩阵位置outdata=data(
你的行没有输入,应该是P_test=P[,1:60].如果只写1:60,matlab会认为是按位置从第一个元素开始先按列提取,再按行提取.找本matlab的书看吧,一般前几章就会有这部分内容.
clc,clear,closeall;n=10;%方阵维度myMatrix=zeros(n,n);forii=1:n%行标号forjj=1:ii%列标号myMatrix(ii,jj)=ii^2+jj;
假设你原来的矩阵是ab=a;%让b=ab(b==0)=inf;%b中为0的元素设为无穷大[minvind]=min(b,[],2);%得到的minv是个列向量,每一行代表,a中该行除0以外的最小值%i
[i,j]=find(A==5)count=length(i)6和7类似做法没办法了,不好意思
就是把s与r排列到一起就相当于在r矩阵后面加了一个s矩阵扩大了r的列数
找最大元素就是max(max(A)),注意二维矩阵要写两个max找对应位置用find函数举个例子:>>A=[123;456]A=123456>>max(max(A))ans=6>>[xy]=find(
可以简化一下Bpz(Bp>0)=Bp(Bp>0)
N(:,1)其中:表示所有行
a=rands(108,72*209);%a是你自己的矩阵>>b=[];>>fori=1:1:209b(:,i)=a(:,(i-1)*72+1);end
用sub2ind>>a=zeros(5);i=[2;3;4];j=[1;4;2];>>a(sub2ind(size(a),i,j))=1a=0000010000000100100000000hokve
新建一个等维矩阵然后在指定位置设定成1a=rand(6,6);flag=zeros(6,6);flag(1,2)=1;flag(3,3)=1;form=1:size(a,1)forn=1:size(a
matlab没有相应的功能,你写一个循环语句,在循环里嵌套用if语句用于比较比较简单的不会再找我吧
%%是在矩阵的每行里找到第一个小于3的点吗?这样写:data=10*rand(5,10);[r,c]=size(data);result=[];fori=1:rtmp=data(i,:);tmp=tm
selector可以提取子矩阵的,做了一个例子供你参考.输入是由单位阵和幻方阵组成的三维数组,仿真过程中双击手动开关模块可以在两个矩阵之间切换. Selector模块的参数设置如下图所示:&