column multiplication by specific number with some condition

r = -5 + (5+5)*rand(10,1) % column with positive and negative numbers
I want to create the function r_1 by satisfying the following:
r_1= r .* 0.5 if r >0
and
r_1 = r .* 0.7 if r<0
I guess, I should multiply positive values by 0.5 and negative values by 0.7.

Answers (1)

r_1=ones(1,numel(r)):
r_1(r>0)=r(r>0).*.5;
r_1(r<0)=r(r<0).*.7;
r_1

2 Comments

r_1=zeros(size(r));
r_1(r>0)=r(r>0).*.5;
r_1(r<0)=r(r<0).*.7;
r_1
I did run this code,it work. Thanks
Anytime :) make sure to accept the answer if it worked

Sign in to comment.

Categories

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

Products

Release

R2018b

Community Treasure Hunt

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

Start Hunting!