91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 7KB
    文件類型: .cpp
    金幣: 1
    下載: 1 次
    發布日期: 2021-08-06
  • 語言: C/C++
  • 標簽: 大作業??

資源簡介

北航數值分析課后的大作業,程序輸出正確??梢灾苯邮褂?。

資源截圖

代碼片段和文件信息

//?homework1.cpp?:?定義控制臺應用程序的入口點。
//

#include?“stdafx.h“


int?_tmain(int?argc?_TCHAR*?argv[])
{
return?0;
}

#include
#include
#include
#include

#define?ER?1e-12?//迭代精度水平
#define?N?5???//矩陣的行數
#define?M?501??//矩陣的列數


//A用于冪法和反冪法的計算,A0用于存儲原始矩陣A的數據其值一直不變,LU用于存儲Doolittle分解后的LU陣
double?A[N][M]?=?{?0?0?}?A0[N][M]?=?{00}?LU[N][M]?=?{?0?0?};

//函數聲明
void?dooLittleFJ();???//將矩陣A進行doolittle分解,分解的矩陣存于LU中
void?dooLittleQJ(double?*b?double?*x);??//從已經分解完成的LU矩陣中求解X
int?aPowerMethod(double?u[]?int?&d?double?&r1);??//反冪法,其中u[]為初始迭代向量,d記錄迭代次數,r1記錄最終求得的特征值。
???????????????????????????????????????????????????//返回1則在規定最大迭代次數內迭代完成,返回-1則超過最大迭代次數,求解失敗
int?powerMethon(double?u[]?int?&d?double?&r1);????//冪法,參數含義返回值含義與反冪法相同
void?init();??//初始化矩陣的值
void?taolun();//輸入不同的初始向量進行討論分析的函數

void?dooLittleFJ()
{
int?tempEtempBs=N/2;
for?(int?k?=?0;?k? {
if?(k?+?s?>=?M)
tempE?=?M-1;
else
tempE?=?k?+?s;

for?(int?i?=?k;?i?<=tempE;?i++)
{
LU[k-i+s][i]?=?A[k-i+s][i];
if?(i?-?s?<=?0)
tempB?=?0;
else
tempB?=?i?-?s;
for?(int?t?=?tempB;?t?<=?k?-?1;?t++)
{
LU[k-i+s][i]?-=?LU[k-t+s][t]?*?LU[t-i+s][i];
}
}
for?(int?j?=?k?+?1;?j?<=tempE;?j++)
{
if?(j?-?s?<=?0)
tempB?=?0;
else
tempB?=?j?-?s;
LU[j-k+s][k]?=?A[j-k+s][k];
for?(int?t?=?tempB;?t?<=?k?-?1;?t++)
{
LU[j-k+s][k]?-=?LU[j-t+s][t]?*?LU[t-k+s][k];
}
LU[j-k+s][k]?/=?LU[s][k];
}
}

}

void?dooLittleQJ(double?*b?double?*x)
{
double?*y?=?new?double[M];
int?s?=?N?/?2tempBtempE;
for?(int?i?=?0;?i? {
y[i]?=?b[i];
if?(i?-?s?<=?0)
tempB?=?0;
else
tempB?=?i?-?s;
for?(int?t?=?tempB;?t?<=?i?-?1;?t++)
{
y[i]?-=?LU[i?-?t?+?s][t]?*?y[t];
}
}
for?(int?i?=?M?-?1;?i?>=?0;?i--)
{
x[i]?=?y[i];
if?(i?+?s?>=?M)
tempE?=?M?-?1;
else
tempE?=?i?+?s;
for?(int?t?=?i?+?1;?t?<=tempE;?t++)
{
x[i]?-=?LU[i?-?t?+?s][t]?*?x[t];
}
x[i]?/=?LU[s][i];
}
}

int?aPowerMethod(double?u[]int?&ddouble?&r1)
{
double??*y?=?new?double[M];
double?h?r0?=?0;
int?maxD=12000;?//最大迭代次數,超過次次數視為失敗
r1=?d?=?0;
dooLittleFJ();
while?(maxD)
{
d++;
maxD--;
h?=?0;
for?(int?i?=?0;?i? {
h?+=?u[i]?*?u[i];
}
h?=?pow(h?0.5);
for?(int?i?=?0;?i? {
y[i]?=?u[i]?/?h;
}
dooLittleQJ(yu);
r1?=?0;
for?(int?i?=?0;?i? {
r1?+=?u[i]?*?y[i];
}
if?(fabs(r1?-?r0)?/?fabs(r1)?<=?ER)
{
r1?=?1?/?r1;
return?1;
}
r0?=?r1;
}
return?-1;
}


int?powerMethon(double?u[]int?&ddouble?&r1)
{
double??*y?=?new?double[M];
double?h?r0?=?0;
int?tempBtempEmaxD=12000;?
r1?=d?=?0;

while?(maxD)
{
d++;
maxD--;
h?=?0;
for?(int?i?=?0;?i? {
h?+=?u[i]?*?u[i];
}
h?=?pow(h?0.5);
for?(int?i?=?0;?i? {
y[i]?=?u[i]?/?h;
}
r1?=?0;

評論

共有 條評論