How to modify an array's elements using another element?

I need to write a for loop that will set each array element in bonusScore to the sum of itself and the next element (except for the last element which stays the same). Why why does my code yield these (incorrect) output numbers? What should I do to fix my code?
function bonusScores = CombineScores(numberScores, userScores)
for i = 1:numbersScores;
userScores(1) = userScores(1) .* 2 + userScores(2);
userScores(2) = userScores(2) .* 2 + userScores(3);
userScores(3) = userScores(3) .* 2 + userScores(4);
bonusScores = userScores;
end
end
Input: CombineScores(4, [10, 20, 30, 40]) Output: ans = 1800, 1960, 1080, 40

2 Commenti

What results you are expecting on above-mentioned input?
Input: CombineScores(4, [10, 20, 30, 40])
I am expecting...
Output: [30, 50, 70, 40]
Thanks.

Accedi per commentare.

 Risposta accettata

Fix code:
function bonusScores = CombineScores(numberScores, userScores)
for i = 1:numberScores-1
userScores(i) = userScores(i) + userScores(i+1);
end
bonusScores = userScores;
end
Try
>> CombineScores(4, [10, 20, 30, 40])
ans =
30 50 70 40

Più risposte (0)

Categorie

Scopri di più su Loops and Conditional Statements in Centro assistenza e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by