这个 ~ 的功能是什么意思? (例如函数=f(~,x,y))
What does a function with this ~ mean? (e.g. function=f(~, x, y))
我正在做另一门课程作业,这次是空中机器人。我必须使用 matlab ode45
(普通差分方程)对 pd 控制器进行编程。必须包含此代码的文件按如下方式调用:
pd_controller(~, s, s_des, params)
我四处搜索,但找不到向我解释这一点以及它是如何工作的。
在主程序中,该函数是用我的 ODE 需要的时间变量调用的:
controlhandle(t, s, s_des, params)
其中此控制句柄是 pd_controller 的函数句柄。
那么,这是什么意思?我可以访问 ~
后面的任何内容吗?
此外:
我找到了一个例子,但另一个例子。一个函数,让我们称之为 function = f(a,b)
是用 f(~, b)
调用的,其中 a
和 b
已在函数内部声明。
这意味着你不需要在这个函数调用中传递这个参数。此外,您也可以在某些函数的输出中使用它。例如:
A = [1 4 2 2 41];
[~, B] = sort(A);
这意味着你不需要第二个输出,你可以忽略它。
在你的例子中,当没有为第一个参数 t
发送值时,函数可能在他的计算中作用于 t
的默认值。
此外,您可以在 matlab documentation 中找到更多相关信息。
我应该提到 this post 作为答案存在,但它可能在这里。
该符号称为波浪号,表示您将忽略该输入参数。
在此处查看文档:https://mathworks.com/help/matlab/matlab_prog/ignore-function-inputs.html
在你的例子中,函数 controlhandle
不会被传递一个 t
变量,并且可能(应该)对此进行一些检查,如果 none给出。
这与输出参数相同,例如,如果您想要数组中最大值的 索引,而不是最大值本身,您可以使用
a = [pi, 3.6, 1];
[~, idx] = max(a); % idx = 2, we don't know what the max value is
我正在做另一门课程作业,这次是空中机器人。我必须使用 matlab ode45
(普通差分方程)对 pd 控制器进行编程。必须包含此代码的文件按如下方式调用:
pd_controller(~, s, s_des, params)
我四处搜索,但找不到向我解释这一点以及它是如何工作的。
在主程序中,该函数是用我的 ODE 需要的时间变量调用的:
controlhandle(t, s, s_des, params)
其中此控制句柄是 pd_controller 的函数句柄。
那么,这是什么意思?我可以访问 ~
后面的任何内容吗?
此外:
我找到了一个例子,但另一个例子。一个函数,让我们称之为 function = f(a,b)
是用 f(~, b)
调用的,其中 a
和 b
已在函数内部声明。
这意味着你不需要在这个函数调用中传递这个参数。此外,您也可以在某些函数的输出中使用它。例如:
A = [1 4 2 2 41];
[~, B] = sort(A);
这意味着你不需要第二个输出,你可以忽略它。
在你的例子中,当没有为第一个参数 t
发送值时,函数可能在他的计算中作用于 t
的默认值。
此外,您可以在 matlab documentation 中找到更多相关信息。 我应该提到 this post 作为答案存在,但它可能在这里。
该符号称为波浪号,表示您将忽略该输入参数。
在此处查看文档:https://mathworks.com/help/matlab/matlab_prog/ignore-function-inputs.html
在你的例子中,函数 controlhandle
不会被传递一个 t
变量,并且可能(应该)对此进行一些检查,如果 none给出。
这与输出参数相同,例如,如果您想要数组中最大值的 索引,而不是最大值本身,您可以使用
a = [pi, 3.6, 1];
[~, idx] = max(a); % idx = 2, we don't know what the max value is