I am new to matlab and have a sample data(shown on pic) with many values inside. I need to multiply each values with its different conversion coefficient. How can I do that?

2 views (last 30 days)
CONV_COEFF = [0.0023394775; 0.0030514578; 0.0023394775; 0.0015258789; 0.0024414063; ...
0.0006103516; 0.0006103516; 0.0024414063; 0.0006103516; 0.0006103516; ...
0.0024414063; 0.0006103516; 0.0006103516; 0.0020345052; 0.0020345052; ...
1; 1; 0.0006103516; 0.00390625; 0.00390625; 0.00390625; 0.00390625; ...
1; 1; 1; 1; 1; 1; 0.00390625; 0.00390625; 0.00390625; 0.00390625; 0.00390625; ...
0.00390625; 0.00390625; 0.00390625; 1];
So for example, the value at 1 will need to multiply by 0.0023394775, value at 2 needs to mulitply by 0.0030514578, and so for.
I need to code to read this data from serial port and with the values I need to multiply each with its respective conversion coefficient. I need to run 100 samples.
Please help. :)

Answers (1)

Sudhakar Shinde
Sudhakar Shinde on 6 Oct 2020
Edited: Sudhakar Shinde on 6 Oct 2020
You could use 'serialport' and 'read' functions to read data from serial port.
for more info:
%Example reading 16 values
s = serialport("COM3",9600,"Timeout",5);
data = read(s,16,"uint32");
%Then use dot multiplication:
data.*CONV_COEFF
  2 Comments
Wei Wei Gan
Wei Wei Gan on 6 Oct 2020
But i need to get 100 samples of that as the data inside will keep changing so do i just use loop? By the way how do u get "16,"uint32"
Wei Wei Gan
Wei Wei Gan on 6 Oct 2020
I also have a question. Why do i have missing data when I fscanf(s) the serial port? some times it reflect the values from 1-5 and sometimes 11-20.
s=serial('COM23','BaudRate',57600);
fopen(s);
fscanf(s)
fclose(s);
However, when I use the following code, it reflect all the values from 1-25 and 48.
s=serial('COM23','BaudRate',57600,'TimeOut',10,'Terminator','LF');
fopen(s);
received=fgets(s);
fscanf(s)
fclose(s);

Sign in to comment.

Categories

Find more on Variables in Help Center and File Exchange

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!