Asked by baby
on 19 Jan 2013

hello all,,

please help me to solving my problems,,

i've some problem in matlab's code especially in looping

my example like this ,,

i've two examples of data

First | Second

8 | 9

7 | 8

New data : (6 6)

and then i wanna insert that data into a formula and that data would be like this

x = (First Data - New Data(1))² + (Second Data - New Data(2))²

Example :

x1 = (8 - 6)² + (9 - 6)²;

x2 = (7 - 6)² + (8 - 6)²;

but i'm so confused about looping in matlab.

I don't know how to convert that formula into matlab's code.

Can someone help me please?

this is my code

%----------I N P U T----------------------

a= input ('Input Number of Data :');

for c=1:a

int2 = ['Input The First Score - ',num2str(c),' :'];

int3 = ['Input The Second Score - ',num2str(c),' :'];

b{c,1} = input(int2);

b{c,2} = input(int3);

end;

d = cell2mat(b);

for i=1:c

for j=1:2

x(i,j)=??????????????

end

end

disp(x)

Please help me :'(

*No products are associated with this question.*

Answer by Matt J
on 19 Jan 2013

Accepted answer

No need to use cells for b, and you should pre-allocate it as well:

b=zeros(a,2); %pre-allocate!!

for c=1:a int2 = ['Input The First Score - ',num2str(c),' :']; int3 = ['Input The Second Score - ',num2str(c),' :']; b(c,1) = input(int2); b(c,2) = input(int3); end;

There's also no need to use a loop to compute x. You can do it in one line as follows

x = ( b(:,1) - NewData(1)).^2 + (b(:,2) - NewData(2)).^2;

Opportunities for recent engineering grads.

## 0 Comments