Inscription / Connexion Nouveau Sujet
Niveau logiciels
Partager :

Vecteur sous Scilab

Posté par
Alexique
28-03-14 à 11:43

Bonjour,

j'ai un petit souci avec les vecteurs de Scilab, problème que les nombreux manuels et documentation sur le net éludent.
J'aimerais calculer \sum_{k=1}^n u_k lorsque n est un lui-même un vecteur, autrement dit, si n prend toutes les valeurs entre 1 et p, je voudrais obtenir le vecteur \Bigg[ \sum_{k=1}^1 u_k , ..., \sum_{k=1}^p u_k \Bigg]. Les boucles for ne permettent pas de prendre en compte un vecteur comme borne supérieure...

Merci pour vos suggestions...

Posté par
fm_31
re : Vecteur sous Scilab 28-03-14 à 11:59

Bonjour ,

k , n   sont des indices donc des entiers .

cordialement

Posté par
Alexique
re : Vecteur sous Scilab 28-03-14 à 12:13

J'aimerais que ne s'expriment que ceux qui connaissent un peu le logiciel..
@fm_31, Scilab permet de générer le vecteur des images à partir de l'image des éléments du vecteur...
Donc je peux très bien remplacer l'argument entier d'une fonction par un vecteur d'entiers...

Posté par
fm_31
re : Vecteur sous Scilab 28-03-14 à 12:25

Je souhaite que tu ais raison .

Posté par Profil Dlzlogicre : Vecteur sous Scilab 28-03-14 à 13:50

Bonjour,
A mon avis, si vous essayez d'écrire l'algorithme de l'opération que vous essayez de réaliser, vous comprendrez vite que ça ne correspond pas à grand-chose.

Posté par
Alexique
re : Vecteur sous Scilab 28-03-14 à 14:16

Citation :
A mon avis, si vous essayez d'écrire l'algorithme de l'opération que vous essayez de réaliser, vous comprendrez vite que ça ne correspond pas à grand-chose.
Formuler de la sorte, j'ai l'impression que vous trouvez mon problème complètement dénué d'intérêt et c'est un avis dont je me passerais bien... C'est une question issues d'un TP d'intégration numérique donc elle doit avoir un sens ! De plus, je n'arrive pas à écrire l'algorithme et c'est bien là mon problème !

Posté par Profil Dlzlogicre : Vecteur sous Scilab 28-03-14 à 14:38

Si j'ai répondu, c'est justement parce que je trouve cette question intéressante et la réponse de fm_31 tout à fait appropriée, bien qu'un peu rapide.

Citation :
De plus, je n'arrive pas à écrire l'algorithme et c'est bien là mon problème !
Je me demande si vous ne confondez pas "algorithme" et "code".
Un algorithme est une suite logique d'opérations que l'on décrit avec les mots français et une syntaxe française.
Je codage consiste à traduire cet algorithme dans une langue qui via un traducteur (compilateur ou interpréteur) sera compris par la machine. D'où l'expression "langage informatique".
Un algorithme doit être compris par n'importe quel développeur et traduit dans n'importe quel langage informatique, y compris Scilab.  

Posté par
Alexique
re : Vecteur sous Scilab 28-03-14 à 15:03

