请问Matlab如何给符合某条件的元素批量赋值?比如一个矩阵mxnx4的矩阵A,在A(:,:,1)中的元素为1时,A中第3维相应第2、3个元素分别赋予某值(如100,101),A(:,:,1)中的元素为2时,A中第3维相应第2、3个

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/30 04:00:15
请问Matlab如何给符合某条件的元素批量赋值?比如一个矩阵mxnx4的矩阵A,在A(:,:,1)中的元素为1时,A中第3维相应第2、3个元素分别赋予某值(如100,101),A(:,:,1)中的元素为2时,A中第3维相应第2、3个

请问Matlab如何给符合某条件的元素批量赋值?比如一个矩阵mxnx4的矩阵A,在A(:,:,1)中的元素为1时,A中第3维相应第2、3个元素分别赋予某值(如100,101),A(:,:,1)中的元素为2时,A中第3维相应第2、3个
请问Matlab如何给符合某条件的元素批量赋值?
比如一个矩阵mxnx4的矩阵A,在A(:,:,1)中的元素为1时,A中第3维相应第2、3个元素分别赋予某值(如100,101),A(:,:,1)中的元素为2时,A中第3维相应第2、3个元素分别赋予某值.,除了通过循环遍历A(:,:,1)中各元素判断并赋值,请问还有什么更好的方法?

请问Matlab如何给符合某条件的元素批量赋值?比如一个矩阵mxnx4的矩阵A,在A(:,:,1)中的元素为1时,A中第3维相应第2、3个元素分别赋予某值(如100,101),A(:,:,1)中的元素为2时,A中第3维相应第2、3个

是不是要达到类似于下面的效果?

A=round(rand(2,3,4)*2)
rc1 = A(:,:,1)==1
rc2 = A(:,:,1)==2
RC1=logical(zeros(size(A)));
RC2=logical(zeros(size(A)));
RC1(:,:,2:3)=cat(3,rc1,rc1);
RC2(:,:,2:3)=cat(3,rc2,rc2);
A(RC1)=10
A(RC2)=20

在这里例子中,

A(i,j,1)=1时,A(i,j,2:3)赋值为10;

A(i,j,1)=2时,A(i,j,2:3)赋值为20.

 

一组测试实例(数据随机产生):

>> A=round(rand(2,3,4)*2)
A(:,:,1) =
     1     2     2
     1     0     2

A(:,:,2) =
     2     1     0
     2     1     1

A(:,:,3) =
     1     1     1
     2     1     1

A(:,:,4) =
     1     1     2
     2     0     1
>> rc1 = A(:,:,1)==1
rc1 =
     1     0     0
     1     0     0
>> rc2 = A(:,:,1)==2
rc2 =
     0     1     1
     0     0     1
>> RC1=logical(zeros(size(A)));
>> RC2=logical(zeros(size(A)));
>> RC1(:,:,2:3)=cat(3,rc1,rc1);
>> RC1
RC1(:,:,1) =
     0     0     0
     0     0     0

RC1(:,:,2) =
     1     0     0
     1     0     0

RC1(:,:,3) =
     1     0     0
     1     0     0

RC1(:,:,4) =
     0     0     0
     0     0     0
>> RC2(:,:,2:3)=cat(3,rc2,rc2);
>> RC2
RC2(:,:,1) =
     0     0     0
     0     0     0

RC2(:,:,2) =
     0     1     1
     0     0     1

RC2(:,:,3) =
     0     1     1
     0     0     1

RC2(:,:,4) =
     0     0     0
     0     0     0
>> A(RC1)=10
A(:,:,1) =
     1     2     2
     1     0     2

A(:,:,2) =
    10     1     0
    10     1     1

A(:,:,3) =
    10     1     1
    10     1     1

A(:,:,4) =
     1     1     2
     2     0     1
>> A(RC2)=20
A(:,:,1) =
     1     2     2
     1     0     2

A(:,:,2) =
    10    20    20
    10     1    20

A(:,:,3) =
    10    20    20
    10     1    20

A(:,:,4) =
     1     1     2
     2     0     1

请问Matlab如何给符合某条件的元素批量赋值?比如一个矩阵mxnx4的矩阵A,在A(:,:,1)中的元素为1时,A中第3维相应第2、3个元素分别赋予某值(如100,101),A(:,:,1)中的元素为2时,A中第3维相应第2、3个 请教matlab 求[100,200]之间所有能被18整除的数,要求把找出所有符合条件的整数逐个赋值给数组x,最后显示x的所有元素. 统计excl表符合2个条件的数量,如图,请问公式应该如何设 matlab如何删除矩阵中符合条件的多行全部元素假如有一个100*7的矩阵,如果某一行第4列或者第5列的元素值为0时,则将这一整行全部删除,最后形成一个新的m*7的矩阵,m小于等于100.该怎么写呢? 植物必需的矿质元素应符合哪些条件? matlab如何定义一个含符号的矩阵不直接写出矩阵的每个元素的值,想先定义一个3阶的符号矩阵,在给每个元素赋值,请问怎么定义 请问如何批量提取matlab矩阵中的元素并作为另一个矩阵的坐标?如有一个mX2的矩阵A,每行保存的是矩阵B部分元素的坐标,想将矩阵B中对应的A中元素置为1,除了循环给每个元素置1,请问还有什么 matlab如何生成满足一定条件数要求的随机矩阵.如何用matlab生成一个对角元素为整数的随机矩阵,并且通过调整它的对角元素,使得所得矩阵的条件数控制在1000左右. matlab中如何将一个魔方矩阵的第2行3列元素赋值给变量c? matlab 中如何将一个魔方矩阵的 第2行3列元素赋值给变量c? matlab 统计向量中不同元素的个数!请问下如何计算matlab 中某个向量的不同元素个数.比如a=[1,1,1,2],那么不同元素个数为1,2 两个数. execl中如何选出符合两个条件的数量 MATLAB中如何找出第一个大于某数的元素的下标 请问如何对matlab中的元素进行操作请问,怎么对matlab的矩阵或数组中的元素单独进行操作?比如说,X=[a1 a2 a3 a4],我想求Y=[1/a1 1/a2 1/a3 1/a4], matlab里面如何创建每个元素都是矩阵的矩阵? matlab 如何判断两个矩阵的每个元素都相等 Matlab如何找出两个矩阵中相同的元素 Matlab如何找出两个矩阵中相同的元素