如何在matlab中直接创建逻辑矩阵

nos*_*nos 22 matlab matrix

我到目前为止一直在使用

 a = logical(zeros(10,10))
Run Code Online (Sandbox Code Playgroud)

创建逻辑矩阵.

有没有办法直接创建它?

Rod*_*uis 8

在Matlab中,有一些"常量"实际上是矩阵生成命令.他们是:

true(10);   true(n,m,k,..);   % for an all-true  10-by-10 or n-by-m-by-k-by-...matrix
false(10);  false(n,m,k,..);  % for an all-false 10-by-10 or n-by-m-by-k-by-...matrix
inf(10);    inf(n,m,k,..);    % for an all-inf   10-by-10 or n-by-m-by-k-by-...matrix
nan(10);    nan(n,m,k,..);    % for an all-nan   10-by-10 or n-by-m-by-k-by-...matrix
Run Code Online (Sandbox Code Playgroud)

'常量'形式基本上只是别名:

a = inf;   % alias for a = inf(1);
b = true;  % alias for b = true(1);
Run Code Online (Sandbox Code Playgroud)

此外,还有一些不能重复的事情:

rand(10);  rand(n,m,k,..);    % for an all-random 10-by-10 or n-by-m-by-k-by-...matrix
zeros(10); zeros(n,m,k,..);   % for an all-zero   10-by-10 or n-by-m-by-k-by-...matrix
zeros(n,m,k,...,'uint8');     % for an all-zero   n-by-m-by-k-by-...matrix of type uint8
ones(10); zeros(n,m,k,..);    % for an all-one    10-by-10 or n-by-m-by-k-by-...matrix
ones(n,m,k,...,'uint8');      % for an all-one    n-by-m-by-k-by-...matrix of type uint8
eye(10); eye(n,m,'uint8');    % for an identity matrix of type uint8 of 10-by-10 or n-by-m
Run Code Online (Sandbox Code Playgroud)