Owning Class: ode
Requires: MathScript RT Module
[t, y] = ode_radau5(fun, times, y0)
Legacy Name: radau5
Uses the RADAU 5 ODE solver to determine the y-values in an ODE system.
| Name | Description |
|---|---|
| fun | Specifies the name of the function that describes the ODE system. The function must have the following form: function dy = fun(times, y). fun is a string. |
| times | Specifies either the starting time and ending time for the time span, such as [0, 20], or the time points, such as 1:20. times must be strictly monotonic and is a real, double-precision vector. |
| y0 | Specifies the y-values at the starting time. y0 is a real, double-precision vector. |
| Name | Description |
|---|---|
| t | Returns the time values at which LabVIEW evaluates the y-values. t is a real, double-precision vector. |
| y | Returns the y-values LabVIEW approximates. y is a real, double-precision matrix. |
If you specify the starting and ending time for the time span in times, LabVIEW automatically adjusts the time step size throughout the calculation to ensure that the error per step remains at a given relative and absolute tolerance. If you specify the time points in times, LabVIEW also automatically adjusts the time step size to ensure a more accurate calculation. However, LabVIEW returns only the y-values at the time points you specify, and t equals times.
You can use the odepset function to set the relative and absolute tolerance as well as other parameters the MathScript ODE solver uses.
This function is not supported in the LabVIEW Run-Time Engine. Do not use this function in a stand-alone application or shared library.
% The lorenz function is defined by:
% function dy = lorenz(times, y)
% dy = zeros(3, 1);
% dy(1) = 10*(y(2)-y(1));
% dy(2) = 28*y(1)-y(2)-y(1)*y(3);
% dy(3) = y(1)*y(2)-8/3*y(3);
[t, y] = ode_radau5('lorenz', [0, 5], [1; 1; 1])