c语言实现向量组的标准/规范正交基(施密特正交化)
问题:任意一个向量组求标准正交基,尽量用C/C++。
思路:下面是我找的课本上面的算向量组标准正交基的方法。第一步,用施密特正交化方法,使向量组正交;第二步,将向量组各向量单位化。
代码实现:
#include<stdio.h>
#include<stdlib.h>
#include<stdbool.h>
#include<math.h>int main(void)
{int dim, i, j, k;bool judge;//输入向量组的值,并存入二维数组中 printf("请输入向量组的个数: ");scanf("%d", &dim);double matrix[dim][dim];double replica[dim][dim];for(i=0;i<dim;i++){printf("输入α%d向量组内的值:\n",i); for(j=0;j<dim;j++)scanf("%lf", *(matrix+i)+j);}//由于输入问题,将各向量组转置 for(i=0;i<dim;i++)for(j=0;j<dim;j++)*(*(replica+i)+j) = *(*(matrix+i)+j);for(i=0;i<dim;i++)for(j=0;j<dim;j++)*(*(matrix+i)+j) = *(*(replica+j)+i); //施密特正交化,将向量组正交double a, b;double proj_vector[dim];for(i=1;i<dim;i++){for(k=0;k<dim;k++)proj_vector[k] = 0;for(j=0;j<i;j++){a = b = 0;for(k=0;k<dim;k++){a += matrix[k][i] * matrix[k][j];//计算两个向量的积,做分子b += matrix[k][j] * matrix[k][j];//计算向量与自身的内积,做分母 }for(k=0;k<dim;k++)proj_vector[k] += a / b * matrix[k][j];}for(k=0;k<dim;k++)matrix[k][i] = matrix[k][i] - proj_vector[k];}//单位化 for(i=0;i<dim;i++){b = 0;for(j=0;j<dim;j++)b += matrix[j][i] * matrix[j][i];for(j=0;j<dim;j++)matrix[j][i] = matrix[j][i] / sqrt(b);}//输出标准正交化后的值 printf("标准正交化之后的向量组为:\n");for(i=0;i<dim;i++){for(j=0;j<dim;j++)printf("%-9.3f",matrix[i][j]);putchar('\n');}return 0;
}
结果展示:
参考:https://blog.csdn.net/Nolan__Roronoa/article/details/52292041?app_version=5.8.1&code=app_1562916241&csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%2252292041%22%2C%22source%22%3A%22qq_44749483%22%7D&uLinkId=usr1mkqgl919blen&utm_source=app
c语言实现向量组的标准/规范正交基(施密特正交化)相关推荐
- 施密特正交化c语言,C语言实现矩阵的LU分解、施密特正交化、Givens分解、Householder分解...
<C语言实现矩阵的LU分解.施密特正交化.Givens分解.Householder分解>由会员分享,可在线阅读,更多相关<C语言实现矩阵的LU分解.施密特正交化.Givens分解.H ...
- Protein Cell:基于R语言的微生物组数据挖掘最佳流程(大众评审截止14号晚6点)...
Protein & Cell综述:基于R语言的微生物组数据挖掘的最佳流程 近日,中国农业科学院刘永鑫组联合南京农业大学袁军组在国际期刊 Protein & Cell (IF = 15. ...
- 【高等数学】矩阵与向量组的秩和等价
矩阵与向量组的秩和等价 矩阵和向量组是一组很容易混淆的概念,尤其在"秩"和"等价"这两个概念的时候容易混淆.现在把这几个概念拎出来,仔细观察,以求正本清源. 一 ...
- 【机器学习|数学基础】Mathematics for Machine Learning系列之线性代数(10):向量组及其线性组合
文章目录 前言 往期文章 4.1 向量组及其线性组合 定义1 定义2 定理1 定义3 定理2 推论 举例 例 1 例2 定理3 小结 结语 前言 Hello!小伙伴! 非常感谢您阅读海轰的文章,倘若文 ...
- 线性代数——向量的内积、范数、正交,向量组的线性相关性和向量空间
文章目录 向量的内积 性质 柯西不等式 范数 性质 相似度 向量组的线性相关性 向量空间 正交 规范正交基 施密特(Schimidt)正交化 正交矩阵 正交变换 向量的内积 设有n维向量 x=[x1x ...
- 用matlab证明向量组等价,线性代数常见面试题
特征值.特征根.秩.计算行列式.线性相关性.矩阵的相似.你可以想到有几种方法证明一个矩阵满秩.奇异值分解.线性相关与线性无关.什么叫矩阵的迹.正定是什么意思.什么是线性方程组有解/无解/有唯一解的条件 ...
- 【机器学习|数学基础】Mathematics for Machine Learning系列之线性代数(11):向量组的线性相关性
文章目录 前言 往期文章 4.2 向量组的线性相关性 定义4 线性相关/无关 特殊情况 定理4 举例 例4 例5 例6 定理5 结语 前言 Hello!小伙伴! 非常感谢您阅读海轰的文章,倘若文中有错 ...
- 矩阵论(零):线性代数基础知识整理(2)——矩阵的秩与向量组的秩
矩阵论专栏:专栏(文章按照顺序排序) 本篇博客承接上篇矩阵论(零):线性代数基础知识整理(1)--逆矩阵.初等变换.满秩分解,主要整理秩相关的结论. 线性方程组的解与向量组的秩 线性方程组的解(初步讨 ...
- 价值1143元的《R语言统计分析微生物组数据(Statistical Analysis of Microbiome Data with R)》系列图书
文章目录 <R语言统计分析微生物组数据> 本书简介 作者简介 章节简介 猜你喜欢 写在后面 <R语言统计分析微生物组数据> Statistical Analysis of Mi ...
最新文章
- php sendmail方法,PHP实现在windows下配置sendmail并通过mail()函数发送邮件的方法
- Android GUI之View测量
- 爱立信:SDN/NFV助力面向5G以及工业互联网的ICT转型
- Jenkins环境搭建(2)-搭建jmeter+ant+jenkins自动化测试环境
- 三星linux打印机驱动官网下载,三星SL-C515驱动
- 前端跨域问题(CORS)
- TSX指令集中的 RTM 受限的事务内存 来实现并发无锁编程
- uni-app开发环境配置
- 节约里程法matlab程序_物流配送路径优化研究 毕业论文.doc
- c语言单片机编程教学大纲,单片机应用技术[C语言]教学大纲.doc
- 应用程序无法正常启动0xc0150002 解决方案
- Word添加脚注自定义标记
- 家庭多房间网线连接---小白快速上手
- 郑州大学计算机翟雨轩,郑州大学文件-20210331220732.doc-原创力文档
- 『Photo Shop实用技巧』之 去除红眼
- Tuner及工作原理介绍
- 招商银行信用卡使用说明
- PVE的LXC容器系统安装CUPS软件,实现多平台共享的印表机
- 运输公司计算运费问题
- clair、anchore、trivy开源数据库的数据来源分析