0
Tải bản đầy đủ (.doc) (53 trang)

Xử lý số liệu không dùng đối tượng đối sánh

Một phần của tài liệu KHÓA LUẬN TỐT NGHỆP NGHIÊN CỨU ÁP DỤNG PHƯƠNG PHÁP TẦN SUẤT – NHẬN DẠNG TRONG GIẢI ĐOÁN ĐỊA CHẤT SỐ LIỆU ĐỊA VẬT LÝ HÀNG KHÔNG (Trang 32 -32 )

Xử dụng trường hợp 2 của chương trình đã thành lập để xử lý số liệu toàn bộ vùng nghiên cứu. Với trường hợp này số liệu đầu vào bao gồm các số liệu của đối tượng mẫu và số liệu của toàn bộ diện tích nghiên cứu.

Các thông tin sử dụng bao gồm: tài liệu từ (T và ΔT), các số liệu đo phổ (U, Th, K, trường tổng gamma). Đối tượng mẫu lựa chọn vẫn là 2 đối tượng mẫu được dùng trong phần trên đó là cụm dị thường 68 và cụm 90.

Sau khi số liệu được xử lý trên chương trình kết quả được file dữ liệu mới P*

m với toạ độ tương ứng. Kết quả này được biểu diễn trên bản đồ bằng các đường đẳng trị (hình 3.3, 3.4).

Các kết quả này tương đối phù hợp với kết quả phân tích có đối tượng đối sánh và phù hợp với những nghiên cứu trước đây về triển vọng khoáng sản của khu vực.

Tên?

TÊN

KẾT LUẬN

Trên cơ sở nghiên cứu tìm hiểu lý thuyết và một số thuật toán nhận dạng đang được ứng dụng trong xử lý phân tích tài liệu địa vật lý ở nước ta hiện nay, khoá luận đã trình bày một cách tiếp cận giải quyết bài toán nhận dạng thông qua việc ứng dụng phương pháp phân tích tần suất theo thuật toán Giffiths – Vinni. Khoá luận đã đạt được những kết quả sau:

Nghiên cứu và đưa vào ứng dụng một phương pháp đánh giá lựa chọn thông tin để từ một tổ hợp thông tin ban đầu chọn ra các thông tin có chất lượng cao nhằm nâng cao hiệu quả của các thuật toán phân tích nhận dạng.

Từ thuật toán phân tích tần suất phát triển thành một phương pháp phân tích nhận dạng và thành lập một chương trình xử lý trên máy tính tương ứng.

Tiến hành phân tích thử nghiện với tài liệu thực tế là tài liệu phổ gamma hàng không vùng đông Tuy Hoà và đã cho những kết quả tốt.

Các kết quả này có thể đưa vào ứng dụng thực tế và cải thiện thêm để đạt được những hiệu quả cao nhất có thể. Sử dụng kết quả của khoá luận này góp phần nâng cao hiệu quả khai thác sử dụng thông tin trong xử lý phân tích các tổ hợp số liệu địa vật lý đặc biệt là đối với tài liệu từ - phổ gamma hàng không, một nguồn dữ liệu đồ sộ và phong phú ở nước ta hiện nay.

Về mặt nguyên tắc, phương pháp này có thể áp dụng cho các tổ hợp số liệu địa chất, địa hoá, địa vật lý… Tuy nhiên khoá luận này mới chỉ bước đầu ứng dụng phương pháp trên tổ hợp số liệu từ - phổ gamma hàng không. Trong thời gian tới cần những thử nghiện với các vùng diện tích và các dạng tài liệu khác để từng bước hoàn thiện và mở rộng phạm vi áp dụng của phương pháp.

TÀI LIỆU THAM KHẢO

1. Bùi Thế Bình, Giáo trình Địa vật lý tổ hợp, Hà nội 2004, Đại học Mỏ Địa chất. 2. Đào Hữu Hồ, Nguyễn Hồng Minh, Xử lý số liệu bằng thống kê toán học trên

