如何在matlab中根据一个矩阵的信息读取另一个矩阵的信息

例如,已知两个同样大小的矩阵A和B,矩阵A中只有0和1的数值信息,矩阵B中是一些随机数值信息。

目的:
如果在矩阵A中某行某列的数值为1,则把矩阵B中相应位置的值提取出来并放入一个同样大小的新的矩阵C的同样的位置上;如果在矩阵A中的某处的值为0,则矩阵C中相应位置的值也是0。

请问如何操作?谢谢!

这个简单,相关的一个名词好像是逻辑下标
代码是:C=zeros(size(A));
C(A==1)=B(A==1);

刚才实验了一次,ok没问题,
温馨提示:内容为网友见解,仅供参考
无其他回答

如何在matlab中根据一个矩阵的信息读取另一个矩阵的信息
代码是:C=zeros(size(A));C(A==1)=B(A==1);刚才实验了一次,ok没问题,

MATLAB问题 已知一个矩阵A,如何导出以向量a,b为坐标的矩阵的值
按你要求的以a中的值为横坐标,b中的值为纵坐标取出矩阵A中的值可以这样:for i=1:length(a)H(i)=A(a(i),b(i));end H

matlab中如何把一个矩阵的元素调用在另一矩阵中
1、首先打开电脑上的“matlab”软件,主界面如下图所示,可以看到命令行窗口。2、接着在命令行输入一个矩阵A,矩阵A的值可以自定义,此处以1-9数字为例构造矩阵A,矩阵A如下图所示。3、拼接矩阵需要至少两个矩阵,在命令行输入一个矩阵B,此处以10-18数字为例构造矩阵B。4、下面使用命令C=[A B]...

...如何批量提取matlab矩阵中的元素并作为另一个矩阵的坐标?
arrayfun(@(r,c)B(r,c),A(:,1),A(:,2))B((A(:,2)-1)*size(B,1)+A(:,1))

matlab中怎样将一个矩阵里的元素作为另一组矩阵里的元素
如数据在sum里面:sum = reshape(sum',2,2,[])multiply = ones(2)for i = 1:length(sum)multiply = multiply .* sum(:,:,i)'end 就可以了。 我前面还以为你你的输入格式是很多列的。重点是 sum = reshape(sum',2,2,[])然后乘的时候记住要用“'”旋转矩阵 ...

matlab中如何从一个矩阵的一行中提取一个列?
1. 首先是开头的x1=,这里的=号在matlab里面代表赋值。赋值就是把等号右边的值复制给左边的变量。因此x1将会得到等号右边的东西。2. 等号右边是x(:,1)。这个x在之前就已经定义过,否则单独一句的代码无法执行。按照这里的语境,x是一个二维数组,即矩阵。为方便讲解x我自定义了一个4行4列的矩阵,...

在matlab中,如何在一个已知矩阵中取随机两个数并交换??微急,求大神拯 ...
思路就比较简单:随机产生两个数,取值范围为[1,矩阵的列数],m,n 随机产生两个数,取值范围为[1,矩阵的行数],q,p 剩下的就是利用下标交换咯。t=X(m,q)X(n,p)=X(m,q)X(m,q)=t 完成

在matlab 中怎样读取矩阵中的数据
在matlab中怎样读取矩阵中的数据的方法。如下参考:1.打开原始的图图形文件,在matlab命令窗口中输入以下指令:图”)。2.要查看图中包含的数据系统和相关属性,请在matlab命令窗口中输入以下代码,查看图中包含的数据和属性。3.从上图可以看出,图中包含9个向量数据,如下图所示。4.双击该部分,弹出相应...

matlab中如何从一个矩阵中随机抽取几个数到另外一个矩阵中,位置和原来...
比如你要随机取3个。n = 3;La = numel(a);t = 1;P = randperm(La);ind = P(1:n);b = 0*a;b(ind) = a(ind);

在MATLAB中怎么从矩阵中提取相应元素,并生成新的矩阵?
subX=X(a,b)是取矩阵X的a行b列。其中,X表示一个矩阵;X(a,b)表示a行b列的子矩阵。X(a,b)取子矩阵在matlab是一种常用的操作,ab都为向量。比如X(2:4,[2 3 5])表示取矩阵X 第2,3,4行和第2,3,6列交叉的矩阵。举例:>> X=rand(6)X = 0.2769 0.9502 0.1869 0....

相似回答
大家正在搜