How to make a scatter table programmatically?

2 visualizaciones (últimos 30 días)
Ravindu Lokuliyana
Ravindu Lokuliyana el 20 de Dic. de 2018
Comentada: Ravindu Lokuliyana el 20 de Dic. de 2018
Hi there,
Hereby attached(.xml file) which is having two different parameter results (x and y).
I need to take those results into scatter table defining different ranges as mentioned in the Table 01.
How can I do that programmatically?
Your help is much appreciated.
BR,
Ravi

Respuesta aceptada

Guillaume
Guillaume el 20 de Dic. de 2018
There's no x value smaller than 0.5 in your inputs so it's unclear why you have a 10 in your first row of your table. I'm going to assume that your table is incorrect. There are more inconsistencies.
Your bin edges are also badly defined. What happens if x is 0.55, it's outside any of your bins. Same for y = 10.5. Normally you would define the end of bin 1 as x<0.5 and the start of bin2 as x>=0.5 (or x<=0.5 and x>0.5).
So, ignoring all these inconsistencies, use histcouns2 to compute the histogram:
xy = xlsread('Scatter table.xlsx', '3:4');
histcounts2(x(1, :), y(2, :), [0 0.5 1.0 1.5 Inf], [0 5 10 15 Inf], 'Normalization', 'probability') * 100
  4 comentarios
Guillaume
Guillaume el 20 de Dic. de 2018
Here is a cheap replacement of histcounts2 with the 'probability' normalisation:
xy = xlsread('Scatter table.xlsx', '3:4'); %or however you want to import the data
xbin = discretize(xy(1, :), [0, 0.5, 1, 1.5, Inf]); %or whichever bins you want for x
ybin = discretize(xy(2, :), [0, 5, 10, 15, Inf]); %or whichever bins you want for y
accumarray([xbin(:), ybin(:)], 1) / numel(xbin) * 100
Ravindu Lokuliyana
Ravindu Lokuliyana el 20 de Dic. de 2018
Thank you very much. This works perfectly. :)

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Logical en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by