how to divide a matrix by its norm in for loop

i want s/|s|
s=[x(2)+x(1);x(1)+x(3)];
i write as it
for i=1:n
s1(i)=x2(i)+x1(i);
s2(i)=x1(i)+x3(i);
sm(:,i)=[s1(i);s2(i)];
if ( x(i)~=0 )
u1(i)=s2(i)/norm(sm(:,i));
u2(i)=-0.1*s1(i)/norm(sm(:,i));
end
end
pleae help me

Risposte (1)

Steven Lord
Steven Lord il 25 Ott 2019
There's no need for a for loop here. Just use the norm function and divide. If you were trying to divide each row or each column of the matrix by its vector norm instead of dividing the whole matrix by its matrix norm, use the vecnorm function instead.

1 Commento

but i want plot it so i am using for loop and x1 x2 x3 are state that i obtain from ode45

Accedi per commentare.

Categorie

Scopri di più su Loops and Conditional Statements in Centro assistenza e File Exchange

Prodotti

Richiesto:

il 25 Ott 2019

Commentato:

il 25 Ott 2019

Community Treasure Hunt

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

Start Hunting!

Translated by