How can I make a differential matrics?

4 Ansichten (letzte 30 Tage)
som
som am 27 Dez. 2011
Hi all
I have three matrices which obtained from a series of caculations. these matrices are cumulative i.e. values of matrix 2 are equal to ' values of matrix 1 + other values'. also values of matrix 3 are equal to ' values of matrix 2 + other values'. I want to make two matrices including differences between matrices 3 and 2 as well as matrices 2 and 1.It is necessary that all elements of these two matrics are aqual to a single value. How can I write this program? Thanks

Akzeptierte Antwort

Andrei Bobrov
Andrei Bobrov am 27 Dez. 2011
1) A,B,C - your matrix
Mx = cat(3,A,B,C);
Out = diff(Mx,1,3);
a = unique(Out);
2) The inverse problem
A - the initial matrix;
b - a scalar, which add to each element of the matrix;
out = bsxfun(@plus,A,b*reshape(0:2,1,1,[]));
  2 Kommentare
som
som am 27 Dez. 2011
Hi andrei
Could you please explain your answer a bit more??
Thanks
Andrei Bobrov
Andrei Bobrov am 27 Dez. 2011
'Out' - two matrices including differences between matrices 1 and 2 as well as matrices 2 and 3;
a - value of elements of matrices 'Out'.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Creating and Concatenating Matrices 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