máy tính, Hà Nội 2004, NXB ĐH Quốc gia Hà Nội.

3. Đặng Mai, Toán ứng dụng trong địa chất, Hà Nội 2004, NXB ĐH Quốc gia Hà Nội.

4. Lê Khánh Phôn, Thăm dò phóng xạ, 2004, NXB Giao thông vận tải.

5. Nguyễn Quang Quý, Quy phạm kỹ thuật công tác địa vật lý máy bay, Hà Nội 1987, Tổng cục địa chất.

6. Võ Thanh Quỳnh (chủ biên), Nguyễn Xuân sơn, Nguyễn Văn Phùng, Báo cáo kết quả bay đo từ - phổ gamma tỷ lệ: 1:25.000 vùng Tuy Hoà. Hà Nội 2004, lưu trữ Cục Địa chất và Khoáng sản Việt Nam.

7. Mai Thanh Tân, Địa vật lý đại cương, Hà Nội 2004, NXB Giao thông vận tải. 8. Phạm Năng Vũ, Bài giảng cơ sở lý thuyết xử lý số liệu địa vật lý, Hà Nội 2002,

PHỤ LỤC 1: CHƯƠNG TRÌNH PHÂN TÍCH TẦN XUẤT – NHẬN DẠNG #include<stdio.h> #include<conio.h> #include<math.h> #include<stdlib.h> #include <iostream> int main(){ int n,m,i,j,o,i1,i2,i3,k1,k2,k3,k4,k5,k[20] ; double tong2;

float buoc, buocx, buocy, p[20][2000], mt[20][2000], a, b, c, d, e, f, g, pm, h[20][2000], h1[20][2000], tx[20], tx1[20], minx, maxx, miny, maxy, chuyenx, chuyeny, x, y, y1, y2, y3, y4, y5, y6, y7, y8, y9, xy, xy2 ,khoang[20][2], max, min , tong, p1[20][2000], dt[20][5000], kq[3][5000];

char filename[20],filename2[20]; FILE *file, *output, *file2;

printf ("\n\n\tCHUONG TRINH PHAN TICH TAN XUAT \n\n\tNhap vao file du lieu \n\n\tluu y!!! File du lieu phai nam trong cung mot foder voi chuong trinh\n\tCau truc cua file text (.txt) du lieu la:\n\t-dong dau tien la so cap phan tu cua tap du lieu\n\t- Moi dong tiep theo la mot cap so lieu duoc viet cach nhau\n\tSo dau trong moi dong la toa do x so thu 2 la y\n\t ");

fflush(stdin);

printf ("\n\tNhap vao file du lieu cua doi tuong mau:\n\t LUU Y: PHAN MEM TAM THOI CHI CO THE LAM VOI FILE DU LIEU CO KICH THUOC 20X5000:\n\t: ");

scanf("%s",filename); file= fopen(filename,"r"); fscanf(file,"%d""%d",&n,&m); i=0;

for (i=0;i<n ;i++) { j=0; printf ("\n\n"); for (j=0;j<m+2;j++) { fscanf(file,"%f",&a); p[j][i] = a; printf ("\t%f ",p[j][i]); } } fclose(file);

if (n> 1000 || m>18) printf("\n\t Phan mem tam thoi chi co the tinh gioi han \n\t m < 5000 va n<18\n\tKhong thoa man dieu kien nay ket qua se khong chinh xac!\n");

printf ("\n\t\tDa nhap xong tap du lieu");

printf ("\n\t\tSo lieu ban vua nhap vao la: \n\t m = %d,\tn= %d",m,n);

i=0;

for (i=0;i<n ;i++) { j=0; printf("\n"); for (j=0;j<m+2 ;j++) { mt[j][i]=p[j][i]; printf("\t%f",p[j][i]); } }

for (o=1; o<m+2; o++) {

o=o+1;

printf ("vong lap xac dinh gia tri max, min cua tap so lieu");

max=p[o][0]; min=p[o][0];

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

h[0][i]= h1[0][i]= h[o][i]=0; if (p[o][i] > max) max= p[o][i]; if (p[o][i] < min) min= p[o][i]; printf ("\n max= %f\tmin=%f",max,min); }

