Two functions in the same file causing error: "Maximum recursion limit of 500 reached"
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
I have the following function file.
function y=myfun(x)
y=2*x;
if any(y<0)
positive(x);
y=myfun(x);
end
end
function x=positive(x)
y=myfun(x);
idx=find(y<0);
x(idx,1)=-x(idx,1);
% y=myfun(x);
end
I want to give a matrix for example x=[-2;2]; and calculate y=2*x; If the any of y is negative i would like to change the x such that y is always positive.
The problem is mostly due to control flow but I cannot solve it. Can you help me?
0 Kommentare
Antworten (1)
Iain
am 22 Mai 2013
The simplest answer is to set: y = 2 * abs(x);
If you do that, you don't need to recursively call the function.
0 Kommentare
Siehe auch
Kategorien
Mehr zu Geometric Transformation and Image Registration 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!