Output argument "variable" (and maybe others) not assigned during call to "function".

I'm new to MATLAB and have created a simple function. However, matlab shows me the following error: Output argument "val" (and maybe others) not assigned during call to "u".
Here is the code:
function val = f(n)
val = u(n) - u(n - 4);
end
Here is u(x):
function val = u(x)
if x < 0
val = 0;
end
if x == 0
val = 0.5;
end
if x > 1
val = 1;
end
end

댓글 수: 1

The possibility that x is non-scalar should also be considered. This code would be much improved by being written completely vectorized.

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

 채택된 답변

James Tursa
James Tursa 2018년 3월 30일
편집: James Tursa 2018년 3월 30일
Your code is calling a function named "u" and that function is not returning a value, so nothing gets assigned to val. What does the code for your "u" function look like? Or is "u" supposed to be a variable?
EDIT:
Your "u" function does not assign anything to the val output if the input x is between 0 and 1. So maybe you need to make that last test
if( x > 0 )

댓글 수: 1

Ahh, it was supposed to be x>0 only..Oops.. It solved my problem thanks a lot!

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

추가 답변 (0개)

카테고리

태그

질문:

2018년 3월 30일

댓글:

2018년 3월 30일

Community Treasure Hunt

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

Start Hunting!

Translated by