# How to get norm (magnitude) of a vector the simple way?

4 vues (au cours des 30 derniers jours)
Niklas Kurz le 4 Mai 2021
Modifié(e) : Niklas Kurz le 8 Mai 2021
I just want to get the norm of
syms phi the;
c = [-cos(phi)*sin(the)^2;-sin(phi)*sin(the)^2; - cos(the)*sin(the)*cos(phi)^2 - cos(the)*sin(the)*sin(phi)^2]
norm(c,2)
isn't really simplifying anything
If I type it manually:
simplify(sqrt(cos(phi)^2*sin(the)^4+sin(phi)^2*sin(the)^4+sin(the)^2*cos(the)^2))
(sin(the)^2)^(1/2)
##### 5 commentairesAfficher 3 commentaires plus anciensMasquer 3 commentaires plus anciens
David Goodmanson le 6 Mai 2021
Hi Niklas,
If your last two vector elements were
- cos(the)*sin(the)*cos(phi) - cos(the)*sin(the)*sin(phi)
i.e. cos(phi) and sin(phi) not squared, then you would get what you say. But since cos(phi) and sin(phi) are squared, you don't.
Niklas Kurz le 8 Mai 2021
I'm sorry for forgetting the simicolons in c. It might have been hard for you to reproduce what I was trying to create.

Connectez-vous pour commenter.

### Réponse acceptée

Nagasai Bharat le 7 Mai 2021
Hi,
From the documentation of norm and simplify you could find the usage of both these functions. norm would be used to calculate the norm of a vector/matrix but not for an expression. simpify would be used in the simplification of an algebric expression.
##### 1 commentaireAfficher -1 commentaires plus anciensMasquer -1 commentaires plus anciens
Niklas Kurz le 8 Mai 2021
Modifié(e) : Niklas Kurz le 8 Mai 2021
well, it actually works if u were to incorporate some assumptions:
assume(phi>0);assume(the>0); assume(phi,'real'); assume(the,'real')
then, under these conditions
simplify(norm(c))
will simplify a lot (actually >0 not necessary)

Connectez-vous pour commenter.

### Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by