If-then with a range

Hi everyone, please help,
M is from 1 to 10 ( 1,2,3....,10)
if M is odd then N = M + 1 else N = M + 2
I created this file but the answer is wrong
close all
clear all
M=1:1:10;
if (mod(M,2)==1)
N=M+1;
else
N=M+2;
end
Matlab give N = 3 4 5 6 7 8 9 10 11 12
but it should be
N = 2 4 4 6 6 8 8 10 10 12

 Accepted Answer

Ben11
Ben11 on 28 Jul 2014
Edited: Ben11 on 28 Jul 2014
You're almost there!
clear
clc
M = 1:10;
N = zeros(1,length(M));
for k = 1:length(M)
if mod(M(k),2) == 1
N(k) = M(k)+1;
else
N(k) = M(k)+2;
end
end
N
N =
2 4 4 6 6 8 8 10 10 12

6 Comments

son
son on 28 Jul 2014
the answer should be N = 2 4 4 6 6 8 8 10 10 12
Ben11
Ben11 on 28 Jul 2014
Edited: Ben11 on 28 Jul 2014
oups brain freeze sorry I edited my answer. I changed mod(M,2) == 0 to mod(M(k),2) == 1.
son
son on 28 Jul 2014
it is perfect. many thanks to you.
Ben11
Ben11 on 28 Jul 2014
great you're very welcome!
son
son on 28 Jul 2014
Edited: son on 28 Jul 2014
one more question how to calculate the sum of all the N.
Ben11
Ben11 on 28 Jul 2014
sum(N) should do it

Sign in to comment.

More Answers (0)

Categories

Tags

No tags entered yet.

Asked:

son
on 28 Jul 2014

Commented:

on 28 Jul 2014

Community Treasure Hunt

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

Start Hunting!