【发布时间】:2013-08-29 04:28:49
【问题描述】:
我需要在传递函数中用一个值替换s。例如:
G(s)= 1/ (s+3)
我需要替换
s = -2.118 +2.221j
我应该为此使用什么代码?
PS:不幸的是,我在 MATLAB 中只有控制系统工具箱。
【问题讨论】:
我需要在传递函数中用一个值替换s。例如:
G(s)= 1/ (s+3)
我需要替换
s = -2.118 +2.221j
我应该为此使用什么代码?
PS:不幸的是,我在 MATLAB 中只有控制系统工具箱。
【问题讨论】:
保存m文件有什么问题
function g = transferFun( s )
g = 1 ./ ( s + 3 )
然后调用函数
>> transferFun( -2.118 + 2.221*j )
【讨论】:
transferFun.m
正如 shai 所说,您可以简单地使用该函数创建一个 m 文件。
但是,如果您只是在此处进行一些快速计算,则可以在命令行上进行计算。你可以像这样定义一个匿名函数:
G = @(s) 1/(s+3)
现在你可以简单地这样称呼它:
G(-2.118 +2.221j)
请注意,Matlab 区分大小写。
【讨论】:
G 中使用'./',以防@Anu 决定他希望s 成为一个向量......你不同意吗?
./ 会更健壮,但这更像是对问题的评论。这是给定函数最直接的实现。