Integral of exponential matrix

10 views (last 30 days)
Federico Celi
Federico Celi on 19 Jun 2020
Commented: Vince Toonen on 11 Dec 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!

Answers (1)

Steven Lord
Steven Lord on 19 Jun 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 Comments
Federico Celi
Federico Celi on 19 Jun 2020
Brilliant, thank you!
Vince Toonen
Vince Toonen on 11 Dec 2022
Thanks you so much man, I had exactly the same question.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!