Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 计算传递函数系数_Matlab - Fatal编程技术网

Matlab 计算传递函数系数

Matlab 计算传递函数系数,matlab,Matlab,我推导了s域中弹簧-质量系统组合的传递函数,其形式为 G = (as*s + bs +c) / (ps + q) 我有与位移相关的测量数据作为输入,力作为输出,我知道频率和采样率 如何使用MATLAB计算常数a、b、c、p和q的值?是的,这可以使用fminsearch完成。有关更多信息,请阅读您没有提供足够的信息来给出完整的答案(*),但听起来您将要进行某种最小二乘曲线拟合fminsearch可以实现这一点,但还有更好的选择。我倾向于使用统计工具箱中的nlinfit,但也有优化工具箱中的lsq

我推导了
s
域中弹簧-质量系统组合的传递函数,其形式为

G = (as*s + bs +c) / (ps + q)
我有与位移相关的测量数据作为输入,力作为输出,我知道频率和采样率


如何使用MATLAB计算常数
a、b、c、p和q的值?

是的,这可以使用
fminsearch
完成。有关更多信息,请阅读

您没有提供足够的信息来给出完整的答案(*),但听起来您将要进行某种最小二乘曲线拟合
fminsearch
可以实现这一点,但还有更好的选择。我倾向于使用统计工具箱中的
nlinfit
,但也有优化工具箱中的
lsqcurvefit
和曲线拟合工具箱中的
fit


(*)您的数据到底是什么?在已知频率的正弦驱动力下,位移是时间的函数吗?但您必须拥有多个驱动频率的数据,因为您需要了解多个频率的响应,才能提取传递函数的所有5个参数,对吗?

非常感谢您的即时回复。为了使用它,我需要得到上面形式的测量数据的传递函数,但是当我使用tfestimate时,我得到了一个复数向量。你能告诉我如何进一步进行吗。这真的很有帮助。谢谢你的回复。你是对的,我有超过1个频率的数据。这些数据是以位移为输入,力为输出的时域数据。所以我试着对数据进行tfestimate,但它的输出是复数的列向量。我应该如何准确地使用这个列向量来关联理论推导的传递函数。也许我还不明白确切的概念。如果你能在这个问题上再详细阐述一下,那就太好了。提前感谢,我对
tfestimate
一无所知,因此如果您有具体问题,我建议您提出一个新问题。但听起来你真正的问题是如何处理这个实验的数据分析问题。这并不是stackoverflow的主题,所以我建议在其他地方寻求帮助(教授/助教是为了上课,同事是为了工作,等等)。祝你好运您确定这是您的系统模型吗?您导出的模型是非因果的,这意味着它不可能实际存在。假设您推导出一个因果模型(例如1/g),您可以使用MATLAB系统识别UI。最简单的方法是估计一个过程模型,你可以从那里开始;系统的输出取决于未来的输入。这使得它在实践中不可能存在。非常感谢您的回复。我想我需要深入研究系统识别工具箱。最后一个关于因果关系的问题。你说它是非因果的,因为零的数目大于极点吗?难道永远不可能研究这样的系统吗?顺便说一下,我是从弹簧-阻尼器组合中推导出来的。再次感谢你是的,如果系统的零的数量大于它的极点的数量,那么系统将是非因果的。我不能说这是不可能的,我不知道学术界对此做了什么。但我可以很容易地说,如果你正在建模一个实际存在或可能存在的系统,它应该是因果关系。