How can i use If ... else loop inside function ?

Hi, i have a problem says :
Output argument ( and maybe others) not assigned during call to " g ". Here the function of g
%% Drichlet condition : u.n=g(x,y) in the boundary
function z= g(x,y,time)
if x==0
nx=-1
ny=0
z=exp(-time).*sin(pi*x).*sin(pi*y);
end
if x==1
nx=1
ny=0
z=exp(-time).*sin(pi*x).*sin(pi*y);
end
if y==0
nx=0
ny=-1
z=exp(-time).*sin(pi*x).*sin(pi*y);
end
if y==1
nx=0
ny=1
z=exp(-time).*sin(pi*x).*sin(pi*y);
end
end

1 comentario

waqas
waqas el 21 de Jul. de 2020
What is the input that you are giving for g? Seems like you are giving both x and y at the same time and the conditions are not satisfied for if loop.

Iniciar sesión para comentar.

 Respuesta aceptada

Fangjun Jiang
Fangjun Jiang el 21 de Jul. de 2020

0 votos

If none of those conditions are met, you end up with z not assigned.
give z a default value at the begining.

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Centro de ayuda y File Exchange.

Productos

Versión

R2016b

Preguntada:

el 21 de Jul. de 2020

Respondida:

el 21 de Jul. de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by