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,-1]T,a2=[-1,3,1]T,a3=[4,-1,0]T

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

解取b1=a1;

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

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

再把它们单位化,

取e1=b1/||b1||=1/√6[1,2,-1]T,e2=b2/||b2||=1/√3[-1,1,1]T,e3=b3/||b3||=1/√2[1,0,1]T

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

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

相关推荐
Faker66363aaa1 分钟前
鲶鱼目标检测与识别:基于fovea_r50_fpn_gn-head-align模型的COCO数据集训练_1
人工智能·目标检测·计算机视觉
【赫兹威客】浩哥2 分钟前
交通违章识别数据集与YOLO系列模型训练成果
人工智能·深度学习·机器学习
B站计算机毕业设计超人3 分钟前
计算机毕业设计hadoop+spark+hive在线教育可视化 课程推荐系统 大数据毕业设计(源码+LW文档+PPT+讲解)
大数据·人工智能·hive·hadoop·scrapy·spark·课程设计
B站计算机毕业设计超人4 分钟前
计算机毕业设计PySpark+Hive+Django小红书评论情感分析 小红书笔记可视化 小红书舆情分析预测系统 大数据毕业设计(源码+LW+PPT+讲解)
大数据·人工智能·hive·爬虫·python·spark·课程设计
roamingcode7 分钟前
我是如何 Vibe Coding,将 AI CLI 工具从 Node.js 迁移到 Rust 并成功发布的
人工智能·rust·node.js·github·claude·github copilot
下午写HelloWorld10 分钟前
生成对抗网络GAN的简要理解
人工智能·神经网络·生成对抗网络
Lethehong13 分钟前
探索高效工作流的秘密:GLM-4.7 与 Dify 平台深度集成实践
大数据·人工智能·算法
Yeats_Liao15 分钟前
微调决策树:何时使用Prompt Engineering,何时选择Fine-tuning?
前端·人工智能·深度学习·算法·决策树·机器学习·prompt
传说故事15 分钟前
【论文自动阅读】GREAT MARCH 100:100项细节导向任务用于评估具身AI agent
人工智能·具身智能
李昊哲小课18 分钟前
基于NLP的检索式聊天机器人
人工智能·自然语言处理·机器人