cdf2rdf
将复数对角型转换为实数块对角型
说明
示例
计算实矩阵的特征值和特征向量,然后将复共轭特征值对变换为实数块。
求实矩阵的特征值和特征向量。
X = [1 1 1 1 1
0 4 5 1 1
0 -5 4 1 1
0 0 2 3 1
0 0 -3 -2 1];
[V,D] = eig(X)V = 5×5 complex
1.0000 + 0.0000i 0.0179 + 0.1351i 0.0179 - 0.1351i 0.1593 - 0.4031i 0.1593 + 0.4031i
0.0000 + 0.0000i -0.0130 + 0.6214i -0.0130 - 0.6214i 0.0704 - 0.0267i 0.0704 + 0.0267i
0.0000 + 0.0000i -0.6363 + 0.0000i -0.6363 + 0.0000i -0.1261 + 0.1032i -0.1261 - 0.1032i
0.0000 + 0.0000i -0.1045 + 0.2087i -0.1045 - 0.2087i -0.2279 - 0.4161i -0.2279 + 0.4161i
0.0000 + 0.0000i 0.1156 - 0.3497i 0.1156 + 0.3497i 0.7449 + 0.0000i 0.7449 + 0.0000i
D = 5×5 complex
1.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i
0.0000 + 0.0000i 3.8801 + 5.1046i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i
0.0000 + 0.0000i 0.0000 + 0.0000i 3.8801 - 5.1046i 0.0000 + 0.0000i 0.0000 + 0.0000i
0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 2.1199 + 0.7018i 0.0000 + 0.0000i
0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 0.0000 + 0.0000i 2.1199 - 0.7018i
D 包含一个实数特征值和两对复共轭特征值。
变换 V 和 D,使 Dnew 为实数块对角型,并且 Vnew 满足 X*Vnew = Vnew*Dnew
[Vnew,Dnew] = cdf2rdf(V,D)
Vnew = 5×5
1.0000 0.0253 0.1911 0.2253 -0.5701
0 -0.0184 0.8789 0.0996 -0.0378
0 -0.8999 0 -0.1784 0.1459
0 -0.1478 0.2951 -0.3222 -0.5885
0 0.1634 -0.4946 1.0534 0
Dnew = 5×5
1.0000 0 0 0 0
0 3.8801 5.1046 0 0
0 -5.1046 3.8801 0 0
0 0 0 2.1199 0.7018
0 0 0 -0.7018 2.1199
Dnew 仍有实数特征值,但复共轭特征值被替换为 2×2 的块。
输入参数
右特征向量矩阵,指定为 [V,D] = eig(X) 或 [V,D] = eigs(X,___) 返回的矩阵。
数据类型: single | double
复数支持: 是
对角特征值矩阵,指定为 [V,D] = eig(X) 或 [V,D] = eigs(X,___) 返回的矩阵。沿 D 的对角线的一些特征值可能是实数,但假设复共轭特征值对的彼此相邻的。
由于 eigs 返回特征值和特征向量的子集,因此请求的特征值数量可能包括一半的复共轭对。如果 D 输入包含不完全的复共轭对,则 cdf2rdf 将返回错误。
数据类型: single | double
复数支持: 是
输出参量
变换后的右特征向量矩阵,以矩阵形式返回。对 V 中的特征向量进行变换,使 X*Vnew = Vnew*Dnew 成立。如果输入特征向量矩阵 V 是酉矩阵,则 Vnew 也是酉矩阵。在变换后,Vnew 的各个列不再是 X 的特征向量,但与 Dnew 中的 2×2 块关联的 Vnew 中的每对向量跨越对应的不变向量。
变换后的对角特征值矩阵,以块对角实矩阵形式返回。D 中的复共轭特征值对被替换为沿 Dnew 中对角线的 2×2 实数块。
扩展功能
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
cdf2rdf 函数完全支持 GPU 数组。要在 GPU 上运行该函数,请将输入数据指定为 gpuArray (Parallel Computing Toolbox)。有关详细信息,请参阅在 GPU 上运行 MATLAB 函数 (Parallel Computing Toolbox)。
版本历史记录
在 R2006a 之前推出已改进所有输入矩阵的算法,以减少计算中的浮点舍入误差。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)