matlab交叉耦合,交叉耦合矩阵综合问题

编程计算N阶耦合矩阵,基本都能算对,但是对于某些特殊参数会出现R1!=RN,大家又出现类似的情况么?

希望高手帮忙计算以下参数,看看是否能算出来。

参数为

ftz=[-1.2i -1.4i 1.4i 1.2i -1.05i 1.05i];传输零点

RL=20;%带内回波

N = 14; %滤波器阶数

我计算结果R1=0.6212,RN=0.9567.

理论结果为R1=RN=0.9567

自己顶一下,有哪位高人帮忙算一下,感谢!

希望大家能帮帮忙,不清楚程序问题,还是matlab函数使用上的问题!

matlab里自带的留数函数residue在高阶计算时极点是不准确的(当两个极点很近时)。这导致了本不该出现的重极点出现了。综合出来的留数也就不对了。我自己编辑个程序计算留数,问题已解决。

达人啊!

你这是做滤波器么,还用到留数了,高深莫测啊,佩服佩服!

楼主的留数计算程序能否分享一下?

是啊,把留数代码分享下贴出来吧,

其实matlab留数计算程序还是很好的,只是精度不是太高,它的精度可以通过改参数来实现,具体方法:

在residu.m中,修改参数

tol = 1E-5; %0.001; % Repeated-root tolerance; adjust as needed.

将tol由原来的0.001改为1E-5,则计算精度就又高了

呵呵,这样改的效果并不怎么好的

我用的matlab自带的程序计算出来的R1=RN=0.9567

我觉得楼主程序有问题的可能性很大,因为精度问题不会让R1和RN偏差那么大

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值