Asked by Josep
on 22 Aug 2014

I would like to know why I am obtaining as a result in this code, a matrix (15x1) and not a number. I am computing a test statistics equation that involves matrices products, so I am multiplying this matrix sizes:

((1x15)*(15x15)*(15x1))X((1x15)*(15x15)*(15x1))^2

I guess I am supposed to achieve a number, from this matrices products, but as I have said, MATLAB returns me as a solution of this equation a 15x1 matrix. Otherwise, at the end I have put the command size(T), to know the matrix size of T, and it returns me that is a 1x1 matrix (a number). Does anybody know why this two things doesn't match?

Following, here is my MATLAB code attached if you want to take a look at it

*No products are associated with this question.*

Answer by Star Strider
on 22 Aug 2014

Accepted answer

It is difficult to read your code and I can’t run it. I ran a simulation of the matrix operation you describe, and got a scalar result as expected.

I suggest you check the sizes of the matrices in your equation. One of your vectors may actually be a matrix.

Show 6 older comments

Star Strider
on 22 Aug 2014

It makes the code simpler and faster to divide scalars using `‘/’` than `inv`.

I avoid `inv` where possible because the `‘\’` operator is a much more efficient and computationally stable method of multiplying by `inv`, although sometimes it is unavoidable. Here, `inv` on the first term (a scalar) is the the same as `1/(Fk(:,j)'*inv(V)*Fk(:,j))`, so it makes sense to compute it as a scalar.

Josep
on 22 Aug 2014

Nice!

Thanks Star Strider one more time

Star Strider
on 22 Aug 2014

My pleasure!

Related Content

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn moreOpportunities for recent engineering grads.

Apply Today
## 1 Comment

## Image Analyst (view profile)

Direct link to this comment:http://www.mathworks.com/matlabcentral/answers/151949#comment_233120

The attached code also requires .xlsx workbooks, which were not attached. Attach the workbooks if you want us to try the code.