## vectors to scalars with an Embedded Matlab Function

### Owen (view profile)

on 15 Nov 2012
Accepted Answer by Kaustubha Govind

### Kaustubha Govind (view profile)

Hello,

can anyone show me how to convert a 10x1 vector into 10 scalars with an Embedded Matlab Function?

I just don't know how to upsample the incoming vector, that is, the sample frequency at the output must be 10 times greater than at the input.

Thanks Senmeis

### Kaustubha Govind (view profile)

Answer by Kaustubha Govind

### Kaustubha Govind (view profile)

on 15 Nov 2012

Are you attempting to use the Embedded MATLAB Function block to perform upsampling? If so, I don't think that is possible, because the Embedded MATLAB Function block runs at an "inherited" sample-time, which means that the output must have the same sample rate as the input. It looks like what you really need is an Unbuffer block.

Owen

### Owen (view profile)

on 15 Nov 2012

What about Level-2 S Function?

Senmeis

Kaustubha Govind

### Kaustubha Govind (view profile)

on 15 Nov 2012

Sure, you have a lot of flexibility with S-functions, so you should be able to use them too.

### Azzi Abdelmalek (view profile)

Answer by Azzi Abdelmalek

### Azzi Abdelmalek (view profile)

on 16 Nov 2012
Edited by Azzi Abdelmalek

### Azzi Abdelmalek (view profile)

on 16 Nov 2012

You can use a Demux block from Simulink/Signal Routing. At the output of Demux you will have 10 scalar at the same time. If you want them one after one, add an Index Vector block.

look at the use of Index Vector at http://www.mathworks.com/matlabcentral/answers/53615-how-can-i-convert-a-raw-matrix-into-a-sequence-of-digits

Owen

### Owen (view profile)

on 19 Nov 2012

I've tried Demux block and I'm afraid it cannot be used with variable-sized data.

Senmeis

Azzi Abdelmalek

### Azzi Abdelmalek (view profile)

on 19 Nov 2012

Ah, I did'nt understand, I confused with variable step size. Then try Kaustubha's suggestion, you will need a communication system toolbox

Kaustubha Govind

### Kaustubha Govind (view profile)

on 19 Nov 2012

Azzi: I didn't recommend Demux block originally because Owen wants to effectively "upsample" (or Unbuffer) the signal.

### Owen (view profile)

on 21 Nov 2012

I've made it with an Embedded Matlab Function. For the sample time for each element I use the Repeating Sequence Stair block. Thank you anyway.

Senmeis