Construct quarter circle of data in matrix
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Roel
el 16 de Mayo de 2018
Comentada: Roel
el 16 de Mayo de 2018
Hello everyone,
I have a 5000x1 vector P. I would like to make a 5000x5000 matrix where the values of P fill the matrix as if P is dragged clockwise, as shown below:

(As you can see my MS paint skills exceed my matlab skills.)
I don't know how to deal with the circular shape. I see how it is not possible to fit a perfect circle into a matrix, but an approximation will do. How would one go about making a good approximation of the desired matrix?
0 comentarios
Respuesta aceptada
sloppydisk
el 16 de Mayo de 2018
Editada: sloppydisk
el 16 de Mayo de 2018
I would do it like this:
n = 5000;
P = [randi(n, n, 1); zeros(n, 1)];
[X, Y] = meshgrid(1:n, flip(1:n));
r = round(sqrt(X.^2 + Y.^2));
A = reshape(P(r(:)), n, n);
First I wrote
A = arrayfun(@(x) P(x), r);
but that's stupidly slow of course.
Más respuestas (0)
Ver también
Categorías
Más información sobre Optics 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!