移动学习网 导航

matlab 用命令orth把向量组正交规范化 怎样用MATLAB将一组向量化为标准正交基

2024-05-22m.verywind.com
怎么用MATLAB把矩阵正交化~

orth


Range space of matrix

Syntax

B = orth(A)

例子如下:
>> s=[1,1,0;0,1,1;1,0,1]

s =

1 1 0
0 1 1
1 0 1

>> [Q,R]=qr(s)

Q =

-0.7071 -0.4082 -0.5774
0 -0.8165 0.5774
-0.7071 0.4082 0.5774


R =

-1.4142 -0.7071 -0.7071
0 -1.2247 -0.4082
0 0 1.1547


Q即为所求.

1、首先双击matlab软件图标,打开matlab软件,可以看到matlab软件的界面。

2、然后使用直接输入法,创建向量,就是讲向量的每个元素输入到中括号中。

3、使用冒号表达式创建向量,具体的表达式如下:A=first:step:end。其中first表示向量的第一个元素,step表示步长,end表示向量的最后一个元素。

4、使用函数linspace(first,end,num)创建线性等分向量,其中first表示向量的第一个元素,end表示向量的最后一个元素,num表示一共分成了num个元素,num的默认值是100。

5、最后使用函数logspace(first,end,num)创建对数等分向量,其中first是向量首元素的幂,以10为底;end是向量最后元素的幂,以10为底;num表示总共分成了num个元素,num的默认值是50。



1、在命令行窗口中输入“r = [ 1 2 3 4 ];tr = r'”,其中单引号(')是用于转置操作的。

2、按回车键之后,可以看到将行向量r转置成为了列向量tr。

3、也可以将列向量转置成为行向量,在命令行窗口中输入“v = [1;2;3;4];tv = v'”。

4、按回车键之后,可以看到将列向量v转置成为了行向量tv。

5、矩阵转置的操作也是通过单引号(')来实现的。

6、按回车键之后,可以看到将a矩阵的每列转置成了b矩阵的每行,a矩阵的每行转置成了b矩阵的每列。



函数功能
求矩阵正交基

使用方法
B = orth(A)
返回矩阵A的正交基,B的列与A的列具有相同的空间,B的列向量是正交向量,满足B'*B = eye(rank(A)),B的列数是A的秩。

应用举例
A=[4 0 0;0 3 1;0 1 3];
B=orth(A)
Q=B'*B
B =
0 1.0000 0
-0.7071 0 -0.7071
-0.7071 0 0.7071
Q =
1.0000 0 0.0000
0 1.0000 0
0.0000 0 1.0000

对向量组 a1,a2,...,as
做矩阵 A= (a1,a2,...,as)
B=orth(A)
则B的列向量两两正交, 且与A的列向量组等价
B的列数 = r(A)

如: a1=(1,1)^T, a2=(1,2)^T
A=(a1,a2)
B=orth(A)=

>> A=[1,1;1,2]

A =

1 1
1 2

>> orth(A)

ans =

-0.5257 -0.8507
-0.8507 0.5257

满意请采纳

户户网菜鸟学习
联系邮箱
返回顶部
移动学习网