aide programmation scilab

Pauline F pauline.l.m.fabre at gmail.com
Thu Apr 29 14:05:39 CEST 2010


Bonjour,

 Je me permets de vous contacter suite à des recherches sur internet pour
faire fonctionner le logiciel Scilab. J'espère vivement que vous pourrez
m'apporter votre aide afin que je puisse continuer mon programme.

Je suis actuellement en stage et effectue l’étude d’une accélération avec le
logiciel Scilab. Je dois extraire les valeurs de l’accélération à partir
d’un dossier excel et les  intégrer afin d’obtenir la vitesse et le
déplacement. Pour cela il me faut utiliser la méthode d’intégration à partir
de trapèze en partant non pas du début de la courbe mais du point ou
commence le mouvement c'est-à-dire lorsque l’écart type σ de la moyenne des
données dépasse 3σ. (Cf schéma en annexe).

 Je débute avec Scilab. Je suis pour le moment parvenue à extraire toutes
les valeurs du tableau excel :



-->chdir('D:\accéléromètres stage\');

 -->Feuille = readxls('scilab excel.xls');

 -->Dxls  = Feuille(1).value;

 -->T=Dxls(:,1);

 -->ax=Dxls(:,2);

 -->ay=Dxls(:,3);

 -->az=Dxls(:,4);



Ensuite j’ai voulu commencer par intégrer chaque points pour obtenir la
valeur de la vitesse (en x ici) j’ai dans un premier cas utilisé :



vx=0; for k=ax vx=vx+inttrap(k,T);end;



Là il n’y a apparemment pas d’erreur cependant lorsque je veux afficher la
courbe de vx en fonction de T rien n’apparaît.

Ensuite j’utilise la formule d’intégration par la méthode des trapèzes :



vx=zeros(1,1);for n=1:3000
vx(:,n+1)=vx(n)+(ax(:,n+1)-ax(:,n))*.(0.01/2);end;



Et là erreur 21 ! Erreur d’index….



Je n’arrive pas à comprendre mes erreurs. Depuis plusieurs jours j’essaie de
me documenter mais le programme reste toujours au même niveau.

De plus j’ai supprimé ici toutes les premières valeurs manuellement alors
qu’il me faudrait un système qui définisse automatiquement le zéro à
l’endroit où le mouvement commence. Comment faire ? Je pense utiliser  une
boucle if en calculant l’écart type à chaque fois et en déclarant que si cet
écart type est égal à trois fois celui qui précède, la valeur de la vitesse
est nulle. Mais comment faire pour définir cette valeur comme le départ du
calcul de la vitesse ? Faut il inclure la boucle for dans le if ? Mais dans
ce cas comment le faire ? En espérant que vous pourrez me venir en aide.
Merci d’avance pour votre réponse.

Cordialement,

 FABRE Pauline.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.scilab.org/pipermail/users/attachments/20100429/d792f26e/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: annexe.gif
Type: image/gif
Size: 2188 bytes
Desc: not available
URL: <https://lists.scilab.org/pipermail/users/attachments/20100429/d792f26e/attachment.gif>


More information about the users mailing list