Comment cree un programe matlab
Résolu/Fermé
d32bougie
-
29 nov. 2008 à 17:25
Fee Fay Messages postés 635 Date d'inscription vendredi 17 octobre 2008 Statut Membre Dernière intervention 31 mai 2009 - 1 déc. 2008 à 22:18
Fee Fay Messages postés 635 Date d'inscription vendredi 17 octobre 2008 Statut Membre Dernière intervention 31 mai 2009 - 1 déc. 2008 à 22:18
A voir également:
- Comment cree un programe matlab
- Comment créer un groupe whatsapp - Guide
- Cree un compte google - Guide
- Créer un compte gmail - Guide
- Comment creer un pdf - Guide
- Créer un compte instagram sur google - Guide
10 réponses
Fee Fay
Messages postés
635
Date d'inscription
vendredi 17 octobre 2008
Statut
Membre
Dernière intervention
31 mai 2009
377
1 déc. 2008 à 21:04
1 déc. 2008 à 21:04
Tu devrais un peu chercher s'il s'agit d'exercices...
Il y a rien à faire en Matlab pour afficher les entiers de 1 à n.
Définir le vecteur v des entiers de 1 à n sous Matlab, c'est v=(1:n);
Cela doit être écrit dans ton cours.
Sinon pour ton programme précédent tu pouvais aussi faire comme ça :
Il y a rien à faire en Matlab pour afficher les entiers de 1 à n.
Définir le vecteur v des entiers de 1 à n sous Matlab, c'est v=(1:n);
Cela doit être écrit dans ton cours.
Sinon pour ton programme précédent tu pouvais aussi faire comme ça :
t=input('Donner un temps t en secondes : '); ns = rem(t,60); nm = rem((t-ns)/60,60); nh = rem(((t-ns)/60-nm)/60,24); nj = (((t-ns)/60-nm)/60-nh)/24; isplay(['Le temps ' num2str(t) 's donne ' num2str(nj) 'j ' num2str(nh) 'h ' num2str(nm) 'min ' num2str(ns) 's']);D'ailleurs, je voulais écrire Donner un temps et non Donner un nombre temps dans le programme précédent.
Fee Fay
Messages postés
635
Date d'inscription
vendredi 17 octobre 2008
Statut
Membre
Dernière intervention
31 mai 2009
377
29 nov. 2008 à 20:43
29 nov. 2008 à 20:43
Bonsoir
Utilise clock
Bonne nuit
Utilise clock
Bonne nuit
Fee Fay
Messages postés
635
Date d'inscription
vendredi 17 octobre 2008
Statut
Membre
Dernière intervention
31 mai 2009
377
1 déc. 2008 à 00:06
1 déc. 2008 à 00:06
Bonsoir
Dans la mesure où le message était difficilement lisible, je n'ai pas compris tout à fait la demande.
Donc tu ne veux pas afficher le temps d'aujourd'hui en années-mois-jours-heures-minutes-secondes en utilisant clock au lieu de time qui te donne la date courante en secondes.
Tu souhaites donc donner un temps en secondes et avoir une conversion en jours-heures-minutes-secondes.
j = 24h
h = 60 min
min = 60s
*Tu prends donc ton temps t en secondes, tu fais la division euclidienne (quotient nmin et reste s) de ce temps par 60, le reste s te donne le nombre de secondes dans ta date en jours-minutes-secondes.
*Tu fais la division euclidienne (quotient nh et reste min) du quotient nmin précédent par 60. Le reste min te donne le nombre de minutes dans ta date en jours-minutes-secondes.
*Tu fais la division euclidienne (quotient j et reste h) du quotient nh précédent par 24. Le reste h te donne le nombre d'heures dans ta date en jours-minutes-secondes et le quotient j te donne le nombre de jours.
Bonne nuit
Dans la mesure où le message était difficilement lisible, je n'ai pas compris tout à fait la demande.
Donc tu ne veux pas afficher le temps d'aujourd'hui en années-mois-jours-heures-minutes-secondes en utilisant clock au lieu de time qui te donne la date courante en secondes.
Tu souhaites donc donner un temps en secondes et avoir une conversion en jours-heures-minutes-secondes.
j = 24h
h = 60 min
min = 60s
*Tu prends donc ton temps t en secondes, tu fais la division euclidienne (quotient nmin et reste s) de ce temps par 60, le reste s te donne le nombre de secondes dans ta date en jours-minutes-secondes.
*Tu fais la division euclidienne (quotient nh et reste min) du quotient nmin précédent par 60. Le reste min te donne le nombre de minutes dans ta date en jours-minutes-secondes.
*Tu fais la division euclidienne (quotient j et reste h) du quotient nh précédent par 24. Le reste h te donne le nombre d'heures dans ta date en jours-minutes-secondes et le quotient j te donne le nombre de jours.
Bonne nuit
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Fee Fay
Messages postés
635
Date d'inscription
vendredi 17 octobre 2008
Statut
Membre
Dernière intervention
31 mai 2009
377
1 déc. 2008 à 19:43
1 déc. 2008 à 19:43
Bonsoir
Pas de souci ;-)
Tu me diras si tu y es arrivé. Nous pourrons regarder ce que tu as fait.
Ciao !
Pas de souci ;-)
Tu me diras si tu y es arrivé. Nous pourrons regarder ce que tu as fait.
Ciao !
Fee Fay
Messages postés
635
Date d'inscription
vendredi 17 octobre 2008
Statut
Membre
Dernière intervention
31 mai 2009
377
1 déc. 2008 à 20:43
1 déc. 2008 à 20:43
Ça a l'air de marcher ;-)
Si tu veux une sortie écran plus propre, tu peux rajouter des ; et une ligne. Comme ceci :
Si tu veux une sortie écran plus propre, tu peux rajouter des ; et une ligne. Comme ceci :
t=input('Donner un nombre temps t en secondes : '); nj=(t-rem(t,86400))/(86400); nh=(rem(t,86400)-rem(rem(t,86400),3600))/(3600); nm=(rem(rem(t,86400),3600)-rem(rem(rem(t,86400),3600),60))/(60); ns=rem(rem(rem(t,86400),3600),60); display(['Le temps ' num2str(t) 's donne ' num2str(nj) 'j ' num2str(nh) 'h ' num2str(nm) 'min ' num2str(ns) 's']);Bonne soirée
Fee Fay
Messages postés
635
Date d'inscription
vendredi 17 octobre 2008
Statut
Membre
Dernière intervention
31 mai 2009
377
1 déc. 2008 à 21:16
1 déc. 2008 à 21:16
Ah d'accord...
La fonction primes de Matlab fait cela.
v=primes(n); te définit le vecteur des nombres premiers de 1 à n.
La fonction primes de Matlab fait cela.
v=primes(n); te définit le vecteur des nombres premiers de 1 à n.
Fee Fay
Messages postés
635
Date d'inscription
vendredi 17 octobre 2008
Statut
Membre
Dernière intervention
31 mai 2009
377
1 déc. 2008 à 22:00
1 déc. 2008 à 22:00
Tout d'abord, vérifie que a n'a pas été défini quelque part avec une taille plus grande que celle que tu utilises dans ton programme.
Si tu fais par exemple :
Donc soit tu fais un clear a; avant de lancer ton programme à chaque fois, soit tu définis la taille de a dans le programme (c'est mieux).
Si tu lances ton programme pour n=4 par exemple, tu obtiens ceci :
Si tu fais par exemple :
a=zeros(10); n=input('Enter la taille de la matrice : ') k=1; for i=1:n for j=1:n a(i,j)=[n^k]; k=k+1; end endEt que tu lances ton programme pour n=5 par exemple, tu obtiendra des zéros pour i>6 ou j>6.
Donc soit tu fais un clear a; avant de lancer ton programme à chaque fois, soit tu définis la taille de a dans le programme (c'est mieux).
n=input('Enter la taille de la matrice : ') a=zeros(n); k=1; for i=1:n for j=1:n a(i,j)=[n^k]; k=k+1; end endEnsuite, même si tu fais cela, l'affichage t'indiquera quand même des zéros quand n sera assez grand, mais il s'agit seulement de l'affichage.
Si tu lances ton programme pour n=4 par exemple, tu obtiens ceci :
> a a = 1.0e+09 * 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0003 0.0010 0.0042 0.0168 0.0671 0.2684 1.0737 4.2950En revanche, si tu demandes l'affichage de a(1,1) seul :
>> a(1,1) ans = 4Si tu veux changer cet affichage, utilise format. Ici, si tu veux afficher a correctement, l'affichage le plus adapté est long g je pense ; le format long ne conviendra pas si tu augmentes encore la taille de n.
>> format long g >> a a = 4 16 64 256 1024 4096 16384 65536 262144 1048576 4194304 16777216 67108864 268435456 1073741824 4294967296Bonne nuit
Fee Fay
Messages postés
635
Date d'inscription
vendredi 17 octobre 2008
Statut
Membre
Dernière intervention
31 mai 2009
377
1 déc. 2008 à 22:10
1 déc. 2008 à 22:10
Tu es le bienvenu ;-)
Cela dit, tu ne m'as pas laisser le temps de modifier mon message. :-(
J'allais ajouter qu'il fallait éviter d'utiliser i et j sous Matlab parce qu'ils sont prédéfinis (nombres complexes). Remplace les respectivement par ii et jj par exemple, même si ton programme marche très bien.
Sinon, c'est quelque chose qui peut être source d'erreurs si un jour tu as à utiliser le nombre complexe i dans une boucle en i.
Cela dit, tu ne m'as pas laisser le temps de modifier mon message. :-(
J'allais ajouter qu'il fallait éviter d'utiliser i et j sous Matlab parce qu'ils sont prédéfinis (nombres complexes). Remplace les respectivement par ii et jj par exemple, même si ton programme marche très bien.
Sinon, c'est quelque chose qui peut être source d'erreurs si un jour tu as à utiliser le nombre complexe i dans une boucle en i.
Fee Fay
Messages postés
635
Date d'inscription
vendredi 17 octobre 2008
Statut
Membre
Dernière intervention
31 mai 2009
377
1 déc. 2008 à 22:18
1 déc. 2008 à 22:18
Il n'y a pas de quoi !
Et ton prof ne t'a pas dit d'utiliser le fait que tu peux travailler vectoriellement avec Matlab ? :-D
Ton programme se simplifie ;-)
D'ailleurs je viens de me rendre compte que j'avais écrit Enter au lieu d'Entrer:
Et ton prof ne t'a pas dit d'utiliser le fait que tu peux travailler vectoriellement avec Matlab ? :-D
Ton programme se simplifie ;-)
D'ailleurs je viens de me rendre compte que j'avais écrit Enter au lieu d'Entrer:
n=input('Entrer la taille de la matrice : '); a=zeros(n); k=(1:n^2); a(k)=n.^k; a=a.';Bonne nuit
1 déc. 2008 à 21:12
pour le 2eme je voulai dire les nombre premier entre 1et un nombre entier n