高斯演算法(1)
#include "stdio.h"
#include "math.h"
#include "stdlib.h"
void max_ele(double af[21],int n,int k) /* 選主元 */
} int gauss(double a[20],double f,double x,int n)
/* guass 消去法,引入af[20[21],x是為了不改變矩陣a,f
及簡化程式 */
for (k=1;k
for (j=k;j<=n+1;j++) af[k][j]/=del;
for (i=k+1;i<=n;i++)
} del=af[n][n];
for (j=n;j<=n+1;j++) af[n][j]/=del;
for (j=1;j<=n;j++) x[j]=af[j][n+1];
for (i=n-1;i>0;i--)
for (j=n;j>i;j--) x[i]-=x[j]*af[i][j];
return 1; }
void test1()
/* 檢驗 guass消去法 */
for (i=1;i<=n;i++)
gauss(a,f,x,n);
printf("the system solution is:/n");
for (i=1;i<=n;i++) printf("%lf ",x[i]);
printf("/n"); }
int inver(double a[20][20],double e[20][20],int n)
/* 用追趕法求三對角陣 a 的逆 */
ae[i][n+i]=1; }
for(i=1;i<=n-1;i++)
} del=ae[n][n];
for(j=n;j<=n*2;j++)
ae[n][j]/=del;
for(i=1;i<=n;i++)
for(i=n;i>1;i--)
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
e[i][j]=ae[i][n+j];
return 1; }
void mult(double a[20],double e[20],double f[20],int n)
} void minus(double a[20],double b[20],double c[20],int n)
main()
, r[20][20],x[20];
printf("請輸入主梁數目,gamma,beta,beta1:/n");
scanf("%d,%lf,%lf,%lf",&n,&gamma,&beta,&beta1);
m=n-1;
for (i=1;i<=m;i++)
for (j=1;j<=m;j++)
a[i][j]=b[i][j]=c[i][j]=d[i][j]=0;
deltag=2*(1+gamma+beta);
deltax=2*(gamma+3*beta1);
printf("%8.4f %8.4f/n",deltag,deltax);
for (i=1;i<=m;i++)
for (i=1;i<=m-1;i++)
inver(a,e,m);
for (i=1;i<=m;i++)
mult(c,e,f,m);
mult(f,d,e,m);
minus(b,e,r,m);
gauss(r,gx,x,m);
printf("the result is:/n");
for (j=1;j<=m;j++)
printf("%8.4f ", x[j]);
printf("/n"); }
初入演算法 高斯演算法
剛開始學習資料結構和演算法,資料結構是一門研究非數值計算的程式設計問題中的操作物件,以及他們之間的關係和操作等相關問題的學科,簡單來說就是 程式設計 資料結構 演算法 遇到的第乙個高斯演算法 1加到100,很簡單,用迴圈也能做出來 但是迴圈會計算100次,而用高斯演算法只會計算1次 提高效率 演算法...
高斯模糊演算法
正太分布,又稱高斯分布 正態分佈的前世今生 上 正態分佈的前世今生 下 通常,影象處理軟體會提供 模糊 blur 濾鏡,使產生模糊的效果。模糊 的演算法有很多種,其中有一種叫做 高斯模糊 gaussian blur 它將正態分佈 又名 高斯分布 用於影象處理。本文介紹 高斯模糊 的演算法,你會看到這...
高斯模糊演算法
通常,影象處理軟體會提供 模糊 blur 濾鏡,使產生模糊的效果。模糊 的演算法有很多種,其中有一種叫做 高斯模糊 gaussian blur 它將正態分佈 又名 高斯分布 用於影象處理。本文介紹 高斯模糊 的演算法,你會看到這是乙個非常簡單易懂的演算法。本質上,它是一種資料平滑技術 data sm...