How can I plot the graph for this function?
古いコメントを表示
f(x)=symsum(2^(-m*x)*(gamma(m*x+j-1+1)/gamma(m*x-1+1))*h(j/m),j.0.Inf)
where h(j/m)=(j/m)^2+1, m=100.

Please help me out.

5 件のコメント
Dyuman Joshi
2022 年 6 月 7 日
Are you sure it's gamma and not square root?
Gufran Malik
2022 年 6 月 8 日
Dyuman Joshi
2022 年 6 月 8 日
The code for the sum is as follows. Though, in this form, it takes to much time to compute.
If you analyse it on pen-paper you might get an reduced form which is easier/faster to compute.
syms x j
m=100;
2^(-m*x)*symsum(gamma(m*x+j)*((j/m)^2+1)/(gamma(m*x)*2^j*factorial(j)),j,0,Inf)
Gufran Malik
2022 年 6 月 10 日
Dyuman Joshi
2022 年 6 月 11 日
It worked on my pc without any errors, but it took an eternity to run :')
(i3-5th gen, 8 gb ddr3 ram)

採用された回答
その他の回答 (1 件)
Gufran Malik
2022 年 8 月 17 日
0 投票
4 件のコメント
You woiuld need a fixed value for m in order to plot that, unless you wanted to plot a surface with a range of m values.
It simplifies surprisingly far
syms h(x)
syms j m s x positive
h(x) = x^2 + 1
inner(j) = int(h(s), s, j/m, (j+1)/m)
outer = symsum( gamma(m*x + j) / (gamma(m*x) * 2^j * factorial(j)) * inner(j), j, 0, inf)
f(x) = outer / 2^(m*x)
fs(x) = simplify(f(x))
m = 100;
H = @(lb,ub) (1/3*ub^3+ub) - (1/3*lb^3+lb);
x = 0:0.01:10.0;
tol = 1e-16;
Lm = zeros(size(x));
for i = 1:numel(x)
Lm(i) = fun_Lm(m,H,x(i),tol);
end
Lm_Walter_Roberson = (9*m*x+1+3*m^2+3*(m*x).^2)/(3*m^3);
plot(x,[Lm;Lm_Walter_Roberson])
function value = fun_Lm(m,H,x,tol)
value = 0.0;
error = Inf;
j = 0;
summand = H(0/m,1/m);
while error > tol
value = value + summand;
error = abs(summand);
summand = summand * (m*x+j) * 1/2 * 1/(j+1) * H((j+1)/m,(j+2)/m)/H(j/m,(j+1)/m);
j = j + 1;
end
value = value/2^(m*x) ;
end
Gufran Malik
2022 年 8 月 21 日
Gufran Malik
2022 年 8 月 21 日
カテゴリ
ヘルプ センター および File Exchange で Symbolic Variables, Expressions, Functions, and Settings についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!







