MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

# operation array in cell

Asked by Internazionale on 4 Mar 2013

i have a problem. i have a cell A. cell A have 13*13 blocks (A{1,1},A{1,2},..., A{13,13})and every blocks have 8*8 pixels. i have matrix p 169*1 and matrix q 169*1.

i want to process them to find value A' = A*p + q.

example, A'{1,1} = (A{1,1}*p(1,1))+q(1,1).

next A'{1,2} = (A{1,2}*p(1,2))+q(1,2) and finally until A'{13,13}

Walter Roberson on 4 Mar 2013

You cannot do that. p and q are 169*1 so p(1,2) and q(1,2) are indexing out of range since the largest defined second index for p and q is 1.

Internazionale on 4 Mar 2013

p and q have 169 value, each value will be use to find A'.

Internazionale on 4 Mar 2013

i have mini program, but p and q, i have decide just one value and a just 4*4 matrix.

a=rand(4,4);

p=2;

q=1;

for x=1:4

`    for y=1:4`
`        a'=a*p+q;`
`    end`

end

the different is A must 13*13 cell. p and q have 169 value because the A have 169 blocks.

## Products

No products are associated with this question.

Answer by Andrei Bobrov on 4 Mar 2013
Edited by Andrei Bobrov on 4 Mar 2013
```out = A';
for jj = 1:numel(out)
out{jj} = out{jj}*p(jj)+q(jj);
end
out = out';
```