MATLAB不要使用现有的函数名称来命名变量
示例
已经有一个功能sum()。结果,如果我们用相同的名称命名变量
sum = 1+3;
如果我们尝试在变量仍存在于工作空间中时使用该函数
A = rand(2); sum(A,1)
我们将得到神秘的错误:
Subscript indices must either be real positive integers or logicals.
clear()首先使用变量,然后使用函数
clear sum
sum(A,1)
ans =
1.0826 1.0279我们如何检查功能是否已经存在以避免这种冲突?
which()与-all标志一起使用:
which sum -all sum is a variable. built-in (C:\Program Files\MATLAB\R2016a\toolbox\matlab\datafun\@double\sum) % Shadowed double method ...
此输出告诉我们sum首先是一个变量,并且以下方法(函数)被其遮蔽,即MATLAB将首先尝试将我们的语法应用于该变量,而不是使用该方法。
热门推荐
10 对患者生日祝福语简短
11 结婚祝福语简短装备
12 周岁祝福语学生文案简短
13 订婚领证祝福语简短精辟
14 导师获奖祝福语大全简短
15 新婚购房祝福语简短精辟
16 牛年祝福语简短的爱人
17 送芒果的祝福语简短
18 送给学长毕业祝福语简短