bjr
SVP , j'aimerai calculer cette intégrale avec matlab
(pièce jointe)
merci pour l'aide
bjr
SVP , j'aimerai calculer cette intégrale avec matlab
(pièce jointe)
merci pour l'aide
Bonjour,
Et quelle difficulté rencontres-tu?
As-tu commencé à coder quelque chose?
quand j’écris :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 t = 0:pi; g1(t); I1 = quad(@g1,0,pi); G1 = I1/(120*pi*pi);il m’écrit
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 %subfunctions function [f] = g1(t) global k0 W f = ((sin(k0*W*0.5*cos(t))/cos(t)).^2*(sin(t)).^3);
et là je ne sais pas où est le problème ?Undefined function or method 'g' for input arguments of type 'double'
Dans le code que tu nous montres, il n'y a aucune variable g employée... aurais-tu un message d'erreur complet à nous montrer?
Sinon attention à ne pas oublier le point '.' devant l'opérateur de multiplication pour faire du membre à membre et non du matriciel.
Pour t'en convaincre: regarde la différence entre ces deux lignes:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 t = 0:pi; (sin(k0*W*0.5*cos(t))/cos(t)).^2 (sin(k0*W*0.5*cos(t))./cos(t)).^2
merci Winjerome...
tu sais, j'ai enlevé la fonction du script principal , et je l'ai mise dans le même répertoire du travail, et dans le script je l'ai appelé c'est tout (j'ai écrit seulement son nom) et je pense que c'est bon...
maintenant Winjerome
il m'affiche
Code : Sélectionner tout - Visualiser dans une fenêtre à part f = ((sin(k0*W*0.5 *cos(t))./cos(t)).^2 *(sin(t)).^3);
et la aussi j'ai essayé mais toujours le même message , je ne sais pas ou il est le problème de dimensions, j'ai essayé de mettre le transposé mais c'est la même chose , peux-tu m'aider si tu veux?Error using ==> mtimes Inner matrix dimensions must agree.
merci
Comme l'indique ma signature, pour toute erreur avant toute chose, on regarde la Inner matrix dimensions must agree.
Puis avec la connaissance de ce à quoi est liée l'erreur, on la reproduit en insérant des breakpoints et on essaie de la corriger.
Donc dans un premier temps, rajoute un breakpoint à la ligne de l'erreur ( à savoir f = ((sin(k0*W*0.5 *cos(t))./cos(t)).^2 *(sin(t)).^3);)
Ensuite en ligne de commande, exécute au fur et à mesure ta ligne:
On a donc trouvé la position exacte de l'erreur, maintenant on regarde nos dimensions:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 sin(k0*W*0.5*cos(t)); % OK sin(k0*W*0.5*cos(t))./cos(t); % OK maintenant mais avant tu aurais eu l'erreur ici. (sin(k0*W*0.5*cos(t))./cos(t)).^2; % OK (sin(k0*W*0.5*cos(t))./cos(t)).^2*(sin(t)); % Inner matrix dimensions must agree.
Et maintenant on se rappelle ce que ce bon vieux Winjerome nous a dit dans son deuxième message (qui était d'ailleurs plutôt la pour division):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 K>> size((sin(k0*W*0.5*cos(t))./cos(t)).^2) 1 4 K>> size((sin(t))) 1 4
Ceci est valable pour la multiplication comme pour la division.
C'était si dur que ça?
Dernière modification par Invité ; 23/05/2012 à 16h57.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager