champ строит стрелками поле двумерных векторов

## Синтаксис

                champ()  // example
                champ(x, y, fx, fy)
                champ(x, y, fx, fy, arfact)
                champ(x, y, fx, fy, arfact, rect)
                champ(x, y, fx, fy, arfact, rect, strf)
                champ(x, y, fx, fy, <opt_args>)

## Аргументы

x, y

  векторы десятичных чисел, которые определяют сетку узлов = координат начальных точек стрелок.

fx

  матрица, которая описывает x-составляющую векторного поля. `fx(i,j)` - это x-составляющая векторного поля в точке `(x(i),y(j))`.

fy

  матрица, которая описывает y-составляющую векторного поля. `fy(i,j)` - это y-составляющая векторного поля в точке `(x(i),y(j))`.

<opt_args>

  Этот аргумент представляет последовательность инструкций `key1=value1, key2=value2`,..., где `key1`, `key2`,... могут быть одним из следующих: `arfact`, `rect`, `strf` (см. ниже).

arfact

  необязательный аргумент типа `real`, который даёт масштабирующий коэффициент для отображения остриё стрелки на графике (значение по умолчанию равно `1.0`).

rect

  вектор `rect=[xmin, ymin, xmax, ymax]`, который указывает используемые пределы кадра графика.

strf

  строковое значение длиной 3 "xyz", которое имеет то же самое значение, что и параметр `strf` функции `plot2d`. Первый символ `x` не имеет значения для `champ`.

## Описание

`champ(…)` строит поле двумерных веторов с помощью стрелок.

По умолчанию все стрелки одного цвета, а их длина пропорционально локальной интенсивности поля (норма векторов). Кроме того, все длины нормированы в соответствии с самой длинной стрелкой.

Когда установлено `gce().colored = "on"`, каждая стрелка становится настолько длинной, насколько это возможно в её ячейке, и её цвет соответствует локальной интенсивности поля.

После вызова `champ(…)`, `gce()` возвращает дескриптор поля стрелок типа `Champ`, чьи свойства могут быть далее обработаны.

Введите команду `champ()`, чтобу увидеть пример.

## Примеры

    x = -4:6;
    X = ndgrid(x);
    [fx, fy] =  (rand(X)-0.5, rand(X)-0.5);

    clf
    gcf().color_map = jet(50);

    // Интенсивность поля = длине стрелок
    subplot(2,2,1)
    champ(x, x, fx, fy)

    // С более крупной стрелкой
    subplot(2,2,2)
    champ(x, x, fx, fy, arfact=1.7)
    title("arfact=1.7", "fontsize",3)

    // Интенсивность поля = цвету стрелок
    xsetech([0 0.5 0.55 0.5])
    champ(x, x, fx, fy, arfact=1.7)
    gce().colored = "on";
    title("arfact=1.7, .colored=""on""", "fontsize",3)
    colorbar

    // Интенсивность поля = цвету, + расширенные пределы
    subplot(2,2,4)
    champ(x, x, fx, fy, rect=[-5,-6,9,7],strf="011")
    gce().colored = "on";
    title("rect=[-5,-6,9,6], strf=""011"", .colored=""on""", "fontsize",3)

    gcf().axes_size = [740 680];

x = -4:6; X = ndgrid(x); [fx, fy] = (rand(X)-0.5, rand(X)-0.5); clf gcf().color_map = jet(50); // Field's intensity = arrows length subplot(2,2,1) champ(x, x, fx, fy) // With bigger arrow heads subplot(2,2,2) champ(x, x, fx, fy, arfact=1.7) title("arfact=1.7", "fontsize",3) // Field's intensity = arrows color xsetech([0 0.5 0.55 0.5]) champ(x, x, fx, fy, arfact=1.7) gce().colored = "on"; title("arfact=1.7, .colored=""on""", "fontsize",3) L = sqrt(fx.^2 + fy.^2); colorbar(min(L), max(L)); // Field's intensity = color, + imposed boundaries subplot(2,2,4) champ(x, x, fx, fy, rect=[-5,-6,9,7],strf="011") gce().colored = "on"; title("rect=[-5,-6,9,6], strf=""011"", .colored=""on""", "fontsize",3) gcf().axes_size = [740 680];

    x = -1.2:0.11:0.7;
    y = -1:0.11:0.5;
    [X, Y] = ndgrid(x, y);
    [fx, fy] = (2*X, 2*Y);

    clf
    xsetech([0 0 0.45 1])
    champ(x, y, fx, fy)
    title(".colored = ""off"" (по умолчанию)", "fontsize",3)
    xsetech([0.45 0 0.55 1])
    champ(x, y, fx, fy)
    title(".colored = ""on""", "fontsize",3)
    gce().colored = "on";

    gcf().color_map = jet(100);
    colorbar

x = -1.2:0.11:0.7; y = -1:0.11:0.5; [X, Y] = ndgrid(x, y); [fx, fy] = (2*X, 2*Y); clf xsetech([0 0 0.45 1]) champ(x, y, fx, fy) title(".colored = ""off"" (default)", "fontsize",3) xsetech([0.45 0 0.55 1]) champ(x, y, fx, fy) title(".colored = ""on""", "fontsize",3) gce().colored = "on"; gcf().color_map = jet(100); L = sqrt(fx.^2 + fy.^2); colorbar(min(L), max(L)); gcf().axes_size = [720 340];

## Смотрите также

- champ_properties
- fchamp
- xarrows
- Arrowed polyline