MATLAB: Subtracting Vector from a Matrix MATLABmatrixsubtractingvector I have the matrix a (8×1001) and b (1×1001) as in attached. a and b can change in size. How do I substract b from each row of a and put in a new matrix c? Thanks. Best Answer Matlab can subtract vectors from matrices automatically since R2016b - so called "auto expanding". Do you use an older version? Then:c = bsxfun(@minus, a, b) Related SolutionsMATLAB: Elemental matrix multiplication [NxN] and [1xn] into [NxNxn] a=rand(4,3)b=rand(1,6)[n,m]=size(a)p=numel(b);c=reshape(bsxfun(@times, repmat(a(:)',numel(b),1),b')',n,m,p) MATLAB: Exponentiation of Matrix Columns by different Powers repmat can be used to create a matrix bExp of the same size as A where the rows are repeated.bExp = repmat(b,size(A,1),1); % Expand b to be the size of A (assuming width are same)C = A.^bExp; Related QuestionHow to turn a data vector into a matrix of rows with the same vectorRepeat values in a matrixSpeed up Matrix multiplicationI want to create a matrix where each column is obtained by subtracting 1 from the previous column.How to avoid ‘two for loop’Have any command for copy variable without loop.
Best Answer