필터 지우기
필터 지우기

Two functions in the same file causing error: "Maximum recursion limit of 500 reached"

조회 수: 1 (최근 30일)
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?

답변 (1개)

Iain
Iain 2013년 5월 22일
The simplest answer is to set: y = 2 * abs(x);
If you do that, you don't need to recursively call the function.

카테고리

Help CenterFile Exchange에서 Geometric Transformation and Image Registration에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by