wfusmat

Fusion двух матриц или массивов

Синтаксис

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)

    • среднее значение: C = (A+B) / 2 ; D = ones(size(A))

    • rand: C = (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

Для просмотра документации необходимо авторизоваться на сайте