Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.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_System_Eigenvalue_Transfer Function_Ss - Fatal编程技术网

Matlab-以编程方式查找主导极点

Matlab-以编程方式查找主导极点,matlab,system,eigenvalue,transfer-function,ss,Matlab,System,Eigenvalue,Transfer Function,Ss,我有一个SISO系统(tf形式),有48个特征值,我想找到占优势的极点(比如说,把它减少到一阶或二阶)。我需要知道它们来近似计算系统的阻尼和带宽。我不想依赖于时间响应的识别,我也不想看pzmap(因为我必须做很多次)。有人有办法解决这个问题吗?提前感谢您的帮助。如果您已经获得了传递函数,您可以做的是分析极点并根据其实际值进行排序。稳定的磁极或复磁极对(即在复平面的左侧)和离虚轴最近的将是您选择的最主要磁极 考虑到传递函数存储在TF对象中,我们将其称为T,我们会想到类似的情况: %// Get n

我有一个SISO系统(tf形式),有48个特征值,我想找到占优势的极点(比如说,把它减少到一阶或二阶)。我需要知道它们来近似计算系统的阻尼和带宽。我不想依赖于时间响应的识别,我也不想看pzmap(因为我必须做很多次)。有人有办法解决这个问题吗?提前感谢您的帮助。

如果您已经获得了传递函数,您可以做的是分析极点并根据其实际值进行排序。稳定的磁极或复磁极对(即在复平面的左侧)和离虚轴最近的将是您选择的最主要磁极

考虑到传递函数存储在
TF
对象中,我们将其称为
T
,我们会想到类似的情况:

%// Get numerator and denominator data
[num,den] = tfdata(T, 'v');

%// Get the poles
pl = roots(den);

%// Get the stable poles only
pl_stable = pl(real(pl) < 0);

%// Determine the closest real location to the imaginary axis
[~,ind] = min(abs(real(pl_stable)));

%// Find all poles that share this same real location
tol = 1e-10;
ind_final = find(abs(real(pl_stable - pl_stable(ind))) <= tol);
final_poles = pl_stable(ind_final);
检查电线杆,我们得到:

>> pl

pl =

  -2.3247 + 0.0000i
  -0.3376 + 0.5623i
  -0.3376 - 0.5623i
如您所见,有一对主极点,其实部为
-0.3376
,而另一个实部则位于
-2.3247
s=-0.3376+/-0.5623i
处的一对极点是我们需要提取出来的

通过以上代码,我们得到:

>> final_poles

final_poles =

  -0.3376 + 0.5623i
  -0.3376 - 0.5623i

你可以通过查看零极点地图找到最主要的极点。。。或者只是波兰人。。。找到最接近虚轴的。除非我看到你写的一些代码,否则我真的不能告诉你更多。这就是我现在正在做的。。。但是由于我必须做很多次(比如说超过30次),我一直在寻找一个程序化的解决方案……我尝试了一下。看看,这个答案对你有帮助吗?如果确实如此,请考虑接受我的回答。
>> final_poles

final_poles =

  -0.3376 + 0.5623i
  -0.3376 - 0.5623i