matrix vector substraction

z=[1,2,3,4,5,6,7,8;4,5,6,7,8,9,0,1;1,2,3,4,5,6,7,8;10,11,12,13,0,0,0,0];
y=[1,2,3,4];
how can i find z-y without loops thanks.

 Akzeptierte Antwort

Sean de Wolski
Sean de Wolski am 11 Okt. 2011

0 Stimmen

M = bsxfun(@minus,z,y')
assuming you want each row of y transpose (or column of y as it is) subtracted from each row of z. Otherwise you'll have to define how you want the subtraction to works since z/y are different sizes.

Weitere Antworten (2)

Amey
Amey am 11 Okt. 2011

0 Stimmen

To do matrix subtraction, dimensions of both the matrices should be same. Here its not the case. Matrix z is 4*8 while matrix y is 1*4
osman
osman am 11 Okt. 2011

0 Stimmen

i want each row of y subtracted from each row of z.

1 Kommentar

Sean de Wolski
Sean de Wolski am 11 Okt. 2011
each column of y as it is, i.e. each row of y-transpose? See my answer.

Melden Sie sich an, um zu kommentieren.

Kategorien

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by