Why is 1/ones(3,1) OK while 1/ones(1,3) is not OK?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Yuki Koyama
am 19 Sep. 2019
Bearbeitet: David Goodmanson
am 20 Sep. 2019
When I tried the code
1/ones(1,3)
matlab said this is invalid because the dimension is not matched.
Then I tried the code
1/ones(3,1)
this returns the result
ans =
1 0 0
I don't know why the ans is like this.
1 Kommentar
Akzeptierte Antwort
David Goodmanson
am 19 Sep. 2019
Bearbeitet: David Goodmanson
am 20 Sep. 2019
Hi Yuki,
In the expression x = 1/ones(3,1) multiplying both sides on the right by ones(3,1) gives
x*ones(3,1) = 1.
The row vector x = [1 0 0] fills the bill, since
[1 0 0] x [1
1 = 1.
1]
Note that the answer is not unique, since
x = [0 1 0], x = [1/3 1/3 1/3] etc. all work just as well.
As to why ones(1,3) errors out, in that case you would have
x*ones(1,3) = 1.
If you review the rule for sizes of rows and columns in matrix multiplication, i.e. (mxn) x (nxq) = mxq, you will find that the eqn above does not work.
0 Kommentare
Weitere Antworten (0)
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!