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) :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 !