Oui, il se peut que je confonde allègrement algorithme et code (ce n'est pas trop mon domaine)...

En revanche, la réponse de fm_31 n'est pas appropriée car il ne connait visiblement pas Scilab.

On peut tout à fait donner en argument à une fonction un vecteur. Si j'introduis f(x)=x.*x, et que je demande f([1,2,4]), je récupère [1,4,16] par exemple. Si je veux faire une somme, je peux faire une boucle for en incrémentant un compteur... Le souci est là :
ce n'est pas f qui doit recevoir un vecteur c'est la fonction n \mapsto \sum_{k=1}^n f(k), fonction que je ne sais coder qu'en utilisant une boucle for qui nécessite quand j'écris "for k=1:1:n" que n soit un entier". Je voudrais donc m'affranchir de cette contrainte donc de cette boucle for pour pouvoir prendre comme argument non plus un entier mais un vecteur d'entiers...

J'espère que ma requête est plus claire et que ne se donneront la peine de répondre que ceux qui peuvent m'éclairer...

Posté par
fm_31
re : Vecteur sous Scilab 28-03-14 à 17:07

Désolé si j'ai répondu précipitamment et mal à propos .

Posté par Profil Dlzlogicre : Vecteur sous Scilab 30-03-14 à 13:41

Bonjour Alexique,
Apparemment vous n'avez pas encore résolu votre problème.
Pour essayer de vous expliquer, je vais écrire l'algorithme de votre exemple.

D'abord on déclare une fonction formule.
Le principe de fa fonction formule est que chaque fois que le programme la rencontre, il remplace les variables par leur valeur et calcule le résultat de la formule.
On a un tableau à une dimension, que vous appelez un vecteur.
La fonction formule est telle que la valeur renvoyée est le carré de la variable.
Pour chaque variable du tableau, on calcule son carré et on remplace la variable par le résultat, en l'occurrence, son carré.
Cette opération sera faite pour le nombre de variable du tableau.

Scilab permet une écriture rapide pour traiter les éléments d'un tableau, les crochets, mais l'opération que vous écrivez ne peut être faite qu'élément par élément, à l'intérieur d'une boucle.  

On peut aussi traiter des tableaux à plusieurs dimensions, mais dans tous les cas, le compteur de la boucle qui réalisera le calcul ne peut être qu'un entier.    
  

Posté par
Alexique
re : Vecteur sous Scilab 30-03-14 à 14:56

je vois... Je vais essayer autrement...

Posté par
lafol Moderateur
re : Vecteur sous Scilab 30-03-14 à 17:13

Bonjour
tu ne veux absolument pas de boucles ?

Posté par
Alexique
re : Vecteur sous Scilab 30-03-14 à 17:26

si ça peut résoudre mon problème pourquoi pas...

Posté par
lafol Moderateur
re : Vecteur sous Scilab 30-03-14 à 17:33

tu pourrais avoir une première boucle avec i de 1 à la longueur de ton vecteur n, dans chaque itération tu calcules une des sommes, dans l'ordre.
et pour calculer la somme, une boucle avec j de 1 à n(i).

Posté par
Alexique
re : Vecteur sous Scilab 30-03-14 à 18:18

effectivement, c'est ce que je me suis résolu à faire (cf ci-dessous, méthode d'approximation de l'intégrale d'une fonction continue sur [a;b] par la méthode du point milieu par exemple, mais j'ai plusieurs méthodes de Newton-Cotes à tester...). La fonction milieu comporte une boucle et la fonction milbis également qui accepte les vecteurs pour n !

Merci beaucoup à tous en tout cas !



Vecteur sous Scilab

Posté par
fm_31
re : Vecteur sous Scilab 30-03-14 à 20:03

Je ne m'étais pas trop trompé , les indices (de boucles) sont toujours des entiers (ou des énumérés)
Sans aucune prétention car je ne connais effectivement pas Scilab et du coup j'ai décidé de m'y intéresser en espérant ne pas tomber de Charybde en Scylla .

Posté par Profil Dlzlogicre : Vecteur sous Scilab 30-03-14 à 20:30

Bonsoir fm_31,
En ce qui me concerne, ta réponse était tout à fait adaptée.
De toute façon, jamais un langage n'a pu remplacer la connaissance et la compréhension d'un problème.
Bonne soirée.

Posté par
Alexique
re : Vecteur sous Scilab 30-03-14 à 21:01

Citation :
Je ne m'étais pas trop trompé , les indices (de boucles) sont toujours des entiers (ou des énumérés)

D'accord mais il aurait fallu préciser boucle et de plus, je savais cela. Il me fallait un moyen de contourner le problème...
Mais je reconnais que j'ai très mal formulé la chose et j'en suis désolé.

Posté par Profil Dlzlogicre : Vecteur sous Scilab 30-03-14 à 22:54

Bonsoir Alexique,
Non, je crois que vous avez bien formulé le problème.
La réaction de fm_31 a été logique, en ce sens que un logiciel ne peut réaliser que ce qui est prévu.
Ce que vous ne savez pas, c'est que quand on fait cette opération que vous citez avec Syslab, il y a une boucle qui s'exécute, sans que vous le sachiez. L'organisation du logiciel est prévu de telle façon que cette opération s'exécute assez rapidement, puisqu'elle est codée en interne, mais elle s'exécute. Ca marche à un niveau, parce que c'est prévu, mais pas à deux niveaux. Rien n'empêcherait d'ailleurs de le prévoir.
Bien sûr, ceci provoquera peut_être des discussions, mais je ne suis pas sûr que cette philosophie soit la bonne.
Si je peux me permettre un conseil, si vous faites ce genre chose ponctuellement, utiliser un langage plus bas niveau, vous comprendrez alors ce que vous faites.
Par contre, si vous voulez vous spécialiser dans cette direction, commencez par utiliser un langage bas niveau et ensuite, suivant vos besoins, vous pourrez utiliser un langage plus évolué.
Bonne soirée.

Posté par
Alexique
re : Vecteur sous Scilab 31-03-14 à 07:50

D'accord, c'est noté !

Je n'ai pas trop le choix du logiciel, il m'est imposé dans mon cours d'intégration numérique... Les Tp et les évaluations se font sur ce logiciel.

Je suis étudiant en mathématiques fondamentales, pas en mathématiques appliquées ni en informatique donc je ne chercherai pas à en savoir plus...

Merci pour tout.

Répondre à ce sujet

Seuls les membres peuvent poster sur le forum !

Vous devez être connecté pour poster :

Connexion / Inscription Poster un nouveau sujet
Une question ?
Besoin d'aide ?
(Gratuit)
Un modérateur est susceptible de supprimer toute contribution qui ne serait pas en relation avec le thème de discussion abordé, la ligne éditoriale du site, ou qui serait contraire à la loi.


Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !