MATLAB: How does Matlab divide two row vectors by each other to get a scalar

divideMATLABrowscalarvectors

Let's consider, A is a vector like shown:
A = [20 30 40];
and B is also a vector:
B = [5 10 20];
when you want to execute this operation:
C = B/A;
then you will get a scalar: 0.4137
if you want to check this answer by doing this:
C.*A
It should be got B again but you will get this vector instead:
ans =
8.2759 12.4138 16.5517
Could somebody explain what's going on?

Best Answer

To expand slightly on that, ā€˜Cā€™ is the least-squares estimate of the slope of with the y-intercept forced through the origin:
figure
plot(A,B,'p', A,C*A,'-r', [0 A(1)],C*[0 A(1)],':k')
axis([0 45 0 25])