What is the role of [] in ode?
2 views (last 30 days)
Show older comments
Example1)
[t x] = ode45(@fun, tspan, c0,...)
I'm not sure what exactly is [t x] above. As I understand it, does ode represent t,x in [] by unpacking it? Is it exactly solving for x for t?
Example2)
[t x] = ode45(@fun,tspan,c0,...)
[t y] = ode45(@fun,tspan, c0,...)
Does having two odes as above mean solving for x and y? If a function is a function related to x and y (z=x+y), does ode represent the x and y values for t?
1 Comment
Stephen23
on 6 Apr 2022
Edited: Stephen23
on 4 May 2022
"I'm not sure what exactly is [t x] above."
How to call functions with multiple output arguments:
"As I understand it, does ode represent t,x in [] by unpacking it?"
No, MATLAB does not have any concept of output "unpacking". MATLAB functions can return multple outputs: in the example you show, the function ODE45 two outputs. The names of the variables assigned to those outputs are irrelevant.
Answers (1)
Sam Chak
on 4 Apr 2022
Hi @채원 이
If the system is
,
then you can solve the ODEs as follows:
kp = 1;
kd = 2;
F = @(t, x) [x(2); ...
- kp*x(1) - kd*x(2)];
[t, x] = ode45(F, [0 10], [1, 0]);
plot(t, x)
The solver assigns the solution in the time-vector, t and the array.
11 Comments
Walter Roberson
on 11 Apr 2022
Change
dydt(1) = D.*d2Cdz2(i) - u*dCdz(i) + F*(-y(1)-y(2));
to
dydt(i) = D.*d2Cdz2(i) - u*dCdz(i) + F*(-y(i-1)-y(i));
See Also
Categories
Find more on Ordinary Differential Equations in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!