## How does Matlab divide two row vectors by each other to get a scalar?

### Osama Tabbakh (view profile)

on 16 Oct 2019 at 10:23
Latest activity Commented on by Star Strider

### Star Strider (view profile)

on 17 Oct 2019 at 14:17

### Star Strider (view profile)

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?

Show 1 older comment

on 16 Oct 2019 at 11:03
doc mrdivide
explains that B/A is solving a set of linear equations x*A = B for x.
Clearly you can't expect to multiply A by any scalar and get B as the result. That is trivially obvious!
Stephen Cobeldick

### Stephen Cobeldick (view profile)

on 16 Oct 2019 at 11:08
"It should be got B again"
Can you show us the system of equations for which this statement is true?
Osama Tabbakh

### Osama Tabbakh (view profile)

on 16 Oct 2019 at 13:24
I was just an example for understanding how calculate matlab this scalar 0.4137 and why it is scalar.

### Release

R2019b ### Star Strider (view profile)

on 16 Oct 2019 at 14:27

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]) Show 1 older comment
Star Strider

### Star Strider (view profile)

on 17 Oct 2019 at 11:56
As always, my pleasure.
Calculating the slope alone is straightforward (β is the slope parameter):  Set this equal to zero and solve to get:  If you want a more general solution, see the Wikipedia article on Linear least squares.
Osama Tabbakh

### Osama Tabbakh (view profile)

on 17 Oct 2019 at 13:28
Thanks!
Star Strider

### Star Strider (view profile)

on 17 Oct 2019 at 14:17
As always, my pleasure!