solve differential equation with matrix

2 次查看(过去 30 天)
How can I solve the following differential equation with MATRIX?
where T is the unknown:
P is known (I know P4, P5 and P6):
R^-1=G is known (I know all its terms):
C is known (I know all its terms):

回答(1 个)

Bjorn Gustavsson
Bjorn Gustavsson 2020-7-17
Yes your system of ODEs are on the form (with singular mass-matrix, C) that ode23t and ode15s can handle, at least according to the help and documentation.
HTH
  4 个评论
Luigi Stragapede
Luigi Stragapede 2020-7-17
I tried to write:
function dTdt = fcn_dTdt(t,T,G,P,C) %I have put G (not R) and C
dTdt =C^(-1)*(P-G*T);
end
[t_out,T_out] = ode15s(fcn_dTdt(t,T,G,P,C),t, T0);
but I received this error:
Error: File: programma_totale_6nodi_1A.m Line: 504 Column: 5
Function definitions are not permitted in this context.
Maybe because this computation is inside a for loop.
Bjorn Gustavsson
Bjorn Gustavsson 2020-7-17
Start by looking at the odeexamples - that gui lets you run and inspect a good number of examples with different combinations of the ODE-integrators' capabilities. You can also look at the source code of them, which should illustrate how to write the code.
In this example you should save the first code-snippet to a .m-file with the name fcn_dTdt.m and then put the setup and ode15s call either in a script or on the command-line.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Ordinary Differential Equations 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by