What is the role of [] in ode?
조회 수: 7 (최근 30일)
이전 댓글 표시
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
Stephen23
2022년 4월 6일
편집: Stephen23
2022년 5월 4일
"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.
답변 (1개)
Sam Chak
2022년 4월 4일
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
Walter Roberson
2022년 4월 11일
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));
참고 항목
카테고리
Help Center 및 File Exchange에서 Ordinary Differential Equations에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

