exponenta event banner

wfusmat

Слияние двух матриц или массивов

Синтаксис

C = wfusmat(A,B,METHOD)

Описание

C = wfusmat(A,B,METHOD) возвращает конденсированную матрицу C полученные из матриц A и B используя метод слияния, определенный METHOD.

Матрицы A и B должен иметь одинаковый размер. Выходная матрица C имеет тот же размер, что и A и B.

Доступные методы слияния:

  • Просто, где METHOD является

    • 'max' : D = abs(A) abs(B) ; C = A(D) + B(~D)

    • 'min' : D = abs(A) abs(B) ; C = A(D) + B(~D)

    • 'mean' : C = (A+B) / 2 ; D = ones(size(A))

    • 'rand' C = A (D) + B (~ D); D - логическая случайная матрица

    • 'img1' : C = A

    • 'img2' : C = B

  • Параметр-зависимый, где METHOD имеет следующий вид:

    METHOD = struct('name',nameMETH,'param',paramMETH)
    

    где nameMETH может быть

    • 'linear' : C = A*paramMETH + B*(1-paramMETH),

      где 0paramMETH1

    • 'UD_fusion': слияние вверх-вниз, с paramMETH ≥ 0

      x = linspace(0,1,size(A,1));
      P = x.^paramMETH;
      

    Затем каждая строка C вычисляется с помощью

    C(i,:) = A(i,:)*(1-P(i)) + B(i,:)*P(i); 
    So C(1,:) = A(1,:) and C(end,:) = B(end,:) 
    
    • 'DU_fusion': Слияние вниз-вверх

    • 'LR_fusion': Слияние слева направо (слияние по колонкам)

    • 'RL_fusion'Правое-левое слияние (слияние по колонкам)

    • 'UserDEF': Пользовательское слияние, paramMETH - вектор символов или строковый скаляр 'userFUNCTION' содержащий имя функции, такое, что C = userFUNCTION(A,B).

Кроме того, [C,D] = wfusmat(A,B,METHOD) возвращает логическую матрицу D при определении или пустой матрице в противном случае.

Представлен до R2006a