Update: The problem seems to be with the Matlab Fcn or my code. I used a subsystem of simulink blocks to replace my Matlab Fcn block and it works just fine now. I'm still curious about what I did wrong with that part so any comment is appreciated. Thanks.
Matlab function can't reach 2nd element of the input.
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
When I try to run the simulink file shown below, I get the following error.
"Index expression out of bounds. Attempted to access element 2. The valid range is 1-1. More informationFunction '6DOF_Body/wb2Euler' (#29.69.70), line 5, column 13: "2" Launch diagnostic report."
However, the input signal is a 3 element vector. It's the output of 3 integrators joined with a mux. All the dimensions on the simulink file seems alright to me but I keep getting the same error. Why do you think that happens? Thank you for your answers. Here's the code and the simulink file:
function Euler_dot = wb2Euler(wb, Euler)
phi=Euler(1);
theta=Euler(2);
if (theta==pi/2)
theta=(pi/2)+0.001;
end
Rinv=[1 sin(phi)*tan(theta) cos(phi)*tan(theta);0 cos(phi) -sin(theta);0 -sin(phi)*sec(theta) cos(phi)*sec(theta)];
Euler_dot=Rinv*wb;
Respuestas (1)
Sulaymon Eshkabilov
el 24 de Jul. de 2021
In your simulink model, a mutiplication block (?) has to have matrix multiplication operation. The elementwise multiplication is by default that has to be changed to a matrix multiplication operation.
Ver también
Categorías
Más información sobre Sources en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!