Computing values of a formula

1 Ansicht (letzte 30 Tage)
Fatemeh Salar
Fatemeh Salar am 2 Jul. 2022
Beantwortet: Fatemeh Salar am 2 Jul. 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

Akzeptierte Antwort

Abhishek Tiwari
Abhishek Tiwari am 2 Jul. 2022
Bearbeitet: Abhishek Tiwari am 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

Weitere Antworten (1)

Fatemeh Salar
Fatemeh Salar am 2 Jul. 2022
Thanks for your help!

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by