within AIDAModelica; model ComputationChangeAngleVelocity "Computation ChangeAngle Velocity" // CP: 65001 // SimulationX Version: 3.8.2.45319 x64 Modelica.Blocks.Interfaces.RealInput DronAngularVelocities[3](quantity = "Mechanics.Rotation.RotVelocity", displayUnit = "rad/s") "'input Real' as connector" annotation( Placement(transformation(extent = {{-20, -20}, {20, 20}}), iconTransformation(extent = {{-95, 5}, {-55, 45}}))); Modelica.Blocks.Interfaces.RealInput Attitude[3](quantity = "Mechanics.Rotation.Angle", displayUnit = "rad") "'input Real' as connector" annotation( Placement(transformation(extent = {{-20, -20}, {20, 20}}), iconTransformation(origin = {-75, -25}, extent = {{-20, -20}, {20, 20}}))); Modelica.Blocks.Interfaces.RealOutput ChangeAngleVelocity[3](quantity = "Mechanics.Rotation.RotVelocity", displayUnit = "rad/s") "'output Real' as connector" annotation( Placement(transformation(extent = {{-10, -10}, {10, 10}}), iconTransformation(extent = {{61.7, -10}, {81.7, 10}}))); Real W[3, 3] "Matrix W"; equation // enter your equations here W[1, 1] = 1; W[1, 2] = tan(Attitude[2]) * sin(Attitude[1]); W[1, 3] = tan(Attitude[2]) * cos(Attitude[1]); W[2, 1] = 0; W[2, 2] = cos(Attitude[1]); W[2, 3] = -sin(Attitude[1]); W[3, 1] = 0; W[3, 2] = sin(Attitude[1]) / cos(Attitude[2]); W[3, 3] = cos(Attitude[1]) * cos(Attitude[2]); ChangeAngleVelocity = W * DronAngularVelocities; annotation( Icon(coordinateSystem(extent = {{-75, -75}, {75, 75}}, initialScale = 0.1), graphics = {Rectangle(fillColor = {255, 255, 255}, fillPattern = FillPattern.Solid, extent = {{-80, 76.7}, {76.7, -76.7}}), Text(origin = {-5, 1}, extent = {{-19, 7}, {19, -7}}, textString = "%name")})); end ComputationChangeAngleVelocity;