How To Prevent an Infinite Recursion?

error is cleared..

3 Kommentare

Stephen23
Stephen23 am 4 Dez. 2018
"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 am 4 Dez. 2018
@kamarthi vanitha: note that bilateralfilter.m is copyright code. Do you have permission to distribute it publicly?

Melden Sie sich an, um zu kommentieren.

Antworten (2)

Image Analyst
Image Analyst am 4 Dez. 2018

0 Stimmen

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 am 26 Jan. 2019

0 Stimmen

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.

Kategorien

Mehr zu MATLAB finden Sie in Hilfe-Center und File Exchange

Produkte

Version

R2018a

Gefragt:

am 4 Dez. 2018

Beantwortet:

am 26 Jan. 2019

Community Treasure Hunt

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

Start Hunting!

Translated by