Store midpoint of all the squares inside the square of width 1cm.
조회 수: 3 (최근 30일)
이전 댓글 표시
There is a square of width 1cm.Discretize it in n squares and find the midpoint of all the square.Plot it
Donot use any pde tools or inbuilt function.
댓글 수: 3
답변 (1개)
Aditya
2022년 11월 29일
Hi,
I understand that you are trying to divide a square of side 1 into n squares and find mid points of all these smaller squares.
A basic approach is to divide the larger square into rows and columns and proceed as follows:
- The number of squares in each column/row is sqrt(n) (=4 in above figure).
- The side of a smaller square is of length 1/sqrt(n) (=0.25 in above figure).
- Find the mid-point of first square (0.25/2, 0.25/2) and keep incrementing by side of square (0.25) to get mid points along an axis.
- Once, we have mid points along a side, we can use meshgrid to generate all points.
Here is a simple function that does that:
function discretize_square(n)
% n has to be a perfect square.
assert(mod(sqrt(n), 1) == 0, "n not a perfect square");
side_divs = sqrt(n);
delta = 1/side_divs;
midpts = delta/2: delta:1;
[x,y]= meshgrid(midpts, midpts);
scatter(x,y);
xlim([0, 1]);
ylim([0,1]);
end
A few points for above code:
- This will work only is n is a perfect square.
- Notice the colon operator for creating array of mid points along a side.
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 General PDEs에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!