using a function to answer new questions

1 Ansicht (letzte 30 Tage)
jacob Mitch
jacob Mitch am 1 Okt. 2019
Kommentiert: jacob Mitch am 1 Okt. 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
answer=v
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

Akzeptierte Antwort

David Hill
David Hill am 1 Okt. 2019
function [N,answer] = Gss(n);
N=zeros(1,n+1);
answer=0;
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
answer=v;
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
answer=find(abs(diff(N))<5)+1;%this provides multiple answers if multiple differences are <5
  1 Kommentar
jacob Mitch
jacob Mitch am 1 Okt. 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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Line Plots finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by