Discover MakerZone

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

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

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}

3 Comments

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.

Internazionale

Products

No products are associated with this question.

1 Answer

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';

2 Comments

Internazionale on 4 Mar 2013

i don't understand sir, when i try and add to my program, matlab undefined function and error in variable out. would you give me example from make cell A and p, q randomly.

Andrei Bobrov on 4 Mar 2013

corrected

Andrei Bobrov

Contact us