printf ("\n\t max = %f \t min = %f", max, min); d=(max-min)/(n/5);

k5=n/5; e=d/2;

printf ("\n\t1 khoang chia= %f\n\t so khoang chia: %d",d,k5);

for (i1=0; i1<k5; i1++) {

y1=min+(i1*d);

y2=min+ ((i1+1)*d);

h[o][i1]=0;

h1[o][i1]=min+i1*d+e; for (i=0; i<n; i++)

if (p[o][i]>=y1&&p[o][i]<(y2+0.00001)) h[o] [i1]=h[o][i1]+1;

printf(" \n chia khoang va dem:\n\t Xtb= %f\t Sdem= %f ",h1[o][i1],h[o][i1]);

printf("\n\t sai lech %f",e); tong=0;

tong2=0;

for (i=0; i<n; i++) tong=tong+p[o][i]; printf ("\n tong= %f",tong);

y4=n;

tong=tong/y4;

printf ("\n Gia tri TB= %f", tong); for (i=0; i<n; i++)

{ y3=p[o][i]-tong; y3=pow(y3,2); tong2=tong2+y3; } y4=y4-1;

printf("\n Tong binh phuong = %f",tong2); tong2=tong2/y4;

printf ("\n tong2/n-1 = %f ",tong2); tong2=pow(tong2,0.5) ;

printf ("\n can2 cua tong2 = %f ",tong2); y4=n;

y4= pow(y4,0.5); tong2= tong2/y4; tong2=1.15*tong2;

printf (" \n\t Khoang chinh xac 0.75 la : %f ", tong2); y1=tong-tong2;

y2=tong+tong2;

khoang[o][0]=y1; //gioi han duoi cua tính chat thu o ****

khoang[o][1]=y2; //gioi han tren cua tinh chat thu o ****

printf("\n\tkhoang chinh xac 0.75 la: tu %f den %f ",y1,y2);

/* Tinh ma tran thong tin*/ for (i=0 ; i<n; i++)

{

if (p[o][i]>=y1&&p[o][i]<=y2) mt[o][i]=1; else mt[o][i]=0;

}

printf ("\n\n\n\tMa tran thong tin cot thu %d la: ",o-1); o=o-1;

}

printf ("\n\n\n\n\n\n\n\n\n\n\tMa tran thong tin thu duoc la:");

for (i=0;i<n ;i++) { j=0; printf("\n"); /*getch*/ for (j=0;j<m+2 ;j++) { printf("\t%1.0f",mt[j][i]); } } getch(); tx[0]=0; tx[1]=0; y1=m; y2=n; for (j=2; j<m+2; j++) { tx[j]=0; y4=0; for (k1=2; k1<m+2; k1++); {

for(i=0; i<n; i++) { y3=mt[j][i]*mt[k1][i]; y3=pow(y3,2); y4=y4+y3; } } y4=y4/y1; y4=pow(y4,0.5); y4=y4/y2; tx[j]=y4; }

printf("\n\t tan xuat cua cac tinh chat la: \n"); k[0]=0; k[1]=0; for (j=2;j<m+2; j++) { printf("\t%f",tx[j]); tx1[j]=tx[j]; k[j]=j; } / ****************************************************************** ***/

/*Sap xep lai vi tri cua cac thong tin theo tan xuat giam dan cua thong tin*/

j=1; while( j<m+1 ) { j++; i=j; max=tx[j]; while (i<m+2) { i++; if (max<tx[i]) { max=tx[i]; tx[i]=tx[j]; tx[j]=max; k5=k[i]; k[i]=k[j]; k[j]=k5; } } tx1[j]=max; }

printf("\n\tThu tu moi theo tan xuat giam dan:\n"); for (i=2;i<m+2;i++) printf ("\t%d, %8.4f",k[i],tx1[i]); y6=0; for (i=2;i<m+2;i++) { y5=pow(tx[i],2); y6=y6+y5; }

