Problem 231. Differential equations I
Given a function handle f an initial condition y0 and a final time tf, solve numerically the differential equation
dy/dt = f(y)
for the function y(t) between t=0 and t=tf. Give as a result res=y(tf).
Example:
f = @(x) -x; tf= 1; y0= 1;
=> y(tf) = 1/e = 0.367879441171442
Remarks: aim at a relative precision of around 1e-6. The function is analytic in the interval [0,1].
Solution Stats
Problem Comments
-
5 Comments
last test needs a fix
@Nikolaos Nikolaou: the reference solution provided by the author passes the test suite, as do many community solutions. Can you clarify your comment?
As Nikolaos mentioned, the last test needs a fix. The value of 'a' is not transferred into the function handle 'f', and 'a' is just a char (not a value) in 'f'.
The last test case is not broken. When you define an anonymous function that includes variables, those variables are stored along with the function and remain available to it. This is true also when handles to the anonymous function are passed around, or when the variables in question are cleared from memory. See https://www.mathworks.com/help/matlab/matlab_prog/anonymous-functions.html#f4-71621 .
I am completely lost while solving it, please someone guide me
Solution Comments
Show commentsProblem Recent Solvers134
Suggested Problems
-
13538 Solvers
-
Find state names that end with the letter A
1186 Solvers
-
Given an unsigned integer x, find the largest y by rearranging the bits in x
1850 Solvers
-
Make a random, non-repeating vector.
9686 Solvers
-
Mersenne Primes vs. All Primes
718 Solvers
More from this Author7
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!