MATLAB: Matrix manipulation such as subtraction

cellmatrixsubtraction

Can I ask for some help regarding matrix manipulation? Here's what I'm after. Let's say for example I have two arrays:
A = [2 3 4 5]
B = [0 1 2 3 4 5 6 7 8 9]
The output that I want is a cell containing an answer like this:
C{1} = [2-0 3-0 4-0 5-0]
C{2} = [2-1 3-1 4-1 5-1]
.
.
.
C{10} = [2-9 3-9 4-9 5-9]

Best Answer

  • A = [2 3 4 5] ;
    B = [0 1 2 3 4 5 6 7 8 9];
    out=arrayfun(@(x) A-x,B,'un',0);
    celldisp(out)
    %or
    A = [2 3 4 5];
    B = [0 1 2 3 4 5 6 7 8 9];
    out1=bsxfun(@minus,A,B')
    out=num2cell(out1,2);
    celldisp(out)