Store midpoint of all the squares inside the square of width 1cm.
    8 ビュー (過去 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 で Boundary Conditions についてさらに検索
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


