- 博客(8)
- 收藏
- 关注
原创 数值线性代数之cholesky平方根法(MATLAB)
1. 该方法只适用于对称正定矩阵所以我们可以解得L代入原方程组即可2. MATLAB代码function [L]=mycholesky (A)n=length(A);for k=1:n A(k,k)=sqrt(A(k,k)); A(k+1:n,k)=A(k+1:n,k)/A(k,k); for j=k+1:n ...
2020-03-27 21:32:06 3224
原创 数值线性代数之列主元Gauss消去法(MATLAB)
1. 这是啥?在使用Gauss变换的过程中,如果矩阵对角线的元素太小,会干扰计算结果,所以我们尽量把每列较大的元素通过行变换挪到对角线上。2. 第二个红框只是普通的Guass变换,第一个红框就是选择最大列主元的算法。3. 下图中,左边的L代表的是常规的Gauss变换,P代表行变换4. 于是我们要解的方程就从Ax=b变成了LUx=Pb,接下来使用上下三角矩阵的前代法和回代法解...
2020-03-27 21:11:52 5133
原创 数值线性代数之Gauss分解(MATLAB)
1. 什么是Gauss变换对于一个向量x,左乘一个矩阵Lk,使得x变成向量y,该y向量第k个元素起皆为0。 比如x=(2,2,6)', 将其转化为向量y=(2,0,0)'。其中的Lk为向量ek=(0,0,...,0,1,0,...,0),2. 你可能没怎么看懂或者懒得看,我们来举个栗子所以Gauss变换至少要保证求分母不为0,不是所有矩阵都可以用的。3. 上个例子是针...
2020-03-27 17:57:23 5197 1
原创 数值线性代数之前代法解下三角方程组和回代法解上三角(MATLAB)
下三角方程组形如解得即MATLAB代码:function b=myFM(L,b)n=length(b);for j=1:n-1 b(j)=b(j)/L(j,j); b(j+1:n)=b(j+1:n)-b(j).*L(j+1:n,j);endb(n)=b(n)/L(n,n);同理,对上三角矩阵MATLAB代码:...
2020-03-27 14:11:59 6428 1
原创 C++ 蒙特卡洛求积分
最简单的蒙特卡洛法求指数函数在[0,1]上的积分,面积法const int numberOfMCSimulations = 1000000;double lowerBound = 0.0;double upperBound = 1.0;// We need to draw a rectangle which, for positive functions, has a range on...
2020-03-10 00:00:39 2297 1
原创 MATLAB实现矩阵雅可比(Jacobi)迭代
包含三个function,下列代码最后一段是主函数,其他都是function。三个function建议从下往上看。function [x,k,resvec,DD,ID,JD,D,Ab] = jacobis(AA,IA,JA,b,x,tol,kmax)%This function is an implementation of Jacobi’s%iterative method for so...
2020-03-01 20:13:08 8286
原创 MATLAB实现矩阵given变换
一共三个function文件,分别如下function [H,Q,c,s,B]=givensqr(H)[n,m]=size(H);Q=eye(n);for k=1:ma=H(k,k);b=H(k+1,k);[c,s]=givens(a,b);H=gmatmat(H,c,s,k);M=eye(n);M(k,k)=c;M(k,k+1)=-s;M(k+1,k)=s;M(k+1,k...
2020-03-01 20:08:30 3478 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人