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

6 views (last 30 days)
Niklas Kurz on 4 May 2021
Edited: Niklas Kurz on 8 May 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)
Niklas Kurz on 8 May 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.

Nagasai Bharat on 7 May 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.
Niklas Kurz on 8 May 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)