【问题标题】:Substitute s in transfer function在传递函数中替换 s
【发布时间】:2013-08-29 04:28:49
【问题描述】:

我需要在传递函数中用一个值替换s。例如:

G(s)= 1/ (s+3)

我需要替换

s = -2.118 +2.221j

我应该为此使用什么代码?

PS:不幸的是,我在 MATLAB 中只有控制系统工具箱。

【问题讨论】:

    标签: matlab transfer


    【解决方案1】:

    保存m文件有什么问题

     function g = transferFun( s )
     g = 1 ./ ( s + 3 )
    

    然后调用函数

     >> transferFun( -2.118 + 2.221*j )
    

    【讨论】:

    • Thankyou Shai..但它似乎不起作用。还有其他选择吗
    • @Anu - “似乎不起作用”是什么意思?你有错误吗?不是预期的结果?您必须提供更多详细信息和信息才能在此处获得合理的答案...
    • @Anu 确保您的 m 文件名为 transferFun.m
    • @Shai.. 谢谢。我将 m 文件重命名为 transferFun.m,它运行良好。
    • @Anu 我很高兴这对你有用。随意点击旁边的“V”图标“接受”这个答案。
    【解决方案2】:

    正如 shai 所说,您可以简单地使用该函数创建一个 m 文件。

    但是,如果您只是在此处进行一些快速计算,则可以在命令行上进行计算。你可以像这样定义一个匿名函数:

     G = @(s) 1/(s+3)
    

    现在你可以简单地这样称呼它:

    G(-2.118 +2.221j)
    

    请注意,Matlab 区分大小写。

    【讨论】:

    • 我会在G 中使用'./',以防@Anu 决定他希望s 成为一个向量......你不同意吗?
    • @Shai 我同意使用./ 会更健壮,但这更像是对问题的评论。这是给定函数最直接的实现。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-31
    • 1970-01-01
    • 2019-03-24
    • 2023-03-15
    • 1970-01-01
    • 2012-07-26
    • 1970-01-01
    相关资源
    最近更新 更多