How To Prevent an Infinite Recursion?

error is cleared..

댓글 수: 3

Stephen23
Stephen23 2018년 12월 4일
"It refers to this part of the code: "f = @(t,x)" etc."
There is nothing similar to that in the code you have shown us.
"How can I fix this?"
Do not call a function within itself (directly or indirectly).
This line looks strange:
result = bilateralfilter_mex bilateralfilter_mex(I, hwsize, sscale, iscale);
Stephen23
Stephen23 2018년 12월 4일
@kamarthi vanitha: note that bilateralfilter.m is copyright code. Do you have permission to distribute it publicly?

댓글을 달려면 로그인하십시오.

답변 (2개)

Image Analyst
Image Analyst 2018년 12월 4일

0 개 추천

What are you passing in as input arguments?
We don't have the mex file, so we can't run it ourselves.
Set a breakpoint at the mex file call. Run these lines of code, either in the m-file before the mex file call, or at the command line when you stop at the breakpoint there.
whos I
whos hwsize
whos sscale
whos iscale
What do you see in the command window?
Seems like they cause the mex file to try to create a gigantic array.
Yap emmanuel
Yap emmanuel 2019년 1월 26일

0 개 추천

d_mx = 0;
idx = 0;
for a = 2:n-1
d = sqrt((x_np - Pts_in(1,2:n-1)).^2 + (y_np - Pts_in(2,2:n-1)).^2);
d_mx = max(d);
if d > d_mx;
idx = a;
d_mx = d;
end
end
k = length(d);
% % recursively call of the function
% for t = 1:k
if d_mx > epsilon
teil_1 = rdpa(Pts_in(:,1:idx),epsilon);
teil_2 = rdpa(Pts_in(:,idx:n-1),epsilon);
Pts_out = [teil_1(:,1:length(teil_1)-1) teil_2(:,1:length(teil_2))];
else
Pts_out = [Pts_in(:,1) Pts_in(:,n)];
end
end
For this code i receive the answer: Out of memory. The likely cause is
an infinite recursion within the
program.
Que faire s'il vous plait ca dure depuis un temps.

카테고리

도움말 센터File Exchange에서 MATLAB에 대해 자세히 알아보기

제품

릴리스

R2018a

질문:

2018년 12월 4일

답변:

2019년 1월 26일

Community Treasure Hunt

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

Start Hunting!

Translated by