Why is 1/ones(3,1) OK while 1/ones(1,3) is not OK?
2 Ansichten (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
Kategorien
Mehr zu Signal Analysis finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!