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 Kommentar

waqas
waqas am 21 Jul. 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.

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Fangjun Jiang
Fangjun Jiang am 21 Jul. 2020

0 Stimmen

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

Weitere Antworten (0)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Hilfe-Center und File Exchange

Produkte

Version

R2016b

Community Treasure Hunt

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

Start Hunting!

Translated by