1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187
|
<?xml version="1.0" encoding="UTF-8"?>
<refentry version="5.0-subset Scilab" xml:id="contourf" xml:lang="fr"
xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:ns3="http://www.w3.org/1999/xhtml"
xmlns:mml="http://www.w3.org/1998/Math/MathML"
xmlns:db="http://docbook.org/ns/docbook">
<info>
<pubdate>$LastChangedDate: 2008-03-26 09:50:39 +0100 (mer., 26 mars 2008)
$</pubdate>
</info>
<refnamediv>
<refname>contourf</refname>
<refpurpose>courbes de niveaux 2D remplies d'une surface 3D</refpurpose>
</refnamediv>
<refsynopsisdiv>
<title>Séquence d'appel</title>
<synopsis>contourf(x,y,z,nz,[style,strf,leg,rect,nax])</synopsis>
</refsynopsisdiv>
<refsection>
<title>Paramètres</title>
<variablelist>
<varlistentry>
<term>x,y</term>
<listitem>
<para>deux vecteurs lignes de taille n1 et n2.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>z</term>
<listitem>
<para>matrice réelle de taille (n1,n2), les valeurs de la
fonction.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>nz</term>
<listitem>
<para>valeurs des niveaux ou nombre de niveaux</para>
<variablelist>
<varlistentry>
<term>-</term>
<listitem>
<para>Si <literal>nz</literal> est un entier, sa valeur
définit le nombre de courbes de niveaux espacées régulièrement
entre zmin et zmax :</para>
<programlisting role = ""><![CDATA[
z= zmin + (1:nz)*(zmax-zmin)/(nz+1)
]]></programlisting>
<para>Noter que les niveaux <literal>zmin</literal> et
<literal>zmax</literal> ne sont pas dessinés (génériquement
ils sont réduits à des points) mais peuvent être ajoutés
avec</para>
<programlisting role = ""><![CDATA[
[im,jm] = find(z == zmin); // ou zmax
plot2d(x(im)',y(jm)',-9,"000")
]]></programlisting>
</listitem>
</varlistentry>
<varlistentry>
<term>-</term>
<listitem>
<para>Si <literal>nz</literal> est un vecteur,
<literal>nz(i)</literal> donne la valeur du ième niveau. Noter
qu'il peut être utile pour voir les niveaux
<literal>zmin</literal> et <literal>zmax</literal> d'ajouter
une tolérance de l'ordre de %eps : <literal>nz=[
zmin+%eps,..,zmax-%eps]</literal>.</para>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
<varlistentry>
<term>style,strf,leg,rect,nax</term>
<listitem>
<para>voir <literal>plot2d</literal>. L'argument
<literal>style</literal> définit les styles de pointillés ou les
couleurs utilisés pour dessiner les courbes. Il doit être de même
taille que le nombre de niveaux.</para>
</listitem>
</varlistentry>
</variablelist>
</refsection>
<refsection>
<title>Description</title>
<para><literal>contourf</literal> remplit l'espace entre deux courbes de
niveaux consécutives d'une surface <literal>z=f(x,y)</literal> sur un
dessin 2D. Les valeurs de <literal>f(x,y)</literal> sont données par la
matrice <literal>z</literal> aux points du plan définis dans
<literal>x</literal> et <literal>y</literal>.</para>
<para>Il est possible de changer le format des nombres affichés sur les
courbes de niveau en utilisant <literal>xset("fpf",string)</literal> où
<literal>string</literal> précise le format comme en langage C (par
exemple <literal>string="%.3f"</literal>). Utiliser
<literal>string=""</literal> pour revenir au format par défaut.</para>
<para>Taper <literal>contourf()</literal> pour voir une démonstration de
la fonction.</para>
</refsection>
<refsection>
<title>Exemples</title>
<programlisting role="example"><![CDATA[
contourf(1:10,1:10,rand(10,10),5,1:5,"011"," ",[0,0,11,11])
function z=peaks(x,y)
x1=x(:).*.ones(1,size(y,'*'));
y1=y(:)'.*.ones(size(x,'*'),1);
z = (3*(1-x1).^2).*exp(-(x1.^2) - (y1+1).^2) ...
- 10*(x1/5 - x1.^3 - y1.^5).*exp(-x1.^2-y1.^2) ...
- 1/3*exp(-(x1+1).^2 - y1.^2)
endfunction
function z=peakit()
x=-4:0.1:4;y=x;z=peaks(x,y);
endfunction
z=peakit();
levels=[-6:-1,-logspace(-5,0,10),logspace(-5,0,10),1:8];
m=size(levels,'*');
n = fix(3/8*m);
r = [(1:n)'/n; ones(m-n,1)];
g = [zeros(n,1); (1:n)'/n; ones(m-2*n,1)];
b = [zeros(2*n,1); (1:m-2*n)'/(m-2*n)];
h = [r g b];
xset('colormap',h);
xset('fpf',' ');
clf();
contourf([],[],z,[-6:-1,-logspace(-5,0,10),logspace(-5,0,10),1:8],0*ones(1,m))
xset('fpf','');
clf();
contourf([],[],z,[-6:-1,-logspace(-5,0,10),logspace(-5,0,10),1:8]);
]]></programlisting>
</refsection>
<refsection>
<title>Voir Aussi</title>
<simplelist type="inline">
<member><link linkend="contour">contour</link></member>
<member><link linkend="fcontour">fcontour</link></member>
<member><link linkend="fcontour2d">fcontour2d</link></member>
<member><link linkend="contour2di">contour2di</link></member>
<member><link linkend="plot2d">plot2d</link></member>
<member><link linkend="xset">xset</link></member>
</simplelist>
</refsection>
<refsection>
<title>Auteurs</title>
<para>J.Ph.C.</para>
</refsection>
</refentry>
|