Computing values of a formula

1 visualizzazione (ultimi 30 giorni)
Fatemeh Salar
Fatemeh Salar il 2 Lug 2022
Risposto: Fatemeh Salar il 2 Lug 2022
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

Risposta accettata

Abhishek Tiwari
Abhishek Tiwari il 2 Lug 2022
Modificato: Abhishek Tiwari il 2 Lug 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

Più risposte (1)

Fatemeh Salar
Fatemeh Salar il 2 Lug 2022
Thanks for your help!

Community Treasure Hunt

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

Start Hunting!

Translated by