Integral of exponential matrix

10 visualizzazioni (ultimi 30 giorni)
Federico Celi
Federico Celi il 19 Giu 2020
Commentato: Vince Toonen il 11 Dic 2022
I am looking into integrating a function of the form
where M is a square matrix. It can either be symbolic or not (t is given at the time of computation).
How should I set up the code? I am using expm to compute the exponent, but the integral gives me an error in the multiplication: Matrix dimensions must agree.
M = [1 2; 3 4];
tf = 1;
Qk=integral(@(t) expm(M.*t),0,tf);
I am aware that a similar question was asked here, but I still can't understand the issue.
Thank you!

Risposte (1)

Steven Lord
Steven Lord il 19 Giu 2020
Tell MATLAB your integrand doesn't return a vector the same size as the input but should be called with a scalar and will return an array.
Qk=integral(@(t) expm(M.*t),0,tf, 'ArrayValued', true);
  2 Commenti
Federico Celi
Federico Celi il 19 Giu 2020
Brilliant, thank you!
Vince Toonen
Vince Toonen il 11 Dic 2022
Thanks you so much man, I had exactly the same question.

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by