Matlab解决施密特正交规范化矩阵(代码开源)

#最近在学习matlab,刚好和线代论文重合了

于是心血来潮用matlab建了一个模型来解决施密特正交规范化矩阵。

我们知道这个正交化矩阵挺公式化的,一般公式化的内容我们都可以用计算机来进行操作,节约我们人工的时间。

我们首先把矩阵导入进去,之后计算投影的长度进行缩减。进行正交化

之后单独进行规范化

代码如下:

Matlab 复制代码
%%

% 施密特正交化
a=ones(3,3);   % 假设3行,3列,视题目而定
% 必须是线性无关的向量组

%带入题目的向量得到:
a(:,1)=[1;2;-1];
a(:,2)=[-1;3;1];
a(:,3)=[4;-1;0];

a1 = a(:,1);
c=size(a1);  % 去判断a1多少行

b=zeros(c(1),3);%与题目中向量个数行列一样    
b(:,1)=a(:,1);
%正交化
for i=2:3%从第二个开始递归
    for j=1:i-1
        b(:,i)=b(:,i)-dot(a(:,i),b(:,j))/dot(b(:,j),b(:,j))*b(:,j);
    end
    b(:,i)=b(:,i)+a(:,i);
end

%单位化
 for k=1:3
    b(:,k)=b(:,k)/norm(b(:,k));
 end

 disp(b);
 

 %b即为正交规范组!!

我们带入一道例题:

设a1=1,2,-1T,a2=-1,3,1T,a3=4,-1,0T

试用施密特正交化过程把这组向量规范正交化.

解取b1=a1;

b2=a2-a2,b1/(||b1||)2b1=-1,3,1T-4/61,2,-1T=5/3-1,1,1T;

B3=a3-a3,b1/(||b1||)2b1-a3,b2/(||b2||)2b2=4,-1,0T-1/31,2,-1T+5/3-1,1,1T=21,0,1T;

再把它们单位化,

取e1=b1/||b1||=1/√61,2,-1T,e2=b2/||b2||=1/√3-1,1,1T,e3=b3/||b3||=1/√21,0,1T

以上为数学人工方法求解,而如果直接带入我们建立的模型,我们可以直接得到:

谢谢大家啦,以上就是代码和展示部分!

相关推荐
犀利豆5 小时前
为什么全世界的 AI 都画不好一只骑自行车的鹈鹕
人工智能·llm·aigc
天天被压力5 小时前
【跨市场数据实战 #08】可转债折价机会怎么筛:3个接口抓比价、列表和实时盘口
java·人工智能·python
baopixiaoz6 小时前
BeeQuant × BeeAgent:用AI加速策略验证
大数据·人工智能·python·区块链
咸鱼老弟6 小时前
AI Agent 的"自主性悖论"——为什么给它的自由度越大,越要配一套更硬的护栏
前端·人工智能
tq10866 小时前
对字节AI战略的评价
人工智能
专职八阿哥6 小时前
GPT-6 Astar 是什么?从模型名称、A*算法到实际接入讲清楚
人工智能
龙腾AI白云6 小时前
大语言模型:从语言理解到通用智能的跃迁
数据库·人工智能·机器学习·知识图谱
EatFans7 小时前
AI Agent 为什么总是失忆?一篇讲透 Agent Memory
人工智能
sijiaoh7 小时前
用 Jev 写了个按意思搜的 grep
人工智能
智商网输送线配件7 小时前
2026 自动化流水线配件采购难题破解:小批量混批与非标定制的供应链实测
大数据·人工智能·自动化·智商网·流水线设备配件