SOR迭代法的Matlab程序,用MATLAB语言编写,用SOR迭代求解线性方程组
上传时间: 2017-06-03
上传用户:小宝爱考拉
该代码是《科学与工程数值算法》(visual C++实现)一书中的源代码,里面包括常见的数值算法的实现,主要包括复数运算、矩阵运算、线性方程组的求解、非线性方程组的求解以及差值和数值积分的实现。
上传时间: 2017-06-25
上传用户:miaochun888
matlab开发环境,Broyden迭代法解非线性方程组,其中的M文件
上传时间: 2014-12-07
上传用户:zhuyibin
matlab开发环境下,牛顿迭代法解非线性方程组,使用者把非线性方程组的M文件fx1(x)和非线性方程组导数的M文件dfx1(x)相应代入即可。
上传时间: 2014-12-22
上传用户:1583060504
共轭梯度法为求解线性方程组而提出。后来,人们把这种方法用于求解无约束最优化问题, 使之成为一种重要的最优化方法。 共轭梯度法的基本思想是把共轭性与最速下降方法相结合, 利用已知点处的梯度构造一组共 轭方向, 并沿这组方向进行搜索, 求出目标函数的极小点。 根据共轭方向的基本性质, 这种 方法具有二次终止性。 在各种优化算法中, 共轭梯度法是非常重要的一种。 其优点是所需存 储量小,具有步收敛性,稳定性高,而且不需要任何外来参数。 共轭方向 无约束最优化方法的核心问题是选择搜索方向 . 在本次实验中 , 我们运用基于共轭方向的一种 算法 — 共轭梯度法 三.算法流程图: 四.实验结果: (1). 实验函数 f=(3*x1-cos(x2*x3)-1/2)^2+(x1^2-81*(x2+0.1)+sin(x3)+1.06)^2+(exp(-x1*x2)+20*x3+ 1/3*(10*3.14159-3))^2; 给定初始点 (0,0,0) , k=1 ,最 大迭代次数 n d 确定搜索方向 进 退 法 确 定 搜 索 区 间 分割法确定最 优步长
上传时间: 2016-05-08
上传用户:saren11
matlab变成,实现高斯消元法求解线性方程组
标签: 高斯
上传时间: 2016-12-27
上传用户:42211
数值计算关于大型线性方程组不完全LU分解的源代码,使用MATLAB
标签: 不完全LU分解
上传时间: 2017-11-08
上传用户:天琊无悔
分析给出浮点、定点的基本运算舍入误差问题,以及在基本变换、线性方程组、稀疏矩阵还有不断试错,快速迭代过程中必须注意避免的舍入误差问题。
标签: 误差分析
上传时间: 2018-11-23
上传用户:milo
共轭梯度法在计算工程中求解线性方程组和无约束优化问题中有广泛的应用
上传时间: 2019-06-16
上传用户:Shenx_u
# include<stdio.h> # include<math.h> # define N 3 main(){ float NF2(float *x,float *y); float A[N][N]={{10,-1,-2},{-1,10,-2},{-1,-1,5}}; float b[N]={7.2,8.3,4.2},sum=0; float x[N]= {0,0,0},y[N]={0},x0[N]={}; int i,j,n=0; for(i=0;i<N;i++) { x[i]=x0[i]; } for(n=0;;n++){ //计算下一个值 for(i=0;i<N;i++){ sum=0; for(j=0;j<N;j++){ if(j!=i){ sum=sum+A[i][j]*x[j]; } } y[i]=(1/A[i][i])*(b[i]-sum); //sum=0; } //判断误差大小 if(NF2(x,y)>0.01){ for(i=0;i<N;i++){ x[i]=y[i]; } } else break; } printf("经过%d次雅可比迭代解出方程组的解:\n",n+1); for(i=0;i<N;i++){ printf("%f ",y[i]); } } //求两个向量差的二范数函数 float NF2(float *x,float *y){ int i; float z,sum1=0; for(i=0;i<N;i++){ sum1=sum1+pow(y[i]-x[i],2); } z=sqrt(sum1); return z; }
上传时间: 2019-10-13
上传用户:大萌萌撒