如果我有三列和六行的矩阵,列表示圆心的{x,y}坐标,第三列是表示绘图或不绘制中心的绘图的(z) 使用rand operater生成{z}为零或一 我想不要在{z}为零时绘制{x,y},但是1的数量必须总是大于3我怎么能这样做 我试过这个
limit=6;
for i=1:raw
xy(i,1)=round(rand*(limit));
xy(i,2)=round(rand*(limit));
xy(i,3)=round(rand)*1;
if((xy(i,3)==1)>=3)
if(xy(i,3)==0);
xy(i,1)=inf;
xy(i,2)=inf;
end
端 端
答案 0 :(得分:0)
而不是循环和随机触发器生成:
xy(ii,3)=round(rand);
你可以使用:
xy=round(rand(limit,3)); %% Create limit x 3 random matrix
Ones=[ones(3,1);zeros(limit-3,1)]; %% Create column vector of [1;1;1;0;...;0]
Indices=randperm(limit); %% Create random permutation of indices
xy(:,3)=Ones(Indices); %% Shuffle Ones vector by randomly and assign it to 3rd column assigned Indices
xy(find(xy(:,3)==0),1:2)=inf; %% Assign NaN value to rows where xy(ii,3)==0