Orth
符号基质范围的正顺序基础
描述
例子
计算正常基础
计算此矩阵范围的正顺序基础。由于这些数字不是符号对象,因此您将获得浮点结果。
a = [2 -3 -1;1 1 -1;0 1 -1];b = orth(a)
B = -0.9859 -0.1195 0.1168 0.0290 -0.8108 -0.5846 0.1646 -0.5729 0.8029
现在,将此矩阵转换为符号对象,并计算正式基础:
a = sym([2 -3 -1; 1 1 -1; 0 1 -1]);b = orth(a)
b = [(2*5^(1/2))/5,-6^(1/2)/6, - (2^(1/2)*15^(1/2))/30] [5^(1/2)/5,6^(1/2)/3,(2^(1/2)*15^(1/2))/15] [0,6^(1/2)/6, - (2^(1/2)*15^(1/2))/6]
您可以使用双倍的
将此结果转换为双精度数字形式。所得矩阵与MATLAB返回的矩阵不同®Orth
功能是因为这些函数使用革兰氏 - schmidt正交算法的不同版本:
双(b)
ANS = 0.8944 -0.4082 -0.1826 0.4472 0.8165 0.3651 0 0.4082 -0.9129
验证这一点b'*b = i
, 在哪里我
是身份矩阵:
B'*b
ans = [1,0,0] [0,1,0] [0,0,1]
现在,验证每列的2 normb
是1:
norm(b(:,1))norm(b(:,2))norm(b(:,3))
ans = 1 ans = 1 ans = 1
计算真实的正常基础
使用此矩阵的正顺序基础'真实的'
避免复杂的缀合物:
SYMS A a = [A 1;1 a];b = orth(a,'real')
b = [a/(a^2 + 1)^(1/2), - (a^2-1)/((a^2 + 1)*((a^2 -... 1)^2/(a^2 + 1)^2 +(a^2*(a^2-1)^2)/(a^2 + 1)^2)^(1/2))] [1/(a^2 + 1)^(1/2),(a*(a^2-1))/((a^2 + 1)*((a^2 -... 1)^2/(a^)2 + 1)^2 +(a^2*(a^2-1)^2)/(a^2 + 1)^2)^(1/2))]
通过跳过归一化来计算正交基础
使用此矩阵的正交基础“跳过”
。结果向量的长度(矩阵的列b
)不需要1
SYMS A a = [A 1;1 a];b = orth(a,'skipnoralization')
b = [a, - (a^2-1)/(a*conj(a) + 1)] [1, - (conj(a) - a^2*conj(a))a) + 1)]
计算真实的正交基础
使用此矩阵的正交基础“跳过”
和'真实的'
:
SYMS A a = [A 1;1 a];b = orth(a,'skipnorization','real')
b = [a, - (a^2-1)/(a^2 + 1)] [1,(a*(a^2-1))/(a^2 + 1)]
输入参数
更多关于
提示
打电话
Orth
对于不是符号对象的数字参数,请调用MATLABOrth
功能。MATLAB返回的结果Orth
可以与返回的结果不同Orth
因为这两个函数使用不同的算法来计算正统基础。符号数学工具箱™Orth
函数使用经典的革兰氏链接正交算法。matlabOrth
函数使用修改后的革兰氏阴性算法,因为经典算法在数值上是不稳定的。使用
“跳过”
要计算正交基础而不是正交基础可以加快计算的速度。
算法
Orth
使用经典的革兰氏六键式正交算法。