云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 北航数值分析报告计算实习报告材料一

北航数值分析报告计算实习报告材料一

  • 62 次阅读
  • 3 次下载
  • 2025/6/17 13:58:17

实用文案

int max_iterations;//最大值迭代次数

int abs_min_iterations;//求绝对值最小的迭代次数 };

int main() {

FinalValue main_num= {0,0,0,0}; double temp;//两值交换中间变量 int temp1;

double u[501]={0};//,y[501];//为u0赋初值 double Norm_u=0;//范数 double C[5][501] = {0}; InitC(C);//初始化C int i=0,*iterations; Initu(u);

iterations = &main_num.min_iterations; main_num.min = Get_Fabs_Eigenvalue(C[2],u,iterations);//将求得的绝对值最大特征值放到min变量中

main_num.abs_max = main_num.min; A_sub_minI(C[2],main_num.min); for(i=0;i<501;i++) u[i]=i+1;

iterations = &main_num.max_iterations; main_num.max = Get_Fabs_Eigenvalue(C[2],u,iterations);//将求得的绝对值最大特征值放到min变量中

main_num.max += main_num.min; if(main_num.min>main_num.max) {

temp = main_num.min;

main_num.min = main_num.max; main_num.max = temp;

temp1 = main_num.min_iterations;

main_num.min_iterations = main_num.max_iterations; main_num.max_iterations = temp1; }

printf(\最小特征值为:%.12e,迭代次数为:%d\\n\ printf(\最大特征值为:%.12e,迭代次数为:%d\\n\ /**********************************/ /*以下利用反幂法求解模最小的特征值*/ /**********************************/ InitC(C);//初始化C Initu(u);

标准文档

实用文案

DoolittleC(C,501,2,2); main_num.detA = detA(C);

iterations = &main_num.abs_min_iterations;

main_num.abs_min = Get_min_Eigenvalue(C,u,501,2,2,iterations); main_num.cond2 = fabs(main_num.abs_max/main_num.abs_min);

printf(\绝对值最小特征值为:%.12e,迭代次数为:%d\\n\ printf(\的行列式为:%.12e;\

printf(\的条件数cond(A)2为:%.12e\\n\ /**********************************************/ /*以下利用反幂法求与数列Uk中元素最相近的特征值*/ /**********************************************/ double Uk[39];//保存Uk的值并保存与Uk[i]最接近的λ double B[39]; int diedai;

iterations = &diedai; for( i=1;i<=39;i++) {

Uk[i-1] = main_num.min + i*(main_num.max - main_num.min)/40; InitC(C); Initu(u);

for(int j =0;j<501;j++) C[2][j] -= Uk[i-1]; DoolittleC(C,501,2,2);

B[i-1] = Get_min_Eigenvalue(C,u,501,2,2,iterations); B[i-1] +=Uk[i-1];

printf(\μ%-2d=%-3.12e,与μ%-2d最相近的特征=%-3.12e\\n\ }

return 0; }

double detA(double C[5][501]) {

int i =0; double e =1;

for(i =0;i<501;i++) e*=C[2][i]; return e; }

void InitMatrix(double *p) {

标准文档

值λ实用文案

for(int i=1;i<=501;i++) {

*p=(1.64-0.024*i)*sin(0.2*i)-0.64*exp(0.1/i); p++; } }

void Initu(double *p) {

for(int i=1;i<=501;i++) {

if(i<=500) *p=0; else *p=1; p++; } // *p=1; }

void A_sub_minI(double *a,double min) {

for(int i=1;i<=501;i++) {

*a=*a-min; a++; } }

double NeiJi(double *a,double *b) {

double e=0.0;

for(int i=0;i<501;i++) {

e=e+(*a)*(*b); a++; b++; }

return e; }

void get_y(double *y,double *u) { double Norm_u=sqrt(NeiJi(u,u)); for(int i=0;i<501;i++) {

标准文档

实用文案

*y = *u/Norm_u; y++; u++; } }

void get_u(double *u,double *y,double *a) {

u[0]=a[0]*y[0]+b*y[1]+c*y[2];

u[1]=b*y[0]+a[1]*y[1]+b*y[2]+c*y[3]; for(int i=2;i<499;i++)

u[i]=c*y[i-2]+b*y[i-1]+a[i]*y[i]+b*y[i+1]+c*y[i+2]; u[499]=c*y[497]+b*y[498]+a[499]*y[499]+b*y[500]; u[500]=c*y[498]+b*y[499]+a[500]*y[500]; }

void InitC(double C[5][501]) {

int i;

for(i = 2;i < 501;i++) {

C[0][i] = -0.064; C[4][i-2] = -0.064; }

for(i = 1;i < 501;i++) {

C[1][i] = 0.16; C[3][i-1] = 0.16; }

for(i = 1;i <= 501;i++) {

C[2][i-1] = (1.64-0.024*i)*sin(0.2*i)-0.64*exp(0.1/i); } }

double Get_Fabs_Eigenvalue(double *a,double *u,int *iterations) {

double y[501],B_k0=0,B_k1=0; double wucha; int i=0; while(1) {

++i;

标准文档

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

实用文案 int max_iterations;//最大值迭代次数 int abs_min_iterations;//求绝对值最小的迭代次数 }; int main() { FinalValue main_num= {0,0,0,0}; double temp;//两值交换中间变量 int temp1; double u[501]={0};//,y[501];//为u0赋初值 double Norm_u=0;//范数 double C[5][501] = {0}; InitC(C);//初始化C int i=0,*iterations; Initu(u); iterations = &main_num.min_iterations; main_num.min = Ge

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com