第一范文网 - 专业文章范例文档资料分享平台

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

来源:用户分享 时间:2025/5/16 2:48:56 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

实用文案

get_y(y,u); get_u(u,y,a);

B_k1=NeiJi(y,u);//是否判断B_K1是否为0?

wucha=(fabs(B_k1-B_k0))/(fabs(B_k1));//get wucha if(wucha<=Precision) break;

else if(i>10000) {

printf(\迭代次数超长,请更改初始向量\\n\ break; }

else B_k0 = B_k1; }

*iterations = i; return B_k1; }

double Get_min_Eigenvalue(double C[5][501],double *u,int n,int *iterations) {

double y[501] = {0},B_k0=0,B_k1=0;

double b[501] = {0};//储存y值的中间向量 double wucha; int i=0; while(1) {

++i;

get_y(y,u);

copy(b,y);//保护y向量

Doolittle_getx(C,y,u,501,2,2); copy(y,b);

B_k1=NeiJi(y,u);//是否判断B_K1是否为0?

wucha=(fabs(1/B_k1-1/B_k0))/(1/fabs(B_k1));//get wucha // wucha=(fabs(B_k1-B_k0))/(fabs(B_k1));//get wucha if(wucha<=Precision) break;

else if(i>10000) {

printf(\迭代次数超长,请更改初始向量\\n\ break; }

else B_k0 = B_k1; }

*iterations = i;

标准文档

s,int r,int 实用文案

return (1/B_k1); }

void Doolittle_getx(double C[5][501],double y[501],double u[501],int n,int s,int r) {

int i,t; double e;

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

e = 0;

for(t = max(1,i-r);t <= i-1;t++) {

e+=C[i-t+s+1-1][t-1]*y[t-1]; }

y[i-1] -= e; }

u[n-1] = y[n-1]/C[s+1-1][n-1]; for(i = n-1;i>=1;i--) {

e = 0;

for(t = i+1;t<=min(i+s,n);t++) e += C[i-t+s+1-1][t-1]*u[t-1]; u[i-1] = (y[i-1] - e)/C[s+1-1][i-1]; } }

void copy(double b[501],double y[501]) {

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

b[i] = y[i]; } }

void DoolittleC(double C[5][501],int n,int s,int r) {

int k,j,i,t; double e;

for(k = 1;k <= n;k++) {

for(j = k;j <= min(k+s,n);j++) { e = 0;

标准文档

实用文案

for(t = max(max(1,k-r),j-s);t <= k-1;t++) {

e = e + C[k-t+s+1-1][t-1]*C[t-j+s+1-1][j-1]; }

C[k-j+s+1-1][j-1] = C[k-j+s+1-1][j-1] - e; }

if(k == n) break;

for(i = k+1;i <= min(k+r,n);i++) { e = 0;

for(t = max(max(1,i-r),k-s);t <= k-1;t++) {

e = e + C[i-t+s+1-1][t-1]*C[t-k+s+1-1][k-1]; }

C[i-k+s+1-1][k-1] = (C[i-k+s+1-1][k-1] - e)/C[s+1-1][k-1]; } } }

int min(int a,int b) {

if(a

return a; else return b; }

int max(int a,int b) {

if(a>=b)

return a; else

return b; }

标准文档

实用文案

附录:部分实验程序截图

1、u1?501??1,1,?,1?

T

标准文档

北航数值分析报告计算实习报告材料一.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c95ies86bfu3cwgi893aj3uh255c6he00c6y_4.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top