tried
This commit is contained in:
1 parent
e7c5e46421
commit
bb5767833b
5 files changed
+45
No files matched your search
@@ -0,0 +1,28 @@
|
|||||||
|
function [T,Y]= forwardEuler (yprime, tspan,h,y0)
|
||||||
|
% function [T,Y]= forwardEuler (yprime, tspan,h,y0)
|
||||||
|
% Computes the numerical solution of an ODE using the forward Euler method.
|
||||||
|
% yprime: handle of function defining the ODE.
|
||||||
|
% tspan = [tmin tmax]: interval over which solution has to be computed
|
||||||
|
% h: time step
|
||||||
|
% y0: initial condition
|
||||||
|
% Output:
|
||||||
|
% T: sequence of time steps
|
||||||
|
% Y: values of y at each time step
|
||||||
|
|
||||||
|
% Initializing our interval with the first time value:
|
||||||
|
T(1) = tspan(1);
|
||||||
|
% Initializing our solution with the initial condition or guess:
|
||||||
|
Y(1) = y0;
|
||||||
|
|
||||||
|
% Initializing n:
|
||||||
|
n=1;
|
||||||
|
|
||||||
|
while T(n) < tspan(2)
|
||||||
|
% Advancing time by the input time step:
|
||||||
|
T(n+1) = T(n) + h;
|
||||||
|
% Evaluating the solution at the next time step:
|
||||||
|
Y(n+1) = Y(n) + h * yprime(T(n), Y(n));
|
||||||
|
% Incrementing n:
|
||||||
|
n=n+1;
|
||||||
|
end
|
||||||
|
end
|
||||||
Binary file not shown.
@@ -0,0 +1,13 @@
|
|||||||
|
%% Ex. 1: solve for min of x^3 e^-x.
|
||||||
|
options=optimset('Display','Iter','TolFun',1e-8);
|
||||||
|
f1 = @(x) x.^3 .* exp(-x)
|
||||||
|
[x, fv, e, o] = fminbnd(f1, 1, 5, options);
|
||||||
|
disp("its: " + o.iterations)
|
||||||
|
fplot(f1, [1 4])
|
||||||
|
|
||||||
|
%% Ex2: min of xy e(-(x2+y2))
|
||||||
|
|
||||||
|
f2 = @(xy) xy(1).*xy(2).*exp(-(xy(1).^2+xy(2).^2))
|
||||||
|
[x, fv, e, o] = fminsearch(f2, [1 -1], options);
|
||||||
|
disp("its: " + o.iterations)
|
||||||
|
fsurf(@(x, y)f2([x, y]), [-2 2 -2 2])
|
||||||
Binary file not shown.
@@ -0,0 +1,4 @@
|
|||||||
|
function yprime_val = yprime(t,y)
|
||||||
|
% ODE function for Exercise 5
|
||||||
|
yprime_val = t.^2 + y; %
|
||||||
|
end
|
||||||
Reference in new issue
Block a user