Divide elements of matrix by scalar

for i = 1:N
P(i) = P(i)/2;
end
I have this for loop that's supposed to divide each element of P by two, then I graph P but it's always double what it needs to be. N is 120 and P is a 1x120 array so it's not an indexing problem.
When I isolate my P array in another script and divide each element by 2 my graph looks how I want it to
Why won't my intial code divide by 2? Any help is greatly appreciated.

Answers (1)

Are you doing this for loop inside a function? If so, the operation you are doing is only on the local copy of P. You need to output that new value of P from the function. Something like
function P = divideByTwo(P)
for i = 1:N
P(i) = P(i)/2;
end
end

1 Comment

Yea, I fixed my problem everything was inside a loop. Took my loop out and eveyrthing worked. Thank you though!

Sign in to comment.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Tags

Asked:

on 3 Mar 2022

Commented:

on 3 Mar 2022

Community Treasure Hunt

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

Start Hunting!