📄 b1.m
字号:
%求AX=B的总体最小二乘解
a=ones(50,25);
A=a+eye(50,25)*99;
b=ones(1,50)';
b(26)=100;
B=[-b,A]
[u,s,v]=svd(B);
if s(24,24)-s(25,25)>10
%(1)如果最小奇异值只有一个,则存在总体最小二乘解,p=1,
V=v(:,26)
v1=v(1,26)
V(1,:)=[]
X=V/v1
end
%如果最小奇异值多重,则解不唯一,在最小范数约束条件下,得唯一的总体最小二乘解。
for i=1:25
if s(i,i)-s(i+1,i+1)>1
p=i
end
end
V1=v(1:26,p+1:26) %下用HOUSE变换
V11=V1(:,1)
v_k=get_h1(V11)
v_l1=v_k*(V1)
Xtls=v_l1(2:26,1)/v_l1(1,1) %即得在最小范数约束条件下,得到总体最小二乘解。Xtls=y/a (a=-1<0)
%由于得到的无需计算整个矩阵Q,只需求Q的第1列即可。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -