数学算法
付修磊
微信公众号 南极Python
展开
-
蒙特卡洛方法计算圆周率
#蒙特卡洛方法计算圆周率from random import randoms=1000*1000#撒点的个数hist=0.0#圆内的点的初值for i in range(0,s+1): x=random() y=random() if pow(x**2+y**2,0.5)<=1: hist+=1...原创 2018-04-04 22:51:13 · 1996 阅读 · 0 评论 -
高斯顺序消去法的Matlab实现
高斯顺序消去法的Matlab实现%消元过程n=input('input n:');A=input('input your matrix:');b=input('input your bias');for k=1:n-1 A(k+1:n,k)=A(k+1:n,k)/A(k,k); %算子 A(k+1:n,k+1:n)=A(k+1:n,k+1:n)-A(k...原创 2018-09-10 14:20:02 · 18654 阅读 · 2 评论 -
Cholesky分解算法Matlab代码
n=input('请输入矩阵阶数:\n');A=input('请输入待求解的对称正定矩阵:\n');for k =1:n-1 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 A(j:n,j)=A(j:n,j)-A(j:n,k)*A(j,k); endendA(n,...翻译 2018-10-08 13:49:38 · 11877 阅读 · 2 评论 -
简单迭代法
简单迭代法A=input('请输入待求解的系数矩阵:\n');b=input('输入b:');nmax=('最大迭代次数是几?');eps=('误差是几?');x0=('初始解是几?');n=size(A);for k = 1:100 for i=1:n s=0; for j=1:i-1 s=s+A(i,j)*x(j...原创 2018-10-22 14:13:14 · 3936 阅读 · 0 评论 -
Jacobi
Jacobifunction[x,k,index]=Jacobi(A,b,ep,it_max)if nargin<4 it_max=100;endif nargin<3 ep=1e-5;endn=length(A);k=0; x=zeros(n,1);y=zeros(n,1);index=1;while k<=it_max fo...原创 2018-11-05 13:55:29 · 875 阅读 · 0 评论