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 - Русский - 日本語

Please note that the recommended version of Scilab is 6.0.0. This page might be outdated.
See the recommended documentation of this function

Aide de Scilab >> Graphiques > 2d_plot > champ

champ

2D vector field plot

Calling Sequence

champ(x, y, fx, fy, [arfact, rect, strf])
champ(x, y, fx, fy, <opt_args>)

Arguments

x, y

two vectors which define the grid.

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 draws a 2D vector field. The length of the arrows is proportional to the intensity of the field.

If you want colored arrows with the color of the arrows depending on the intensity of the field, use champ1.

Enter the command champ() to see a demo.

Be cautioned about the fact that using meshgrid function before using champ requires adjustment. For more details, see the last example below.

Examples

// using rect as plot boundaries 
champ(-5:5,-5:5,rand(11,11),rand(11,11),rect=[-10,-10,10,10],arfact=2)
// using (x,y) to get boundaries 
clf()
champ(-5:5,-5:5,rand(11,11),rand(11,11),2,[-10,-10,10,10],"021")
// using meshgrid to get fx and fy
clf()
x = linspace(-1,1,30);
y = linspace(-1,1,30);
[X,Y] = meshgrid(x,y);
fy = 2.*Y;
fx = 2.*X;
champ(x,y,fx',fy'); //here we have transposed fx and fy

See Also

  • champ1 — 2D vector field plot with colored arrows
  • fchamp — direction field of a 2D first order ODE
  • plot2d — 2D plot

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
<< Sgrayplot 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:
Thu Oct 02 13:54:34 CEST 2014