2x2 matrix multiplied by a 2x1 column vector gives erratic results

51 Ansichten (letzte 30 Tage)
Timothy Goldsmith
Timothy Goldsmith am 6 Jun. 2016
Kommentiert: Stephen23 am 7 Jun. 2016
For example: A=[3,-2;2,-2] times v=[1;-1] works, but fails if A=[1,2;3,4]. The problem seems to be that in Matlab matrix multiplication the elements in row A are multiplied by the corresponding columns in B. Here B has only one column, and needs that the column elements in A be multiplied by the corresponding row elements in B. I have circumvented this problem by writing a function that does the latter, but as the need is for applying a vector to a transformation matrix, I am surprised to discover that the standard matrix multiplication algorithm cannot be relied upon. When it fails it takes A=[a1,b1;a2,b2] and computes v1a1+v2b1;v1a2+v2b2] instead of v1(a1+a2);v2(b1+b2). Is there away around this problem other than my function?
  3 Kommentare
Stephen23
Stephen23 am 7 Jun. 2016
Bearbeitet: Stephen23 am 7 Jun. 2016
"doing the correct calculation" is an interesting definition of "fail": MATLAB correctly returns the mathematically universal matrix product. How is this very basic mathematical operation either "erratic" or a "fail" ?

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Moe_2015
Moe_2015 am 6 Jun. 2016
Bearbeitet: Moe_2015 am 6 Jun. 2016
That is not how matrix multiplication works at all. For a matrix and a vector:
A= [1 2 v= [1
3 4] -1]
A*v= [1*1+2*(-1)
3*1+4*(-1)]
MATLAB does not fail. It does it correctly.
Please review matrix multiplication:
  4 Kommentare
Stephen23
Stephen23 am 7 Jun. 2016
@Timothy Goldsmith: please give us complete examples of when "I find that A*v sometimes gives me the answer I want, and sometimes it gives the 'correct' answer". We need to see complete working examples of this, i.e. the input and output matrices, and the actual and expected output matrices.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Multidimensional Arrays 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!

Translated by