Computing values of a formula

1 view (last 30 days)
Hi,
I tried to solve this equation but apperantly my output is wrong, can you tell me what am I missing ?
clc
clear
close all
n=input('Please enter n : ')
x=input('Please enter x : ')
for k=0:floor(n/2);
H=((-1)^k)*factorial(n)*(x^(n-2*k))/(2^k*factorial(k)*factorial(n-2*k));
H=H+((-1)^k)*factorial(n)*(x^(n-2*k))/(2^k*factorial(k)*factorial(n-2*k));
end
H

Accepted Answer

Abhishek Tiwari
Abhishek Tiwari on 2 Jul 2022
Edited: Abhishek Tiwari on 2 Jul 2022
Hi,
It appears that it is updating and doubling H with each cycle. So, the code you provided just doubles the result of the final step, i.e. when k = floor (n/2). Try initialising H before the loop and remove first line in the 'for' loop as demonstrated
clc
clear
close all
n = 10;
x = 2;
H = 0;
for k=0:floor(n/2);
H=H+((-1)^k)*factorial(n)*(x^(n-2*k))/(2^k*factorial(k)*factorial(n-2*k));
end
H
H = -2621

More Answers (1)

Fatemeh Salar
Fatemeh Salar on 2 Jul 2022
Thanks for your help!

Categories

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

Community Treasure Hunt

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

Start Hunting!