matlab 提取矩阵元素并赋值
来源:学生作业帮助网 编辑:作业帮 时间:2024/09/22 00:59:49
=a(:)得到的b是一个列向量.b=a得到的是一个行向量.
f(sub2ind(size(f),m,n)),这样转换成linearindex就可以了再问:额,明白了,刚才有点犯糊涂……
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
什么意思?再问:就是我给A中所有变量赋值,然后我可以求出B中的数据
Y1=Y(find(Y>=10))
A=ones(7);B=zeros(7,7)fori=2:5forj=1:2:5B(i,j)=A(i,j);endendBB=0000000000000000000000000000000000000
建议楼上的回答之前自己试一试,以免误人误己. 如果要提取矩阵元素,我能想出来的有三种方法,但如果要改变这些位置元素的值,我能想出来的只有一种方法.示例(为了与其它元素区别,赋值用NaN):%
X=diag(v,k)以向量v的元素作为矩阵X的第k条对角线元素,当k=0时,v为X的主对角线;当k>0时,v为上方第k条对角线;当k>v=[123];>>x=diag(v,-1)x=00001000
如你所问,a是个矩阵,b就是个结构矩阵,结构矩阵的元素用{}来表示和赋值就可以了.例如a=[1,2;3,4]>>a=1234>>b{2,2}=ab=[][][][2x2double]再问:那要读取a中
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----------------运
[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的随机矩阵中
先把矩阵中的那个元素找到,如I(i,j)=a,a就是你想赋的值如果你想给整个矩阵都随机赋值就是rand(I)
下面是一个测试程序:A=zeros(1000,1);R=round(0.5+999.5*rand(10,1));A(R)=-100;你看行不行再问:请问第二句是什么意思啊?再答:随机取1到1000中的
同学,是这样滴,矩阵去除某些元素,必须用另外的元素补上,不然就不是矩阵了你要去掉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
fori=1:3A(:,:,i)=[i,i+1;i-1,i];end
[I, J] = find(A<0)这个J返回的就是小于0的元素所在的列