Need a column vector from ode45, but I keep getting a struct

For some homework I'm trying to use ODE45 using a third-order chemical reaction equation.
k3 = 0.1;
tspan = 0:100;
C0 = 0.6;
dCadt = @(t,Ca) (-k3.*Ca.^3);
ode_solver = ode45(dCadt, tspan, C0); % ODE solver used in task 3, using the formula from Q1
this is the code I'm using, but I keep getting a struct and I can't extract any values from that. I would like to get a column vector, so I can calculate errors between different ODE solvers. Can anyone help me with this?

1 件のコメント

Casper Vermeulen
Casper Vermeulen 2022 年 1 月 5 日
cell2mat(struct2cell(ode_solver)) also doesn't seem to work for some reason.

サインインしてコメントする。

 採用された回答

KSSV
KSSV 2022 年 1 月 5 日

0 投票

Read about structures.
k3 = 0.1;
tspan = 0:100;
C0 = 0.6;
dCadt = @(t,Ca) (-k3.*Ca.^3);
ode_solver = ode45(dCadt, tspan, C0); % ODE solver used in task 3, using the formula from Q1
plot(ode_solver.x,ode_solver.y)

1 件のコメント

Torsten
Torsten 2022 年 1 月 5 日
Command
[T, Ca] = ode45(dCadt, tspan, C0);
should be easier to work with.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

製品

リリース

R2021b

タグ

質問済み:

2022 年 1 月 5 日

コメント済み:

2022 年 1 月 5 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by