/*y6 la tong binh phuong ty trong cua tat ca cac doi tuong*/ y6=pow(y6,0.5);

getch();

printf("\n\n\tDa tinh xong tan xuat cac tinh chat cua doi tuong mau.\n\tChuong trinh se lua chon to hop thong tin tot nhat de tien hanh doi sanh.\n\n\tHay nhap vao ty le phan tram (vi du: 75) thong tin se su dung.");

scanf ("%f",&g); g=g/100;

/*y7: tong binh phuong cua m tinh chat tot nhat, y8 la tong binh phuong cua tat ca cac tinh chat*/

y7=0; pm=0;

for(i=2;i<m+2;i++) // vong lap xac dinh so, va vi tri tinh chat phu hop voi ty le % tuong ung

{ while (pm<=g) {

y5=pow(tx[i],2); y7= y7+y5;

y8= pow (y7,0.5); pm= y8/y6;

}

k[0]=i; }

printf("\n\tPm= %f voi %d tinh chat tot nhat theo thu tu",pm, k[0]-2);

/****************************************************************/ /* Phan tinh toan cho khu vuc nghien cuu*/

printf ("\n\tNhap vao file du lieu cua khu vuc nghien cuu:\n\t");

scanf("%s",filename2);

file2= fopen(filename2,"r"); fscanf(file2,"%d""%d",&n,&m); for (i=0;i<n ;i++)

{ printf ("\n\n"); for (j=0;j<m+2;j++) { fscanf(file2,"%f",&a); p1[j][i] = a; printf ("\t%f ",p1[j][i]); } } fclose(file2);

if (n>5000 || m>18) printf("\n\t Phan mem tam thoi chi co the tinh gioi han \n\t m < 5000 va n<18\n\tKhong thoa man dieu kien nay ket qua se khong chinh xac!\n");

printf ("\n\t\tDa nhap xong tap du lieu");

printf ("\n\t\tSo lieu ban vua nhap vao la: \n\t m = %d,\tn= %d",m,n);

for (i=0; i<n; i++) { printf("\n"); for(j=0;j<m+2;j++) { a = p1[j][i]; printf ("%f\t",a); } }

printf ("\n\n\tSo lieu cua khu vuc nghien cuu da duoc nhap xong\n\tHay nhap vao do dai canh cua o vuong chia nho khu vuc thanh cac doi tuong de so sanh");

printf ("\n\n\t-->O vuong rong = "); scanf ("%f",&f);

printf ("\n\n\tBan muon lam voi O vuong co chieu rong la: %15.2f",f);

/*tim minX,maxX, minY, maxY*/ minx =maxx=p1[0][0];

miny =maxy=p1[1][0];

printf ("\n\tMax X = %6.6f\n\tMinX= %6.6f\n\tMaxY= %6.6f\n\tMinY= %6.6f\n\t",maxx,minx,maxy,miny);

for (i=1; i<n ;i++) { if (minx>p1[0][i]) minx=p1[0][i]; if (maxx<p1[0][i]) maxx=p1[0][i]; if (miny>p1[1][i]) miny=p1[1][i]; if (maxy<p1[1][i]) maxy=p1[1][i]; }

printf ("\n\tMax X = %6.6f\n\tMinX= %6.6f\n\tMaxY= %6.6f\n\tMinY= %6.6f\n\t",maxx,minx,maxy,miny);

chuyenx=minx; chuyeny=miny;

printf("\n\tnhap vao khoang cach toa do x hoac y giua 2 diem gan nhau:\t");

scanf ("%f",&buoc); buocx = buocy = buoc;

/****************************************************************/ //vong lap xac nhat ra cac o vuong co chieu rong f va tinh toan tren cac o vuong do thong so tu so lieu

printf("\n\tnhap vao khoang cach toa do x hoac y giua 2 diem gan nhau:\t");

while (chuyenx < (maxx-f+buocx*1.2)) //nhat ra o vuong co x nam trong khoang nay

