clear all
clc
% 生成網格點,然後轉換爲二維數組
mesh_point_numer = 10
left = -1;
rigth = 1;
mesh_step = 2.0/mesh_point_numer;
x = -1:mesh_step:1;
y = -1:mesh_step:1;
% 生成不帶邊界的網格點
[meshX,meshY] = meshgrid(x(2:1:end-1),y(2:1:end-1));
X_mesh = meshX(:); % 矩陣變向量
Y_mesh = meshY(:);
meshXY(1,:)=X_mesh';
meshXY(2,:)=Y_mesh';
plot(meshXY(1,:),meshXY(2,:),'*')
% 以下爲從meshXY中隨機的選取某些網格點,按由小到大的順序隨機選取
M = size(meshXY, 2);
sort_array = 1:M; %生成 1——100的遞增整型數組(由小到大的順序)
zeros_one_array = randi([0 1],1, M); %生成 100個 0-1 隨機數組
slide_array = sort_array.*zeros_one_array; % 隨機確定要選網格點的位置
mesh_sample = meshXY(:,slide_array~=0); % 列數上,不等於0的位置的元素選出來
% 以上程序生成的0-1數目不是固定的,如果生成固定數目的0,或者1,如下操作
k=30;%自己改
slides=randi([1,M], 1, M);
slides(randperm(M)<=k)=1;
mesh_slide = meshXY(:,slides==1);