Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Português - 日本語 - Русский
Aide de Scilab >> Graphiques > 2d_plot > champ

champ

plots as arrows a field of 2D vectors

Syntax

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>)

Arguments

x, y

vectors of decimal numbers, which define the grid of nodes = coordinates of arrows starting points.

fx

a matrix which describes the x component of the vector field. fx(i,j) is the x component of the vector field at point (x(i),y(j)).

fy

a matrix which describes the y component of the vector field. fy(i,j) is the y component of the vector field at point (x(i),y(j)).

<opt_args>

This represents a sequence of statements key1=value1, key2=value2,... where key1, key2,... can be one of the following: arfact, rect, strf (see below).

arfact

an optional argument of type real which gives a scale factor for the display of the arrow heads on the plot (default value is 1.0).

rect

a vector rect=[xmin, ymin, xmax, ymax] which gives the boundaries of the graphics frame to use.

strf

a string of length 3 "xyz" which has the same meaning as the strf parameter of plot2d. The first character x has no effect with champ.

Description

champ(…) plots a field of 2D vectors with arrows.

By default, all arrows have the same color, and their length is proportional to the local intensity of the field (norm of vectors). In addition, all lengths are normalized according to the longest arrow.

When setting gce().colored = "on", each arrow becomes as long as possible in its cell, and is colored according to the local intensity of the field.

After calling champ(…), gce() returns the handle of the field of arrows, of type Champ, whose properties can be post-processed.

Enter the command champ() to see an example.

Examples

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

clf
gcf().color_map = jetcolormap(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)
colorbar

// 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"" (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 = jetcolormap(100);
colorbar

See also

  • champ_properties — description of the 2D vector field entity properties
  • fchamp — direction field of a 2D first order ODE
  • xarrows — dessine un ensemble de flèches en 2D ou 3D.
  • Arrowed polyline — description of the Polyline entity properties

Comments

Author : Hervé Rabs posted the 31/05/2014 00:04
About this: for example champ(x,x,Fx,Fy) and we have different arrows in the graph.

where are the first component and the second component from champ(x,x,Fx,Fy) when
we draw different arrows in the graph ?( How to create arrows in the graph ?)
I have already looked for a forum in this site but I can't and I am sorry to write my question here.

Yours faithfully,
Hervé Rabs

e-mail: quarantebond@yahoo.fr
Reply to this comment
Please login to comment this page


Add a comment:
Please login to comment this page.

Report an issue
<< 2d_plot 2d_plot champ1 >>

Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue Jul 20 11:19:19 CEST 2021