Computing values of a formula

조회 수: 1 (최근 30일)
Fatemeh Salar
Fatemeh Salar 2022년 7월 2일
답변: Fatemeh Salar 2022년 7월 2일
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

채택된 답변

Abhishek Tiwari
Abhishek Tiwari 2022년 7월 2일
편집: Abhishek Tiwari 2022년 7월 2일
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

추가 답변 (1개)

Fatemeh Salar
Fatemeh Salar 2022년 7월 2일
Thanks for your help!

카테고리

Help CenterFile Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by