source: trunk/src/generalscatterplot.m @ 327

Last change on this file since 327 was 327, checked in by pinsard, 13 years ago

change svn properties

  • Property svn:keywords set to URL
File size: 2.8 KB
Line 
1function [coeffs, r2] = generalscatterplot(data1, data2, nomvar1, nomvar2, infocompl)
2
3%GENERALSCATTERPLOT est une fonction qui trace le diagramme de dispersion
4%entre 2 variables et en sort les coefficient de regression lineaire ainsi
5%que le coefficient de correlation.
6
7%
8%+
9%
10% =====================
11% generalscatterplot.m
12% =====================
13%
14% .. function:: generalscatterplot(data1, data2, nomvar1, nomvar2, infocompl)
15%
16% DESCRIPTION
17% ===========
18%
19% - Donnees d'entrees :
20%
21%   * data1 : Matrice de donnees de la premiere variable, qui sera
22%     represente sur l'axe des ordonnees du diagramme.
23%   * data1 : Matrice de donnees de la seconde variable, qui sera
24%     represente sur l'axe des abscisses du diagramme.
25%   * nomvar1 (caracteres) : Nom et unite de la premiere variable (pour le
26%     titre et axe).
27%   * nomvar2 (caracteres) : Nom et unite de la seconde variable (pour le
28%     titre et axe).
29%   * infocompl (caracteres, facultatif) : Informations complementaires a
30%     mettre dans le titre (ex : 'sur une periode de 2 jours').
31%
32% - Donnees de sorties :
33%
34%   * coeffs : Vecteur de dimension 1*2 comportant les coefficients a et b
35%     de la regression lineaire y = ax + b.
36%   * r2 : Coefficient de correlation.
37%
38% EXAMPLES
39% ========
40%
41% Voir la 'demo'.
42%
43% SEE ALSO
44% ========
45%
46% :func:`MSGanalysiscrossvalidation`
47%
48% TODO
49% ====
50%
51% matlab 7.4 cratos : No allowed line types found. Nothing done.
52% octave 3.4 cratos : lsline undefined
53%
54% describe demo
55%
56% in demo replace random to make comparison between matlab/octave and machine easier
57%
58%
59% demo with real data cf MSGanalysiscrossvalidation.m
60%
61% EVOLUTIONS
62% ==========
63%
64% $Id$
65%
66% $URL$
67%
68% - jaclod 2011-07-29
69%
70%   * Revision de la documentation et des commentaires.
71%   * Changement de nom, 'scatterplot' deja existant.
72%
73% - jaclod 2011-07-25
74%
75%   * Creation.
76%
77%-
78
79% On passe les donnees sous forme de vecteur.
80data1 = reshape(data1,1,[]);
81data2 = reshape(data2,1,[]);
82
83% On trace le diagramme.
84scatter(data2,data1,5,'filled');
85
86% Ajout d'une droite de regression lineaire selon la methode des moindres
87% carrees.
88linereg = lsline;
89set(linereg,'color','r','linewidth',2);
90
91% Recuperation des coefficient de cette droite et du coefficient de
92% correlation.
93coeffs = polyfit(data2,data1,1);
94r2 = corr2(data1, data2);
95
96% Ajout des noms des axes.
97xlabel(nomvar2);
98ylabel(nomvar1);
99
100% Ajout de titres selon le nombre d'arguments d'entrees.
101if nargin == 5;
102    title(['Diagramme de dispersion entre les ' nomvar1 ' et les ' nomvar2 ' ' infocompl]);
103else
104    title(['Diagramme de dispersion entre les ' nomvar1 ' et les ' nomvar2]);
105end
106
107end
108
109%!demo
110%! close all
111%! clear all
112%! generalscatterplot(linspace(1,100*rand(1),100)+rand(1,100),linspace(1,50,100)+10*rand(1)*rand(1,100),'valeurs semi-aleatoires y', 'valeurs semi-aleatoires x', 'pour la demonstration');
Note: See TracBrowser for help on using the repository browser.