Either of these will work:
>> A = {rand(2, 2), ones(1, 2)}
>> B = {rand(2, 2), [3, 4]}
>> cellfun(@(a,b) 3*a + 4*b, A, B, 'UniformOutput',false)
ans =
[2x2 double] [1x2 double]
>> arrayfun(@(a,b) {3*a{:} + 4*b{:}}, A, B)
ans =
[2x2 double] [1x2 double]
Whether or not this is faster or more readable than a loop is another question. Hope this helps.