MATLAB Matlab Function - Error using => horzcat

Click For Summary
The discussion centers around a MATLAB function designed to perform a rotation transformation in 3D space using a rotation matrix. The function, `rotatex`, is intended to rotate a given input vector `in` by a specified angle around the x-axis. However, an error occurs when the function is called with the argument `pi/4`, resulting in a dimension mismatch during matrix concatenation. The user has attempted various troubleshooting steps, including checking element counts, modifying the sine function, and trying different declaration methods, but the issue persists only within the function context. Other participants suggest that the problem may lie in the input vector `in` or in code not shown in the initial post, indicating that the error is likely related to how the input is structured or passed to the function.
mycroft
Messages
7
Reaction score
0
Code:
function out = rotatex(angle, in)
m=[1 0 0 0; 0 cos(angle) -sin(angle) 0; 0 sin(angle) cos(angle) 0; 0 0 0 1];
out = m*in;

And the call:

Code:
>> out = rotatex(in, pi/4);
? Error using ==> horzcat
CAT arguments dimensions are not consistent.

Error in ==> rotatex at 2
m=[1 0 0 0; 0 cos(angle) -sin(angle) 0; 0 sin(angle) cos(angle) 0; 0 0 0 1];

I've counted the elements, tested the declaration outside the function, and it works. I've removed the minus before the sin. I've declared the rows seperately and tried calling horzcat explicitly and as soon as the trig functions are included it throws a hissyfit..but only when it is called from within the function.

Help much appreciated. In the meantime I'll just head off on a murderous rampage...wanders off muttering expletives.
 
Physics news on Phys.org
The problem exists in the fact that you've not used the horzcat function anywhere in the codes you've shown. What is in in the function call? I tried the code using angles in the function call and got no problem. The problem should exist in the code you've not shown us.
 

Similar threads

  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 4 ·
Replies
4
Views
1K
  • · Replies 5 ·
Replies
5
Views
3K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 8 ·
Replies
8
Views
2K
  • · Replies 14 ·
Replies
14
Views
3K
  • · Replies 6 ·
Replies
6
Views
4K