필터 지우기
필터 지우기

Output argument not assigned during call

조회 수: 8 (최근 30일)
Joe
Joe 2013년 4월 3일
I get this error message when I try to run a function that I created. I understand what this is saying, but when I look at my function, the output argument is already correctly defined within the function. So what else could be wrong?
Here is the function:
function y = linInt(xData,yData,x)
if x < xData(1) || x > xData(end)
error('values in x out of range')
else
for i = 1:x
y(i) = yData(i) + ((yData(i+1)-yData(i))*(x-xData(i))/(xData(i+1)-xData(i)));
end
end
end

채택된 답변

Walter Roberson
Walter Roberson 2013년 4월 3일
When the code executes, for some reason the statement that assigns a value to the output variable is not being reached. This can happen due to logic errors in how the code was written.
You could post the code for us to examine, or you could use the debugger to trace the flow of the code.
  댓글 수: 1
Walter Roberson
Walter Roberson 2013년 4월 3일
Your code
for i = 1:x
should be
for i = 1 : length(xData)
Remember, your provided x could be negative.

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

추가 답변 (1개)

Alexandra
Alexandra 2013년 4월 3일
You only assign an output value for y, if the else-branch is executed. You also need to assign a value for y for the if-branch. E.G.
if ...
y = [];
else
y = ...;
end

카테고리

Help CenterFile Exchange에서 Variables에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by