예를 들어 내가 가지고 있다면 :MATLAB에서 1과 0의 행렬을 작성
이어떻게
A = 5
B = randi([0 1], 5, 5)
나는 무작위로 하나의의 5 × 5 행렬을 만드는 것과 0 ' 행렬을 제한하여 A
의 값으로 1의 양만 가질 수 있습니까?이 경우 5 1입니까?
예를 들어 내가 가지고 있다면 :MATLAB에서 1과 0의 행렬을 작성
이어떻게
A = 5
B = randi([0 1], 5, 5)
나는 무작위로 하나의의 5 × 5 행렬을 만드는 것과 0 ' 행렬을 제한하여 A
의 값으로 1의 양만 가질 수 있습니까?이 경우 5 1입니까?
제로의 행렬, B는, 필요한 크기로 만든 후, B의 임의의 위치에 1 개
A = 5;
B = zeros(5,5);
B(randperm(numel(B),A)) = 1
출력 여기서
B =
0 1 0 0 0
0 0 0 0 0
0 0 0 0 1
1 0 1 0 1
0 0 0 0 0
로 변경하여 사용하는 다른 솔루션 datasample에서 @ RTL의 솔루션과 마찬가지로 먼저 0의 행렬을 만들고 주어진 수의 행을 추가합니다.
clc;
clear all;
A = 5;
B = zeros(5,5);
y = datasample(1:size(B,1)*size(B,2),A) % Randomly select 5 (i.e. A) linear indices which will be replaced by 1.
B(y) = 1
01 23,516,
Y =
12 17 1 22 14
B =
1 0 0 0 0
0 0 1 1 1
0 0 0 0 0
0 0 1 0 0
0 0 0 0 0