Bonjour,
Je suis grand débutant en Matlab. J'ai créé une fonction à base d'opérateurs vectoriels (comme les produits scalaires et vectoriels). Cette fonction prend pour arguments des scalaires et renvoie un scalaire.
Admettons que ce soit cette fonction (c'est en fait un enchaînement de plusieurs fonctions, dont le détail n'est pas intéressant car ce n'est pas de là que ça vient) :
1 2 3
| function r = TestScalaire(x,y)
r = dot([x,y],[2,3])
end |
Cette fonction marche correctement (heureusement, je pense !).
J'aimerais intégrer cette fonction en prenant pour paramètre d'intégration les coordonnées d'un vecteur.
1 2
|
dblquad(@(x,y)TestScalaire(x,y), 0, 1, 0, 1); |
Là, j'ai des erreurs provenant de ce produit scalaire, alors que rien ne devrait gêner son exécution. Mise à part une erreur de taille d'éléments puisque Matlab a l'air d'interpréter [x,y] comme une matrice de valeurs pour l'intégration de TestScalaire.
1 2 3
|
Error using ==> dot at xx
A and B must be the same size |
La même chose se produit lorsque j'utilise dot() directement dans la fenêtre de commande :
dblquad(@(x,y)dot([x,y],[2,3]), 0, 1, 0, 1);
Voyez-vous une solution pour venir à bout de ce calcul sans développer tous les calculs vectoriels effectués dans mes fonctions ?
Merci d'avance !
Partager