小编Bab*_*bak的帖子

是否可以在MATLAB中强制使用输入参数数据类型?

我想确保用户定义的MATLAB函数(包含在m文件中)的输入参数是某种类型.我知道MATLAB会自动将数据类型分配给变量(根据某些人的喜好和其他人的沮丧),但我想知道在MATLAB中是否存在"严格数据类型"的选项,或者某种类型,尤其是用于用户定义函数的输入参数.

我在这两个网页上找到了MATLAB的"基本类"(数据类型)的有用解释:

http://www.mathworks.com/help/matlab/matlab_prog/fundamental-matlab-classes.html http://www.mathworks.com/help/matlab/data-types_data-types.html

但是,我一直无法找到严格数据类型问题的答案,特别是对于函数输入参数.我认为这将是一个非常基本的问题,已经在很多地方得到了回答,但经过广泛的搜索,我还没有找到一个确定的答案.现在,我已经使用is[TYPE]()函数手动检查数据类型并显示错误消息,如果它不符合,虽然这看起来很草率,我希望我能让MATLAB为我强制执行它.

下面是一个函数示例,其中我想指定输入参数数据类型.它驻留在strict_data_type_test.mMATLAB当前路径中调用的文件中.在这个函数中,我想强制变量yes_or_no是MATLAB的logical数据类型.我知道我可以使用该islogical()函数手动检查,但我的问题是,是否有可能让MATLAB为我强制执行.我也知道任何非零double计算结果为true,零计算结果为false,但是我想强制用户发送一个logical以确保错误的参数不会被意外发送,例如.这是示例函数:

function y = strict_data_type_test( x, yes_or_no )

    % manual data type check can go here, but manual check is not desirable

    if (yes_or_no)
        y = 2 .* x;
    else
        y = -5 .* x;
    end

end
Run Code Online (Sandbox Code Playgroud)

在输入参数变量名称之前添加数据类型(与大多数编程语言一样)将数据类型文本视为另一个变量名称而不是数据类型标识符.从那看起来似乎无法在MATLAB中进行严格的数据输入,但也许你们中的许多人都知道一些我无法找到的有用的技巧,特性或语法.

matlab types function

13
推荐指数
2
解决办法
7672
查看次数

标签 统计

function ×1

matlab ×1

types ×1