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

# Help me about looping in matlab

Asked by baby on 19 Jan 2013

hello all,,

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.

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)
```

## Products

No products are associated with this question.

Answer by Matt J on 19 Jan 2013

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

Matt J on 19 Jan 2013
``` [~,r]=sort(First+Second,'descend');
Rank(r)=1:a;```
baby on 19 Jan 2013

sorry,,

i don't understand with ur code above

can u explain me what's mean "First+Second" and 'Descend'?

Matt J on 19 Jan 2013

Explain "the total of the lowest score"