Clear Filters
Clear Filters

How to implement a simulink model to perform Matrix multiplication ?

10 views (last 30 days)
A =
8 1 6
3 5 7
4 9 2
>> B=magic(3)
B =
8 1 6
3 5 7
4 9 2
>> C=A*B
C =
91 67 67
67 91 67
67 67 91
How to model this.

Answers (2)

Christopher Berry
Christopher Berry on 7 Aug 2014
Matrix multiplication in Simulink is almost as easy as it is in MATLAB itself. See the block diagram below:
Select a Constant block for your matrix and use magic(3) as the "Constant Value". Then, select a Product bock to perform the multiplication. This Product block performs both element multiplication .* as well as matrix * multiplication, so you will have to select which one you would like from the "Multiplication" drop down inside the block parameters.
Then, use the To Workspace block to output your result to the Workspace so you can check it.
Just note that unlike MATLAB, Simulink always has a built notion of time, so this setup will calculate C = A*A at every timestep, so select an appropriate step size/simulation time to avoid wasted computations!
  1 Comment
Satheesh Appukuttan
Satheesh Appukuttan on 10 Dec 2019
Similar to this question. I would like to perform a element wise multiplication 2 matrices. for example
say I have MxN and Nx1 matrix. I would like to implement using one product block by shifting input data. that way I will be using only one multiplier. How do I shift the data in simulink,so that element wise multiplication can be done by single product block with 2 scalar inputs.
For eg: [ 2 3 ] [ 1 = 2+6

Sign in to comment.

SAGAR SONI on 23 Oct 2018
how to done inverse kinematics for 5 dof robotic manipulator in simulink? please provide any suggestion and information or any material please


Find more on Get Started with Simulink in Help Center and File Exchange


Community Treasure Hunt

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

Start Hunting!