matlab : calcul norme dans L2

Bonjour,
Qui peut me dire comment je peut calculer la norme en $L^2$ d'un vecteur, utilisant Matlab.
Merci d'avance.

Réponses

  • Avec matlab, ça ne prend que 10 caractères : si X est le vecteur, il suffit de faire

    sqrt(X.*X)

    (NB : .* désigne le produit élément par élément de deux matrices de même taille)
  • Bonjour,
    Merci pour votre réponse, est-ce que vous pouvez m'expliquer avec détail comment je calcule le norme de $X-Y$ dans $L^2$.
    Si j'ai les résultats comme des vecteurs, parce que j'ai calculé comme vous m'avez dit et j'ai obtenu un vecteur.
    Merci beaucoup.
  • Ah oui, j'ai oublié de sommer les composantes : il faut faire

    sqrt(sum(X.*X))
  • C'est que je dois faire alors pour calculer le norme de $u^2-u^1$, ça doit être :
    $\sqrt(\sum(u^2-u^1.*u^2-u^1)).$
    C'est ça ?

    [La case LaTeX. AD]
  • Euh... Oui. Tu as vraiment besoin de moi pour remplacer X par (u1 - u2) dans une formule?
  • Merci en tout cas pour votre effort, mais votre repons c'est pas exact.....
  • Ah bon? Il faudra que tu m'expliques pourquoi.
  • Bonjour.

    Effectivement, la réponse est fausse, faute de parenthèses. Mai Jaaour, comme le dit Lucas, tu n'es pas sérieux. C'était à toi de mettre les parenthèses.


    Cordialement
  • Bonjour,
    Je suis trés serieux, parceque j'ai passé pas mal du temps en cherchant la bonne réponse, mais j'était faché contre la réponse de Luca quand j'ai demandé a lui le détail.. en tout cas le norm dasn $L^2 $ s'est un integral alors il faut tout d'abord connaitre la propriété du vecteur qu'on veux le normé, et comme mon vecteur viens de la solution d'une EDP en utilisant method EF alors je peut calculer l'integral untilisant des method approché sur chaque triangle du maillage, et en fin je somme sur le domain.
  • Jaaour.

    Il faut être sérieux ! Si tu veux la norme de fonctions, il ne faut pas parler de matlab (matlab travaille sur des matrices, et tu as parlé, toi-même de vecteurs). Donc avant de poser une question, tu réfléchis un peu (puisque tu sais qu'il s'agit d'une intégrale, tu fais le calcul), et tu poses le vrai problème : calculer de façon approchée la norme.
    Au fait, sur quel $L^2$? Car le calcul d'une intégrale dépend fortement de l'intervalle d'intégration. Et si cet intervalle est $\R$, le calcul approché est en général infaisable.

    La fin de ton message me laisse entrevoir qu'on ne risquait pas de te répondre ...

    Cordialement.

    NB : Il existe sur le site de l'INRIA quelques documents très bien faits sur l'usage de Scilab, pourquoi ne pas aller voir (matlab en est une version commerciale).
  • Jaaour, non tu n'es pas sérieux. Pendant 4 ou 5 messages tu as laissé les gens croire que tu cherchais comment calculer la norme d'un vecteur, et Lucas t'a répondu la bonne réponse, alors que ce n'est pas ça que tu cherches. Et oui les mots ont un sens et ta question se pose correctement sous la forme suivante :

    "si $X$ est le vecteur obtenu par la méthode des éléments finis, qui représente la fonction $u$ solution du problème dans une base de fonctions, comment calculer la norme $L^2$ de $u$ en fonction de $X$ ?"

    Avoue que ça n'a {\it rien à voir} avec la norme d'un vecteur, qui est effectivement $||X||=\sqrt{\sum_i x_i^2}$. Relis ton premier message ; comment voulais-tu que quelqu'un devine la question que tu te posais vraiment avec ce que tu as écrit ? Pourquoi n'avoir pas directement été précis sur ta demande ?

    Pour ta question, il y a en tout premier lieu une question de maths, avant l'implémentation en Matlab : si les $w_i$ sont tes fonctions de base, et $X=(x_i)$ le vecteur des coordonnées de $u$, alors $u=\sum_i x_i w_i$ et donc
    $$||u||_{L^2}^2=\langle \sum_i x_i w_i, \sum_j x_j w_j \rangle_{L^2}=\sum_{i,j} x_i x_j \langle w_i,w_j \rangle_{L^2}=X'QX$$ où $X'$ est la transposée de $X$ et $Q$ la matrice carrée dont le $(i,j)$-ième coefficient est le produit scalaire $L^2$ : $q_{ij}=\langle w_i,w_j \rangle_{L^2}=\int_{\Omega} w_iw_j$, c'est-à-dire la matrice du produit scalaire $L^2$ dans la base $(w_i)$. La première chose à faire est de calculer la matrice $Q$, à la main (normalement tu l'as essentiellement déjà fait si ton EDP comporte un terme en $u$). Une fois ceci fait tu auras pour tout $u$, de coordonnées $X$ : $||u||_{L^2}=\sqrt{X'QX}$ ce qui en Matlab doit s'écrire {\bf sqrt(X'*Q*X)}.
  • bonjour
    je veux savoir comment calculer les differentes normes de vecteurs (norme euclidienne ....) le produit scalaire de 2 vecteur et le produit vectoriel de 2 vecteurs de R3
  • Avoir la volonté, c'est bien ! C'est déjà ça. Après, tu peux commencer par lire un des premiers messages de ce fil. Ca date de quatre ans, mais c'est sans doute toujours d'actualité.
  • Bonjour!
    je veux savoir si je peux utiliser la méme mèthode que Mr egoroff a expliqué, pour le calcule du terme suivant:
    qui représente une integrale de (u1-u2)(z1-z2) sur une frontiere du domaine .
    avec u1,u2 ,z1,z2 sont des restrictions sur cette frontiere des vecteurs obtenu par la méthode des éléments finis
Connectez-vous ou Inscrivez-vous pour répondre.