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.

 採用された回答

Sean de Wolski
Sean de Wolski 2011 年 10 月 11 日

0 投票

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.

その他の回答 (2 件)

Amey
Amey 2011 年 10 月 11 日

0 投票

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 2011 年 10 月 11 日

0 投票

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

1 件のコメント

Sean de Wolski
Sean de Wolski 2011 年 10 月 11 日
each column of y as it is, i.e. each row of y-transpose? See my answer.

サインインしてコメントする。

カテゴリ

ヘルプ センター および File Exchange で Multidimensional Arrays についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by