出于好奇,如果我在MATLAB中键入这些行:
a = logical([12 0 1.2]);
b = boolean([12 0 1.2]);
Run Code Online (Sandbox Code Playgroud)
输出变量a和b相同(相同的值和类型).因此,boolean和之间有什么区别logical吗?
Eti*_*nne 14
快速浏览一下布尔函数可以很好地回答你的问题:
如果您输入:edit boolean在matlab控制台中,您将获得:
function y = boolean(x)
%BOOLEAN Creates a boolean vector.
% This function is typically used in Simulink parameter dialogs, such as
% the Constant block dialog. This function generates a logical vector,
% which is treated as a boolean value in Simulink. Now that logical is a
% MATLAB type, this function is essentially just an alias.
%
% Y = BOOLEAN(X) Converts the vector X into a boolean vector.
%
% Example:
% boolean([0 1 1]) returns [0 1 1]
%
% See also LOGICAL.
% Copyright 1990-2012 The MathWorks, Inc.
narginchk(1,1);
if ~isreal(x)
DAStudio.error('Simulink:utility:BooleanCannotBeComplex');
end
y = logical(x);
Run Code Online (Sandbox Code Playgroud)
如果查看此函数的最后一行,可以看到布尔函数调用逻辑函数.
logical是一个内置的MATLAB,boolean是一个Simulink函数.
输入的部分回报help boolean:
此函数通常用于Simulink参数对话框,例如常量块对话框.此函数生成一个逻辑向量,在Simulink中将其视为布尔值.既然逻辑是MATLAB类型,这个函数基本上只是一个别名.
如果edit boolean在命令行输入,您将看到它基本上只是调用logical输入.