Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 如何使此代码更简单_Matlab - Fatal编程技术网

Matlab 如何使此代码更简单

Matlab 如何使此代码更简单,matlab,Matlab,我想为以下问题编写一个更简单的代码:我有两个矩阵,分别称为a和B: A= [ 1 7 12 24 36 48 51 63 68 73 77 82; 2 7 12 24 36 48 60 66 70 74 79 83] B= [ 0 2 1 1 1 1 1 1 1 1

我想为以下问题编写一个更简单的代码:我有两个矩阵,分别称为
a
B

A=
   [ 1     7    12    24    36    48    51    63    68    73    77    82;
     2     7    12    24    36    48    60    66    70    74    79    83]
B=
   [ 0     2     1     1     1     1     1     1     1     1     0     1;
     1     1     1     1     1     1     1     2     0     0     1     0]
并应用以下公式获得矩阵
Res

Res = zeros(2,12);
     for x = 1:2;
        for t = 1:12;
            if B(x,t)~=0
               Res(x,t) = A(x,t) - B(x,t);
            else
               Res(x,t) = B(x,t);
            end
        end
    end


Res=
   [ 0     5    11    23    35    47    50    62    67    72    0    81;
     1     6    11    23    35    47    59    64    0     0    78    0]

如何简化代码以获得
Res

Hmmph,到目前为止,我在一行中完全没有做到这一点。分两行:

Res = A - B;
Res(B==0) = 0;

嗯,到目前为止,我完全没有做到这一点。分两行:

Res = A - B;
Res(B==0) = 0;

好吧,我喜欢一个行程序,所以这里有另一个与Mark竞争的解决方案:)


好吧,我喜欢一个行程序,所以这里有另一个与Mark竞争的解决方案:)


我们不配,我们不配,…我们不配,我们不配。。。