And*_* K. 2 matlab function tilde function-handle
我正在做另一个课程,这次是空中机器人.我必须使用matlab ode45(普通差异方程)编程pd控制器.并且必须包含此代码的文件调用如下:
pd_controller(~, s, s_des, params)
Run Code Online (Sandbox Code Playgroud)
我四处搜索,但找不到向我解释这个问题以及它是如何工作的.
在主程序中,使用时间变量调用函数,我需要为我的ODE:
controlhandle(t, s, s_des, params)
Run Code Online (Sandbox Code Playgroud)
此控制句柄是pd_controller的函数处理程序.
那么这是什么意思?我可以访问背后的内容~吗?
此外:我找到了一个例子,但另一个例子.一个函数,让我们调用它function = f(a,b),f(~, b)在函数中声明了where a和bhas.
该符号称为代字号,表示您忽略该输入参数.
请参阅此处的文档:https://mathworks.com/help/matlab/matlab_prog/ignore-function-inputs.html
在你的情况下,函数controlhandle不会传递给t变量,并且可能(应该)对此进行一些检查,t如果没有给出,则可能是默认值.
这与输出参数的作用相同,例如,如果您希望数组中的max 的索引,而不是max本身的索引,则可以使用
a = [pi, 3.6, 1];
[~, idx] = max(a); % idx = 2, we don't know what the max value is
Run Code Online (Sandbox Code Playgroud)