计算矩阵值函数G(z)=[■((〖2z〗^3+1.3z^2-0.15z-0.028)/(z^3+〖0.9z〗^2+0.02z-0.048)&(z^2-0.2z+0.01)/(z^2+0.1z-0.06)@(z^2-0.2z+0.01)/(z^2+0.1z-0.06)&(z^2-0.2z+0.01)/(z^2+0.1z-0.06))]的相位上下界的matlab程序
时间: 2023-10-13 15:06:17 浏览: 202
以下是计算矩阵值函数G(z)相位上下界的 Matlab 程序:
```
syms z;
G = [ (2*z^3 + 1.3*z^2 - 0.15*z - 0.028)/(z^3 + 0.9*z^2 + 0.02*z - 0.048), (z^2 - 0.2*z + 0.01)/(z^2 + 0.1*z - 0.06);
(z^2 - 0.2*z + 0.01)/(z^2 + 0.1*z - 0.06), (z^2 - 0.2*z + 0.01)/(z^2 + 0.1*z - 0.06) ];
phase_lower = angle(G);
phase_upper = angle(G+1);
```
这里使用了符号运算(symbolic computation)的工具箱,可以计算矩阵 G 的相位(angle)。
注意,这里的相位是以弧度为单位的,如果需要转换为角度,可以使用 rad2deg 函数。
相关问题
绘制矩阵值函数G(z)=[■((〖2z〗^3+1.3z^2-0.15z-0.028)/(z^3+〖0.9z〗^2+0.02z-0.048)&(z^2-0.2z+0.01)/(z^2+0.1z-0.06)@(z^2-0.2z+0.01)/(z^2+0.1z-0.06)&(z^2-0.2z+0.01)/(z^2+0.1z-0.06))]的相位上下界的图像的matlab程序
以下是绘制矩阵值函数G(z)相位上下界的 Matlab 程序:
```
syms z;
G = [ (2*z^3 + 1.3*z^2 - 0.15*z - 0.028)/(z^3 + 0.9*z^2 + 0.02*z - 0.048), (z^2 - 0.2*z + 0.01)/(z^2 + 0.1*z - 0.06);
(z^2 - 0.2*z + 0.01)/(z^2 + 0.1*z - 0.06), (z^2 - 0.2*z + 0.01)/(z^2 + 0.1*z - 0.06) ];
phase_lower = angle(G);
phase_upper = angle(G+1);
% 绘制相位下界
subplot(1,2,1);
ezplot(phase_lower(1,1), [-5 5 -5 5]);
hold on;
ezplot(phase_lower(1,2), [-5 5 -5 5]);
ezplot(phase_lower(2,1), [-5 5 -5 5]);
ezplot(phase_lower(2,2), [-5 5 -5 5]);
title('Phase Lower Bound');
% 绘制相位上界
subplot(1,2,2);
ezplot(phase_upper(1,1), [-5 5 -5 5]);
hold on;
ezplot(phase_upper(1,2), [-5 5 -5 5]);
ezplot(phase_upper(2,1), [-5 5 -5 5]);
ezplot(phase_upper(2,2), [-5 5 -5 5]);
title('Phase Upper Bound');
```
这里使用了 ezplot 函数,可以绘制符号表达式的函数图像。由于 G 是一个 2x2 的矩阵,因此需要分别绘制每个元素的相位,最终得到两个子图,分别是相位下界和相位上界。
阅读全文