IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scilab Discussion :

Conversion MATLAB --> Scilab


Sujet :

Scilab

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 2
    Points : 4
    Points
    4
    Par défaut Conversion MATLAB --> Scilab
    Bonjour

    Alors voilà mon problème. Je dois tracer des fonctions de répartition de lois normales sur un graphe. Mais dans la communauté scientifique, la convention veut que de telles courbes soient plottées de telle façon qu'elles apparaissent comme des droites (Voir spoiler).

    Nom : ce_quon_doit_obtenir.png
Affichages : 345
Taille : 93,7 Ko


    Du coup, j'ai ma courbe, et je dois la plotter sur des axes franchement exotique et je ne sais pas comment coder ça. J'ai appelé un prof pour me dépanner et il m'a passé un code matlab. J'ai essayé de le transposer en Scilab, mais il y a deux lignes de code trop compliquées que je n'arrive pas à faire (les deux dernières).

    Voici le code matlab :
    Code matlab : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function p=probiplot(x)
    x=x(~isnan(x));				% isnan = fonction reconnue dans scilab. Détecte les N.a.N (Not a Number)
    ss=sort(x/std(x));			% sort dans matlab trie les vecteurs dans l'ordre croissant. (~gsort dans scilab ?). std = stdev
    n=length(x);				% Lenght, c'est la même fonction que dans scilab
    az=((1:n)-0.5)/n;			% Cette ligne n'a pas besoin d'être convertie, Scilab sait la lire.
    z=normq(az);				% Fonction personalisée du prof. Doit être réécrite
    plot(z,ss,'ro',z,z,'k');		% plot = plot2d
    axis square				% Paramètre d'axe pour fixer des longeurs égales. Je comprends pas trop comment adapter ça dans scilab...
    axis([-5 5 -5 5]);			% Axis spécifie les limites d'axe. J'ai l'impression que c'est la même chose que rect mais je sais pas comment coder ce bidule

    Voici la transposition que j'en ai faite pour Scilab:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function [p] = probiplot(x)
     
    x=x(~isnan(x));
    ss=gsort(x/stdev(x),"i");
    n=length(x);
    az=((1:n)-0.5)/n;
    z=normq(az);				// Je m'en occuperai plus tard
    plot(z,ss,'ro',z,z,'k');
    set(gca(),"???","on")			// Je met quoi à la place des ??? x_ticks.locations ? auto_ticks ? isoview ? whatever ?
    set(gca(),"data_bounds",matrix([-5,5,-5,5],2,-1));
     
    endfunction


    Voilà. Ce sont les deux dernières lignes que je comprends pas. Apparemment, il y a un truc à faire avec la fonction newaxes puis avec sca, mais je rame complètement avec la liste complète des propriété d'axes !

  2. #2
    Membre averti
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Juin 2012
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 257
    Points : 321
    Points
    321
    Par défaut
    Bonjour,

    Pour les axes il doit être possible de faire ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    f=gca();
    f.data_bounds = [-5,5;-5,5];
    f.auto_scale = "off";

Discussions similaires

  1. matlab to scilab conversion
    Par Saeiddieas dans le forum Scilab
    Réponses: 1
    Dernier message: 22/05/2015, 20h50
  2. Conversion MATLAB vers Scilab
    Par mainak29 dans le forum Scilab
    Réponses: 3
    Dernier message: 24/02/2011, 05h06
  3. Erreur UTF8 dans la conversion MATLAB - Scilab
    Par nicollivier dans le forum Scilab
    Réponses: 2
    Dernier message: 26/02/2010, 10h06
  4. [improfile] Conversion MATLAB -> C
    Par fakhirov dans le forum MATLAB
    Réponses: 1
    Dernier message: 10/10/2006, 15h35
  5. Conversion matlab / java
    Par coolgeff dans le forum MATLAB
    Réponses: 6
    Dernier message: 26/06/2006, 17h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo