I generate some points with latin hypercube sampling and also by for loop I tried to separate out(i,j) to 4 kinds for plotting .but it only plots like below picture.
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
sogol bandekian
el 19 de Mayo de 2022
Comentada: sogol bandekian
el 22 de Mayo de 2022
rng default
LHsampling=lhsdesign(100,5,"criterion","correlation","smooth","off"); %criterion','correlation' give "equal distribution".
for i=1:size(LHsampling,1)
for j=1:size(LHsampling,2)
out(i,j)=(LHsampling(i,j)*2+12*LHsampling(i,j)^2)^3;
if out(i,j)>5
scatter(size(LHsampling,1),out(i,j),'s','r');
hold on;
elseif out(i,j)>50
scatter(size(LHsampling,1),out(i,j),'o','b');
hold on
elseif out(i,j)>100
scatter(size(LHsampling,1),out(i,j),'m','*');
hold on
else
scatter(size(LHsampling,1),out(i,j),'x','g ');
end
end
2 comentarios
Torsten
el 20 de Mayo de 2022
Although I'm not Star Strider I can tell you that "out" has only 1 column, thus out(:,2) does not exist.
Respuesta aceptada
Walter Roberson
el 21 de Mayo de 2022
if out(i,j)>5
scatter(size(LHsampling,1),out(i,j),'s','r');
hold on;
elseif out(i,j)>50
Under what circumstances can out>5 fail but then out>50 succeeds?
Why do you use the number of rows (size) as the x coordinates?
You scatter() once for each point. That is very inefficient.
I recommend that you calculate out once before the loop using vectorized calculations. Then use logical indexing to select all of points in a color range and scatter() all of them at the same time.
4 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Particle & Nuclear Physics en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!