MATLAB Answers

0

I have a matrix, I want all values inside the matrix greater than 2*pi to be subtracted by 2*pi. All values less than 0 to have 2*pi be added to them. Other terms stay constant.

Asked by gabriel rios on 11 Feb 2019
Latest activity Commented on by gabriel rios on 11 Feb 2019
I have a matrix, I want all values inside the matrix greater than 2*pi to be subtracted by 2*pi, all values less than 0 to have 2*pi be added to them. Other terms stay constant as they are.
I have tried code below, but it does nothing. (I tried to change the theta4 > 2pi, then theta4 = 0 and nothing happened to my graph, althought some values are clearly above 0)
Theta4 is my matrix "[1x111] double" with "random" numbers.
I am not an expert in matlab, and some explination would be great.
%{
if theta4 > 2*pi
theta4 = theta4 - 2*pi;
elseif theta4 < 0
theta4 = theta4 + 2*pi ;
else
theta4= theta4 ;
end
%}

  2 Comments

gabriel - suppose your matrix has 4*pi as one of its elements. If we subtract 2*pi, then we are left with 2*pi. Should we subtract 2*pi again (and continue to do so) until the result is less than 2*pi?
Interesting thought experiment, but I think my attempted if statement would stop that
Just to complelety clarify, I want all my values inbeetween 0-2pi values. With my attemped solution
if theta > 2 pi , meaning not 2pi = 2pi but 2pi+0.01 > 2pi then it would subract 2pi
if theta < 0 then add to 2pi to make it positive, but less than 2pi
else if theta somehow ends up 2pi exact, end.
These are all numbers in a matrix (1x111 double). I am satisfied when all values inside are
0 <= x <= 2 pi . I attamped another if statement, and it did not change my matrix. If statement is NOT changing my matrix values.
if theta4 > 2*pi
theta4 = theta4 - 2*pi;
elseif theta4 < 0
theta4 = theta4 + 2*pi ;
elseif theta4==theta4
theta4 = theta4
else
theta4=0
end

Sign in to comment.

1 Answer

Answer by John D'Errico
on 11 Feb 2019
 Accepted Answer

Theta4 = mod(Theta4,2*pi);

  1 Comment

I do think this is, all values minized. I don't know how, but Ill take it!
Thanks sir

Sign in to comment.