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

15 views (last 30 days)
A Achbak on 21 Jul 2020
Answered: Fangjun Jiang on 21 Jul 2020
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 CommentShowHide None
waqas on 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.

Fangjun Jiang on 21 Jul 2020
If none of those conditions are met, you end up with z not assigned.
give z a default value at the begining.

R2016b

### Community Treasure Hunt

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

Start Hunting!