:消落帶土壤由于在水陸交替的特殊生境和復雜的地球化學共同作用下形成,具有獨特的理化性質和生態功能。各營養鹽 含量在時間和空間上具有較高的變異性,土壤中有機質的分布及遷移和轉化均受到復雜的影響。針對官廳水庫流域上游媯水 河段消落帶,選擇典型消落帶落水區,對該區土壤有機質含量的時空分布特征進行研究。結果表明:1)研究區消落帶土壤有機 質含量較為貧瘠,變化范圍在1.64—26∥蠅之間,平均值僅為13.169/kg,變異系數達50.59%。說明消落帶由于季節性干濕交 替的特殊水文條件的影響,土壤養分的分布具有較高的空間異質性。淹水頻繁區有機質含量平均值為15.74∥婦,高于長期出 露區的10.12∥k,且變異系數為41.38%,小于長期出露區的54.98%。說明淹水頻繁區對土壤養分的持留能力更強,且周期性 的淹水條件使得研究區近岸具有相似的生境類型,不同采樣點土壤有機質含量的差異相對較小。2)不同植物群落下.蘆葦和 香蒲群落土壤有機質含量最高,平均值為17.089/kg;含量最低的是以小葉楊和白羊草為主的中旱生植物帶,平均值為9.12,∥ kg;其次是酸模葉蓼、大刺兒菜為優勢物種的濕生植物帶,土壤有機質含量平均值為15.499/kg。3)不同土壤層次有機質含量差 異較大,總體變化趨勢均由表層向下逐漸減少,各層之間體現出顯著差異性(P<0.05)。研究區土壤C/N變化范圍在1.64— 18.95,平均值為8.95。說明研究區土壤碳氮比相對較低,有機質的腐殖化程度較高,且長期出露區土壤有機質更容易發生分 解,C的累積速度遠小于N。土壤C/N垂直分布大致呈先增大后減小趨勢,在30cm處達到最大值,而后隨著土壤深度的增加逐 漸減小。4)消落帶土壤有機質分布的影響因素分析中,土壤有機質與全磷呈極顯著正相關,相關系數為0.62(P<0.01):與土壤 全氮和C/N呈顯著正相關(R=0.57,O.60;P<0.05)。這說明研究區土壤全磷、全氮、C/N和有機質明顯具有相同的變化趨勢.和 有機質存在相互影響。其次,土壤有機質和濕度在呈顯著負相關(R=一O.51;P<0.05),表明研究區土壤濕度對有機質含量具有 顯著的影響。氣候因子中,溫度對研究區土壤有機質的分布具有顯著的影響,相關系數為一0.51(P<0.05)。植被因子中.植被 覆蓋度和土壤有機質含量呈顯著正相關,相關系數為0.64,表明植被因子也是影響土壤有機質分布的重要因素之一。
上傳時間: 2018-08-13
上傳用戶:閩外莯莯
% Computation of ST-ZCR and STE of a speech signal. % % Functions required: zerocross, sgn, winconv. % % Author: Nabin Sharma % Date: 2009/03/15 [x,Fs] = wavread('so.wav'); % word is: so x = x.'; N = length(x); % signal length n = 0:N-1; ts = n*(1/Fs); % time for signal % define the window wintype = 'rectwin'; winlen = 201; winamp = [0.5,1]*(1/winlen);
標簽: 短時過零率和短時能量
上傳時間: 2019-09-23
上傳用戶:minwenji
# include<stdio.h> # include<math.h> # define N 3 main(){ float NF2(float *x,float *y); float A[N][N]={{10,-1,-2},{-1,10,-2},{-1,-1,5}}; float b[N]={7.2,8.3,4.2},sum=0; float x[N]= {0,0,0},y[N]={0},x0[N]={}; int i,j,n=0; for(i=0;i<N;i++) { x[i]=x0[i]; } for(n=0;;n++){ //計算下一個值 for(i=0;i<N;i++){ sum=0; for(j=0;j<N;j++){ if(j!=i){ sum=sum+A[i][j]*x[j]; } } y[i]=(1/A[i][i])*(b[i]-sum); //sum=0; } //判斷誤差大小 if(NF2(x,y)>0.01){ for(i=0;i<N;i++){ x[i]=y[i]; } } else break; } printf("經過%d次雅可比迭代解出方程組的解:\n",n+1); for(i=0;i<N;i++){ printf("%f ",y[i]); } } //求兩個向量差的二范數函數 float NF2(float *x,float *y){ int i; float z,sum1=0; for(i=0;i<N;i++){ sum1=sum1+pow(y[i]-x[i],2); } z=sqrt(sum1); return z; }
上傳時間: 2019-10-13
上傳用戶:大萌萌撒
已知一個整數序列A=(a0,a1,…,an-1),其中0≤ai<n(0≤i<n)。若存在ap1=ap2=…=apm=x且m>n/2(0≤pk<n,1≤k≤m),則稱x為A的主元素。例如A= ( 0,5,5,3,5,7,5,5 ),則5為主元素;又如A= ( 0,5,5,3,5,1,5,7 ),則A中沒有主元素。 假設A中的n個元素保存在一個一維數組中,請設計一個盡可能高效的算法,找出A的主元素。若存在主元素,則輸出該元素;否則輸出-1。
上傳時間: 2020-03-04
上傳用戶:霖1234
%========================開始提取加噪信號的各類特征值================================ for n=1:1:50; m=n*Ns; x=(n-1)*Ns; for i=x+1:m; %提取加噪信號'signal_with_noise=y+noise'的前256個元素,抽取50次 y0(i)=signal_with_noise(i); end Y=fft(y0); %對調制信號進行快速傅里葉算法(離散) y1=hilbert(y0) ; %調制信號實部的解析式 factor=0; %開始求零中心歸一化瞬時幅度譜密度的最大值gamma_max for i=x+1:m; factor=factor+y0(i); end ms=factor/(m-x); an_i=y0./ms; acn_i=an_i-1; end gamma_max=max(fft(acn_i.*acn_i))/Ns
上傳時間: 2020-04-07
上傳用戶:如拷貝般復制
%========================開始提取加噪信號的各類特征值================================ for n=1:1:50; m=n*Ns; x=(n-1)*Ns; for i=x+1:m; %提取加噪信號'signal_with_noise=y+noise'的前256個元素,抽取50次 y0(i)=signal_with_noise(i); end Y=fft(y0); %對調制信號進行快速傅里葉算法(離散) y1=hilbert(y0) ; %調制信號實部的解析式 factor=0; %開始求零中心歸一化瞬時幅度譜密度的最大值gamma_max for i=x+1:m; factor=factor+y0(i); end ms=factor/(m-x); an_i=y0./ms; acn_i=an_i-1; end gamma_max=max(fft(acn_i.*acn_i))/Ns
上傳時間: 2020-04-07
上傳用戶:如拷貝般復制
#include<stdio.h> #define TREEMAX 100 typedef struct BT { char data; BT *lchild; BT *rchild; }BT; BT *CreateTree(); void Preorder(BT *T); void Postorder(BT *T); void Inorder(BT *T); void Leafnum(BT *T); void Nodenum(BT *T); int TreeDepth(BT *T); int count=0; void main() { BT *T=NULL; char ch1,ch2,a; ch1='y'; while(ch1=='y'||ch1=='y') { printf("\n"); printf("\n\t\t 二叉樹子系統"); printf("\n\t\t*****************************************"); printf("\n\t\t 1---------建二叉樹 "); printf("\n\t\t 2---------先序遍歷 "); printf("\n\t\t 3---------中序遍歷 "); printf("\n\t\t 4---------后序遍歷 "); printf("\n\t\t 5---------求葉子數 "); printf("\n\t\t 6---------求結點數 "); printf("\n\t\t 7---------求樹深度 "); printf("\n\t\t 0---------返 回 "); printf("\n\t\t*****************************************"); printf("\n\t\t 請選擇菜單號 (0--7)"); scanf("%c",&ch2); getchar(); printf("\n"); switch(ch2) { case'1': printf("\n\t\t請按先序序列輸入二叉樹的結點:\n"); printf("\n\t\t說明:輸入結點(‘0’代表后繼結點為空)后按回車。\n"); printf("\n\t\t請輸入根結點:"); T=CreateTree(); printf("\n\t\t二叉樹成功建立!\n");break; case'2': printf("\n\t\t該二叉樹的先序遍歷序列為:"); Preorder(T);break; case'3': printf("\n\t\t該二叉樹的中序遍歷序列為:"); Inorder(T);break; case'4': printf("\n\t\t該二叉樹的后序遍歷序列為:"); Postorder(T);break; case'5': count=0;Leafnum(T); printf("\n\t\t該二叉樹有%d個葉子。\n",count);break; case'6': count=0;Nodenum(T); printf("\n\t\t該二叉樹總共有%d個結點。\n",count);break; case'7': printf("\n\t\t該樹的深度為:%d",TreeDepth(T)); break; case'0': ch1='n';break; default: printf("\n\t\t***請注意:輸入有誤!***"); } if(ch2!='0') { printf("\n\n\t\t按【Enter】鍵繼續,按任意鍵返回主菜單!\n"); a=getchar(); if(a!='\xA') { getchar(); ch1='n'; } } } } BT *CreateTree() { BT *t; char x; scanf("%c",&x); getchar(); if(x=='0') t=NULL; else { t=new BT; t->data=x; printf("\n\t\t請輸入%c結點的左子結點:",t->data); t->lchild=CreateTree(); printf("\n\t\t請輸入%c結點的右子結點:",t->data); t->rchild=CreateTree(); } return t; } void Preorder(BT *T) { if(T) { printf("%3c",T->data); Preorder(T->lchild); Preorder(T->rchild); } } void Inorder(BT *T) { if(T) { Inorder(T->lchild); printf("%3c",T->data); Inorder(T->rchild); } } void Postorder(BT *T) { if(T) { Postorder(T->lchild); Postorder(T->rchild); printf("%3c",T->data); } } void Leafnum(BT *T) { if(T) { if(T->lchild==NULL&&T->rchild==NULL) count++; Leafnum(T->lchild); Leafnum(T->rchild); } } void Nodenum(BT *T) { if(T) { count++; Nodenum(T->lchild); Nodenum(T->rchild); } } int TreeDepth(BT *T) { int ldep,rdep; if(T==NULL) return 0; else { ldep=TreeDepth(T->lchild); rdep=TreeDepth(T->rchild); if(ldep>rdep) return ldep+1; else return rdep+1; } }
上傳時間: 2020-06-11
上傳用戶:ccccy
#include <stdio.h> #include <stdlib.h> #define SMAX 100 typedef struct SPNode { int i,j,v; }SPNode; struct sparmatrix { int rows,cols,terms; SPNode data [SMAX]; }; sparmatrix CreateSparmatrix() { sparmatrix A; printf("\n\t\t請輸入稀疏矩陣的行數,列數和非零元素個數(用逗號隔開):"); scanf("%d,%d,%d",&A.cols,&A.terms); for(int n=0;n<=A.terms-1;n++) { printf("\n\t\t輸入非零元素值(格式:行號,列號,值):"); scanf("%d,%d,%d",&A.data[n].i,&A.data[n].j,&A.data[n].v); } return A; } void ShowSparmatrix(sparmatrix A) { int k; printf("\n\t\t"); for(int x=0;x<=A.rows-1;x++) { for(int y=0;y<=A.cols-1;y++) { k=0; for(int n=0;n<=A.terms-1;n++) { if((A.data[n].i-1==x)&&(A.data[n].j-1==y)) { printf("%8d",A.data[n].v); k=1; } } if(k==0) printf("%8d",k); } printf("\n\t\t"); } } void sumsparmatrix(sparmatrix A) { SPNode *p; p=(SPNode*)malloc(sizeof(SPNode)); p->v=0; int k; k=0; printf("\n\t\t"); for(int x=0;x<=A.rows-1;x++) { for(int y=0;y<=A.cols-1;y++) { for(int n=0;n<=A.terms;n++) { if((A.data[n].i==x)&&(A.data[n].j==y)&&(x==y)) { p->v=p->v+A.data[n].v; k=1; } } } printf("\n\t\t"); } if(k==1) printf("\n\t\t對角線元素的和::%d\n",p->v); else printf("\n\t\t對角線元素的和為::0"); } int main() { int ch=1,choice; struct sparmatrix A; A.terms=0; while(ch) { printf("\n"); printf("\n\t\t 稀疏矩陣的三元組系統 "); printf("\n\t\t*********************************"); printf("\n\t\t 1------------創建 "); printf("\n\t\t 2------------顯示 "); printf("\n\t\t 3------------求對角線元素和"); printf("\n\t\t 4------------返回 "); printf("\n\t\t*********************************"); printf("\n\t\t請選擇菜單號(0-3):"); scanf("%d",&choice); switch(choice) { case 1: A=CreateSparmatrix(); break; case 2: ShowSparmatrix(A); break; case 3: SumSparmatrix(A); break; default: system("cls"); printf("\n\t\t輸入錯誤!請重新輸入!\n"); break; } if (choice==1||choice==2||choice==3) { printf("\n\t\t"); system("pause"); system("cls"); } else system("cls"); } }
上傳時間: 2020-06-11
上傳用戶:ccccy
復活節計算 int y, n, a, q, b, m, w, d, mm = 4; y = atoi(argv[1]); n = y-1900; a = fmod(n,19);
上傳時間: 2021-07-09
上傳用戶:scfan2004
Chu序列、Bjork序列、P序列實現 % cazac_creat 生成cazac序列 % signal_length:生成cazac信號長度 N % cazac_seq:生成的cazac序列 % sig_num:序列個數 M % k=signal_length-1; % seq_switch: % 1:Chu M<=N-1 % 2:P M<=N % 3:Bjorck M<=N
上傳時間: 2021-11-11
上傳用戶:BY1902082