{

chuyeny=miny;

printf ("\n\t\tchuyeny= %f , miny= %f'",chuyeny,miny);

getch();

while (chuyeny < (maxy-f+buocy*1.2)) //nhat ra o vuong co Y nam trong khoang nay

{

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

if (p1[0][i] > chuyenx - buocx*0.1 && p1[0] [i] < chuyenx + f - buocx*0.1) // vong lap chay de nhat bien x

{

for (j=0; j<n; j++) {

if(p1[1][j] > chuyeny - buocy*0.1 && p1[1][j] < chuyeny + f - buocy*0.1) // vong lap trong chay de nhat bien y trong khoang bien x {

printf ("\n x=%5.3f\t\ y= %5.3f",p1[0][i],p1[1][j]); for (o=2;o<m+2;o++) {if(p1[o][j]>= khoang[o][0]&& p1[o][j]<=khoang[i][1]) dt[o][j]=1; //so sanh gia tri voi khoang cua doi tuong mau de lap ma tran thong tin else dt[o][j]=0; printf ("\t dt =%2.0f",dt[o][j]); } } } } } chuyeny=chuyeny+buocy; } chuyenx = chuyenx+buocx; }

for (i1=0; i1<k5; i1++) {

y1=min+(i1*d); y2=min+ ((i1+1)*d); h[o][i1]=0; h1[o][i1]=min+i1*d+e; for (i=0; i<n; i++) if (p[o][i]>=y1&&p[o][i]<(y2+0.00001)) h[o] [i1]=h[o][i1]+1; printf(" \n chia khoang va dem:\n\t Xtb= %f\t Sdem= %f ",h1[o][i1],h[o][i1]); }

printf("\n\t sai lech %f",e); tong=0;

tong2=0;

printf ("\n tong= %f",tong); y4=n;

tong=tong/y4;

printf ("\n Gia tri TB= %f", tong); for (i=0; i<n; i++)

{ y3=p[o][i]-tong; y3=pow(y3,2); tong2=tong2+y3; } y4=y4-1;

printf("\n Tong binh phuong = %f",tong2); tong2=tong2/y4;

printf ("\n tong2/n-1 = %f ",tong2); tong2=pow(tong2,0.5) ;

printf ("\n can2 cua tong2 = %f ",tong2); y4=n;

y4= pow(y4,0.5); tong2= tong2/y4; tong2=1.15*tong2;

printf (" \n\t Khoang chinh xac 0.75 la : %f ", tong2); y1=tong-tong2;

y2=tong+tong2;

khoang[o][0]=y1; //gioi han duoi cua tính chat thu o ****

khoang[o][1]=y2; //gioi han tren cua tinh chat thu o ****

printf("Nhap ten file ouput"); fflush(stdin);

scanf("%s",filename);

output = fopen(filename, "w");

fprintf(output,"\t\t KET QUA PHAN TICH TREND VOI BAC DA THUC TREND DUOC CHON TRUOC\nX la Toa do\t\tY1la so lieu goc\tY2 la Trend truong\tY3 la Di thuong:\n",o );

for (i=0; i<n; i++) { fprintf (output," %f \t\t %f \t\t %f\t\t %f\n",p[0] [i],p[1][i],p[2][i],p[3][i]); } fprintf(output,"\n\t\t\t *$- HET -$*"); fclose(output); getch(); getch(); return 0; }

PHỤ LỤC 2: CÁC BẢN VẼ

Chú giải

Hình 4.2: Bản đồ địa chất vùng nghiên cứu (theo tài liệu báo cáo kết quả đề án bay vùng Tuy Hoà)

Một phần của tài liệu KHÓA LUẬN TỐT NGHỆP NGHIÊN CỨU ÁP DỤNG PHƯƠNG PHÁP TẦN SUẤT – NHẬN DẠNG TRONG GIẢI ĐOÁN ĐỊA CHẤT SỐ LIỆU ĐỊA VẬT LÝ HÀNG KHÔNG (Trang 32 -32 )

×