I want to perform certain matrix substraction using vectorization

1 vue (au cours des 30 derniers jours)
MSDataSpl1
MSDataSpl1 le 2 Août 2017
Commenté : MSDataSpl1 le 9 Août 2017
I have a mtrix say A = [2,5,7]' and another matrix B = [2,7,9]', now i want to subtract B from A in such a way like each element of B will get subtracted from all elements of A, like c = A - B then c should be like (Expected outcome) = [0 3 5, -5 -2 0, -7 -4 -2]
Its like each element of B will get deducted from all elements of A and result will be stored in row wise in new matrix row wise.I dont want to use any loops but only vectorization.
  1 commentaire
MSDataSpl1
MSDataSpl1 le 9 Août 2017
When i am using this for larger dataset it is causing memory error:
Error using bsxfun Out of memory. Type HELP MEMORY for your options.
Where,
StartTime = currTime(1:LenRxDiv-1);
Data1 = StartTime.';
Data1_s = bsxfun(@minus ,ActTimeStop,Data1);
Value of LenRxDiv is 359574
ActTimeStop is 114020 * 1

Connectez-vous pour commenter.

Réponse acceptée

Jan
Jan le 2 Août 2017
Modifié(e) : Jan le 2 Août 2017
A = [2,5,7] % Row vector
B = [2,7,9].' % Column vector
C = A - B % Since R2016b
C = bsxfun(@minus, A, B) % <= 2016a
  1 commentaire
MSDataSpl1
MSDataSpl1 le 2 Août 2017
Thanks for help Jam Simon, thats working as expected.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by