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 Kommentar

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

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

James Tursa
James Tursa am 30 Mär. 2018
Bearbeitet: James Tursa am 30 Mär. 2018
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 Kommentar

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by