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

 Risposta accettata

Ben11
Ben11 il 28 Lug 2014
Modificato: Ben11 il 28 Lug 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 Commenti

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

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Get Started with MATLAB in Centro assistenza e File Exchange

Tag

Non è stata ancora inserito alcun tag.

Richiesto:

son
il 28 Lug 2014

Commentato:

il 28 Lug 2014

Community Treasure Hunt

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

Start Hunting!

Translated by