using a function to answer new questions

2 views (last 30 days)
jacob Mitch on 1 Oct 2019
Commented: jacob Mitch on 1 Oct 2019
I have created
function y=Gss(n);
a=3; b=0.2; N(1)=0.2;
for v=2:n+1
N(v)=exp(-a*N(v-1)^2)+b;
end
y=N(v);
How would I use this code to calculate something like
if abs(N(v-1)-N(v))<5
else v=v+1 'till you get the desired v'
end
Do I create another script and call Gss(n) or how would I write it in the first function file. I think I would have to use a loop for the second code

David Hill on 1 Oct 2019
N=zeros(1,n+1);
a=3; b=0.2; N(1)=0.2;
for v=2:n+1
N(v)=exp(-a*N(v-1)^2)+b;
if abs(N(v-1)-N(v))<5
end
end
end
Or you could just wait to get array N back and then:
function N = Gss(n);
N=zeros(1,n+1);
a=3; b=0.2; N(1)=0.2;
for v=2:n+1
N(v)=exp(-a*N(v-1)^2)+b;
end
end
%once array N comes back
jacob Mitch on 1 Oct 2019
Hi Thanks David this really allows me to understand well, I just wanted to ask am I able to retain the first y=N(v) that I get from inputing n into Gss(n) value say answer1 and then proceed to calculate the second part as the smallest v such that abs(N(v) -N(v-1))<5 say answer2 whilst outputing each value of N(v) in the iteration.