Filter löschen
Filter löschen

how i subtract a vector( 1*n-dim ) from columns of a matrix (n*n-dim) without uses for , end and orders likes these?

1 Ansicht (letzte 30 Tage)
i wish subtract a vector from columns of a matrix while my code is not great. example: a =
1 3
4 2
>> a-[1 2]= 0 1 3 0

Akzeptierte Antwort

Stephen23
Stephen23 am 24 Apr. 2015
Bearbeitet: Stephen23 am 24 Apr. 2015
Use bsxfun for this:
>> A = [1, 3; 4, 2]
A =
1 3
4 2
>> B = [1, 2]
B =
1 2
>> bsxfun(@minus, A, B)
ans =
0 1
3 0
bsxfun expands any scalar dimensions to make the input variables the same size, then performs the specified operation. It is also much more efficient than using repmat.

Weitere Antworten (1)

Joseph Cheng
Joseph Cheng am 24 Apr. 2015
Look at the function repmat() to tile the vector to perform the matrix subtraction.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by