c语言实现向量组的标准/规范正交基(施密特正交化)

article/2025/9/29 2:08:17

问题:任意一个向量组求标准正交基,尽量用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


http://chatgpt.dhexx.cn/article/nsnkpUY7.shtml

相关文章

正交基

规范正交基是n维欧式空间V中n个两两正交的非零单位向量组成的一个规范正交组。V中的任意向量ξ都可以由V的一组规范正交基{a1,a2,…,an}唯一表示ξx11x22…xnn,x1,x2,…,xn是ξ关于基{a1&#xff0c;a2&#xff0c;…&#xff0c;an}的坐标&#xff0c;由于{a1&#xff0c;a2&a…

线性代数(三十九) :格拉姆-施密特正交化与标准正交基

本节介绍正交的概念&#xff0c;以及将基变为正交基的格拉姆-施密特(Gram-Schmidt)方法 1 正交 如果向量x,y满足: 则称x与y正交(orthogonal)或者垂直(perpendicular),记做&#xff1a; 2 标准正交基 设X是具有欧几里得结构的有限维线性空间 是X的一组基,如果他们满足&#x…

线性代数(14)——正交性、标准正交基和投影

正交性、标准正交基和投影 正交基与标准正交基一维投影高维投影和Gram-Schmidt过程三维空间四维及以上空间实现Gram-Schmidt过程相关话题 标准正交基的性质 正交基与标准正交基 一个 n n n维空间中任何一组线性无关的向量&#xff0c;都是这个 n n n维空间的一组基。当这组基的…

线性代数中一组基向量的标准正交化原理通熟易懂理解

我们先来看图&#xff0c;看看这个方法的操作过程&#xff0c;等一下&#xff0c;我找找我的大学的线性代数课本&#xff0c;找到啦&#xff01;&#xff08;哈哈&#xff0c;虽然读研了&#xff0c;因为我是菜鸟&#xff0c;所以还是随时带着&#xff09;如下图所示&#xff1…

【机器学习】【线性代数】正交基、标准正交基、正交矩阵,正交变换等数学知识点

1.正交向量组 直接给定义&#xff1a;欧式空间V的一组非零向量&#xff0c;如果他们俩俩向量正交&#xff0c;则称是一个正交向量组。 &#xff08;1&#xff09;正交向量组 是 线性无关的 &#xff08;2&#xff09;n维欧式空间中俩俩正交的非零向量不会超过n个&#xff0c…

为什么总是标准正交基(标准直角坐标系)?

坐标系的作用是什么&#xff1f;简单的一句换就是&#xff0c;坐标系是拿来描述点的位置的。要对事物进行分析&#xff0c;无论是量化分析还是抽象分析&#xff0c;需要首先对事物有一个清晰的定义&#xff0c;这样我们才能知道我们在说什么。对事物进行定义时&#xff0c;特别…

空间的基,自然基,标准正交基

误区&#xff1a;总以为二维平面的基是垂直的x轴和y轴 总以为三维空间的基是垂直的x轴&#xff0c;y轴和z轴 解析&#xff1a; 以二维空间为例&#xff0c;不光只有垂直的两个向量才能表示整个空间。 如上图所示&#xff0c;垂直的两个向量能表示整个平面自不必多说。 下图…

标准正交基

目录 一、由内积到正交二、标准正交基三、标准正交基&#xff0c;你有什么好&#xff1f;四、由基到标准正交基 一、由内积到正交 为了说明正交&#xff0c;需要先解释一种运算——内积. 内积的概念源自内积空间&#xff0c;下文摘自我的另一篇博客 内积空间(传送门)   设 V…

标准正交基(Orthonormal)、施密特正交化(Gram-Schmidt)

标准正交基、施密特正交化 1.标准正交基&#xff08;Orthonormal&#xff09;与施密特正交化&#xff08;Gram-Schmidt&#xff09;1.1 标准正交基&#xff08;Orthonormal&#xff09;1.2 施密特正交化&#xff08;Gram-Schmidt&#xff09; 1.标准正交基&#xff08;Orthonor…

后端的setCookie无法写入浏览器的问题

知识点&#xff1a; 后端通常称为session&#xff0c;是tomacat自带的验证方式&#xff0c;前端叫cookies的存储存这个cookies&#xff0c;有时效性&#xff0c;通常是后台设置&#xff08;前端也可以设置&#xff0c;一般不&#xff09;。也就是说业务上&#xff0c;如果使用…

EditThisCookie使用

下载安装 http://www.cnplugins.com/uploads/plugins/201502/www.cnplugins.com_fngmhnnpilhplaeedifhccceomclgfbg_1_4_1_.crx从上面这个网址下载下来&#xff0c;下下来之后用Chrome插件伴侣制作成谷歌浏览器能直接添加的插件 使用 鼠标右键单击——>EditThisCookie&am…

HttpCookie

下面我们讲HttpCookie的用法&#xff1a; 什么是Cookie&#xff1f;&#xff1a; cookie是存储于访问者的计算机中的变量。每当同一台计算机通过浏览器请求某个页面时&#xff0c;就会发送这个cookie。你可以使用 JavaScript 来创建和取回cookie的值。 Cookie的用途&#xff1…

setcookie()函数

https://www.cnblogs.com/yuanwanli/p/5808472.html 欢迎使用Markdown编辑器 你好&#xff01; 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章&#xff0c;了解一下Markdown的基本语法知识。 新的改变 我们对…

解决Gin框架下 浏览器(chrome)在setcookie()后不能成功携带cookie的问题

参考gin官网的文档给出的代码&#xff1a;地址在https://gin-gonic.com/zh-cn/docs/examples/cookie/ func CookieMiddleWare() gin.HandlerFunc {return func(c *gin.Context) {cookieValue, err : c.Cookie("cookie")if err ! nil {//c.AbortWithStatusJSON(403, …

cookie的get、set方法封装 domain、path 属性

cookie的get、set方法封装 setCookie 封装&#xff1a; 原生赋值方法&#xff1a; document.cookienamewk 注&#xff1a;cookie在静态页面中是空的&#xff0c;无法使用&#xff1b;必须在web服务器部署下才可以使用。 /*** 设置cookie* param name 键* param val 值* pa…

php setcookie

先看服务器端代码test.php&#xff1a; <?php$value "my cookie";setcookie("TestCookie",$value);echo "my cookie is".$value;?>1. 访问抓包&#xff1a; 2. 返回包&#xff1a; 可以看到返回包里多了一个Set-Cookie字段 浏览器&a…

HTTP中的Cookie、Set-Cookie

请求头Cookie、响应头Set-Cookie 但是&#xff0c;我们又需要在不同请求-响应之间&#xff0c;来区分请求-响应是不是同一个用户发起的。 比如&#xff1a;用户购买越多&#xff0c;折扣越多的活动&#xff0c;就需要我们分辨出不同请求-响应之间的逻辑关系 // 专门用来发凭证&…

php 中cookie的简介,setcookile() 的用法,如何理解cookie

最近心里想着学更新的技术&#xff0c; 了解更多的框框。但是回过头来&#xff0c;我想学一下最基础的东西&#xff0c;因为&#xff0c;一路走来&#xff0c; 技术都是自学来的&#xff0c;肯定还有很多瑕疵的&#xff0c; 比如&#xff0c; 什么是http协议&#xff0c;虽然是…

cookie和set-cookie的区别及token值

什么是cookie cookie是一段文本,格式key-value cookie鉴权原理 1.当客户端第一次访问服务器端时,服务器会成cookie信息,并且在响应头的set-cookie里面把生成的cookie信息发送给客户端 2.当客户端第2-N次访问服务端的时候,那么客户端就会在请求头的cookie带上cookie信息,从而实现…

数学物理方法 高教 第四版 课后习题答案

数学物理方法 高等教育出版社 第四版 课后习题答案 课后习题答案下载地址 链接&#xff1a;https://pan.baidu.com/s/1KqePoJ8AXb4vAxXadOCfCg 提取码&#xff1a;73um 如果链接失效扫一扫右侧&#xff0c;回复 数学物理方法答案 即可免费获取 百度文库所有文档原格式下载方法…