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 Comment

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

Sign in to comment.

 Accepted Answer

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 Comment

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

Sign in to comment.

More Answers (0)

Categories

Tags

Community Treasure Hunt

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

Start Hunting!