随笔分类 -  数值分析

摘要:part 1:反幂法和LU分解 【反幂法】 难点:对A进行LU分解。特别是程序编写过程中的下标。 【doolittle 分解】 【A->C】 对于大型n元带状线性方程组Ax=b。当n>>r+s+1(A的总带宽)时,为了节省存储量,A的带外元素不给存储,仅存A的带内元素。 point 2 程序的实现 阅读全文
posted @ 2023-02-18 10:54 致命一姬 阅读(316) 评论(0) 推荐(0)
摘要:【part 1:幂法的迭代格式】 【part 2:计算绝对值最大特征值的步骤】 1.明确要求解特征值的矩阵A和初始非零向量u0 2.将u0单位化得到yk-1 3.通过矩阵乘法计算得到uk 4.通过矩阵乘法计算得到βk(上图中的βk-1应为βk,为书写时的笔误),判断误差 如果误差小于允许误差,即为计 阅读全文
posted @ 2023-02-17 23:54 致命一姬 阅读(708) 评论(0) 推荐(0)
摘要:本博客提供的代码为在BUAA 2022秋季数值分析课提交的大作业基础上,再进行修改的产物。 10系人,提供的代码不一定完善/正确,欢迎提出意见/建议。 抄袭后果自负~课代表会查重滴~ 【point 1】幂法主要用于计算矩阵的按模为最大的特征值和相应的特征向量。可通过构建带有位移的矩阵计算得出实际最大 阅读全文
posted @ 2023-02-13 20:07 致命一姬 阅读(256) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2023-02-07 18:02 致命一姬 阅读(0) 评论(0) 推荐(0)
摘要:本博客提供的代码为在BUAA 2022秋季数值分析课提交的大作业基础上,寒假进行修改的产物。 10系人,提供的代码不一定完善/正确,欢迎提出意见/建议。 #include <iostream> #include <vector> #include <cassert> #include <math.h 阅读全文
posted @ 2023-01-31 23:33 致命一姬 阅读(240) 评论(0) 推荐(1)
摘要:例: point:牛顿法易失败,需要更换初始值重新进行迭代计算。 double Newton(double t, double y, double x ) { double epsilon = 1e-14; int M = 1000; double F; double dF; double ddy; 阅读全文
posted @ 2023-01-31 21:41 致命一姬 阅读(175) 评论(0) 推荐(0)
摘要:复化simpson公式: double simpson(vecRow y, double h=0.1,int n=51) { double result; double ya{ y[0] }; double yb{ y[n-1] }; int m{ (n - 1) / 2 }; double sum 阅读全文
posted @ 2023-01-31 21:26 致命一姬 阅读(383) 评论(0) 推荐(0)
摘要:最常用:四阶龙格库塔方法 例: #include <iostream> #include <fstream> #include <cstring> double func(double x) { return x * (1 - x); } void RK(double x0,double x[20] 阅读全文
posted @ 2023-01-31 21:06 致命一姬 阅读(407) 评论(0) 推荐(0)
摘要:源代码,截取至数值分析期末大作业。其中一步为多项式曲线拟合,求解出符合拟合精度的函数表达式。 拟合和插值的区别? 1.拟合:不必经过所有点 2.插值:必须经过所有点 (1)曲线拟合 (2)误差的计算 (3)多项式曲线拟合 步骤: 1.设定k阶多项式 2.计算ATAc*=ATy ,得出c* 3.计算误 阅读全文
posted @ 2023-01-31 19:44 致命一姬 阅读(2369) 评论(0) 推荐(0)
摘要:给出n阶方阵A,求解其逆矩阵A-1的方法: 1.构造n×2n的矩阵(A,I) 2.用高斯-约旦消元法将其化简为(I,A-1),即可得到A的逆矩阵A-1 第一版的代码: void inverse(double A[N][N], double k, double inv_A[N][N]) { doubl 阅读全文
posted @ 2023-01-20 22:27 致命一姬 阅读(326) 评论(0) 推荐(0)
摘要:原代码【截取至大作业4】 void equation_solver(double dF_o[21][21], double F_o[21], double dx[100],int K) { int point = 0; double temp = 0.0; double dF[21][21];dou 阅读全文
posted @ 2023-01-16 21:41 致命一姬 阅读(323) 评论(0) 推荐(0)
摘要:第一版 /*m:A的行 * o:A的列,B的行 * n:B的列 * res:存储最终的结果 */ void multi(double A0[21][21], double B0[21][21], int m, int o, int n, double res[21][21]) { double A[ 阅读全文
posted @ 2023-01-15 22:33 致命一姬 阅读(782) 评论(0) 推荐(0)