求一個復(fù)正弦加白噪聲隨機過程的信號: xn=exp(j*pi*n-j*pi)+exp(j*w0*n-j*0.7*pi)+v v(n)為零均值白噪聲。S/N=10dB。取P=3,構(gòu)造4階的自相關(guān)矩陣R的基于MUSIC算法的功率譜估計的MATLAB程序
上傳時間: 2017-08-31
上傳用戶:franktu
Ex3-23 親兄弟問題 « 問題描述: 給定n 個整數(shù)0 1 1 , , , n- a a a 組成的序列。序列中元素i a 的親兄弟元素k a 定義為: min{ | } k i j n j j i a = a a ³ a < < 。 親兄弟問題要求給定序列中每個元素的親兄弟元素的位置。元素i a 的親兄弟元素為k a 時,稱k 為元素i a 的親兄弟元素的位置。當(dāng)元素i a 沒有親兄弟元素時,約定其親兄弟元素 的位置為-1。 例如,當(dāng)n=10,整數(shù)序列為6,1,4,3,6,2,4,7,3,5 時,相應(yīng)的親兄弟元素位 置序列為:4,2,4,4,7,6,7,-1,9,-1。 « 編程任務(wù): 對于給定的n個整數(shù)0 1 1 , , , n- a a a 組成的序列,試用抽象數(shù)據(jù)類型棧,設(shè)計一個O(n) 時間算法,計算相應(yīng)的親兄弟元素位置序列。 « 數(shù)據(jù)輸入: 由文件input.txt提供輸入數(shù)據(jù)。文件的第1 行有1 個正整數(shù)n,表示給定給n個整數(shù)。 第2 行是0 1 1 , , , n- a a a 。 « 結(jié)果輸出: 程序運行結(jié)束時,將計算出的與給定序列相應(yīng)的親兄弟元素位置序列輸出到output.txt 中。 輸入文件示例 輸出文件示例 input.txt 10 4 2 4 4 7 6 7 -1 9 -1 output.txt 6 1 4 3 6 2 4 7 3 5
上傳時間: 2013-12-17
上傳用戶:shizhanincc
問題描述 設(shè)有n種不同面值的硬幣,各硬幣的面值存于數(shù)組T[1:n]中。現(xiàn)要用這些面值的硬幣來找錢,可以實用的各種面值的硬幣個數(shù)不限。當(dāng)只用硬幣面值T[1],T[2],…,T[i]時,可找出錢數(shù)j的最少硬幣個數(shù)記為C(i,j)。若只用這些硬幣面值,找不出錢數(shù)j時,記C(i,j)=∞。 編程任務(wù) 設(shè)計一個動態(tài)規(guī)劃算法,對1≤j≤L,計算出所有的C( n,j )。算法中只允許實用一個長度為L的數(shù)組。用L和n作為變量來表示算法的計算時間復(fù)雜性 數(shù)據(jù)輸入 由文件input.txt提供輸入數(shù)據(jù)。文件的第1行中有1個正整數(shù)n(n<=13),表示有n種硬幣可選。接下來的一行是每種硬幣的面值。由用戶輸入待找錢數(shù)j。 結(jié)果輸出 程序運行結(jié)束時,將計算出的所需最少硬幣個數(shù)輸出到文件output.txt中。
標(biāo)簽:
上傳時間: 2016-07-28
上傳用戶:yangbo69
Hopfield 網(wǎng)——擅長于聯(lián)想記憶與解迷路 實現(xiàn)H網(wǎng)聯(lián)想記憶的關(guān)鍵,是使被記憶的模式樣本對應(yīng)網(wǎng)絡(luò)能量函數(shù)的極小值。 設(shè)有M個N維記憶模式,通過對網(wǎng)絡(luò)N個神經(jīng)元之間連接權(quán) wij 和N個輸出閾值θj的設(shè)計,使得: 這M個記憶模式所對應(yīng)的網(wǎng)絡(luò)狀態(tài)正好是網(wǎng)絡(luò)能量函數(shù)的M個極小值。 比較困難,目前還沒有一個適應(yīng)任意形式的記憶模式的有效、通用的設(shè)計方法。 H網(wǎng)的算法 1)學(xué)習(xí)模式——決定權(quán)重 想要記憶的模式,用-1和1的2值表示 模式:-1,-1,1,-1,1,1,... 一般表示: 則任意兩個神經(jīng)元j、i間的權(quán)重: wij=∑ap(i)ap(j),p=1…p; P:模式的總數(shù) ap(s):第p個模式的第s個要素(-1或1) wij:第j個神經(jīng)元與第i個神經(jīng)元間的權(quán)重 i = j時,wij=0,即各神經(jīng)元的輸出不直接返回自身。 2)想起模式: 神經(jīng)元輸出值的初始化 想起時,一般是未知的輸入。設(shè)xi(0)為未知模式的第i個要素(-1或1) 將xi(0)作為相對應(yīng)的神經(jīng)元的初始值,其中,0意味t=0。 反復(fù)部分:對各神經(jīng)元,計算: xi (t+1) = f (∑wijxj(t)-θi), j=1…n, j≠i n—神經(jīng)元總數(shù) f()--Sgn() θi—神經(jīng)元i發(fā)火閾值 反復(fù)進(jìn)行,直到各個神經(jīng)元的輸出不再變化。
上傳時間: 2015-03-16
上傳用戶:JasonC
一個基于GTK+的單詞數(shù)值計算器,1、 按照規(guī)則計算單詞的值,如果 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 26個字母(全部用大寫)的值分別為 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26,如: WINJACK這個單詞的值就為:W+I+N+J+A+C+K=23+9+14+1+3+11=71% HARDWORK=H+A+R+D+W+O+R+D=8+1+18+4+23+15+18+11=98% LOVE=L+O+V+E=12+15+22+5=54% LUCK=L+U+C+K=12+21+3+11=47% ATTITUDE= A+T+T+I+T+U+D+E=1+20+20+9+20+24+4+5=100% 2、對程序的界面布局參考如下圖所示,在第一個單行文本框輸入一個單詞,點擊“計算”按鈕,按照以上算法計算出該單詞的值。 3、如果在最下面的單行文本框輸入一個文件路徑,此文件每行記錄一個單詞,那么經(jīng)過程序計算出各個單詞的值,并把結(jié)果輸出到當(dāng)前目錄下result.txt文件中。如果文件不存在,應(yīng)該提示錯誤。
上傳時間: 2014-01-11
上傳用戶:康郎
實驗源代碼 //Warshall.cpp #include<stdio.h> void warshall(int k,int n) { int i , j, t; int temp[20][20]; for(int a=0;a<k;a++) { printf("請輸入矩陣第%d 行元素:",a); for(int b=0;b<n;b++) { scanf ("%d",&temp[a][b]); } } for(i=0;i<k;i++){ for( j=0;j<k;j++){ if(temp[ j][i]==1) { for(t=0;t<n;t++) { temp[ j][t]=temp[i][t]||temp[ j][t]; } } } } printf("可傳遞閉包關(guān)系矩陣是:\n"); for(i=0;i<k;i++) { for( j=0;j<n;j++) { printf("%d", temp[i][ j]); } printf("\n"); } } void main() { printf("利用 Warshall 算法求二元關(guān)系的可傳遞閉包\n"); void warshall(int,int); int k , n; printf("請輸入矩陣的行數(shù) i: "); scanf("%d",&k); 四川大學(xué)實驗報告 printf("請輸入矩陣的列數(shù) j: "); scanf("%d",&n); warshall(k,n); }
上傳時間: 2016-06-27
上傳用戶:梁雪文以
# 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("經(jīng)過%d次雅可比迭代解出方程組的解:\n",n+1); for(i=0;i<N;i++){ printf("%f ",y[i]); } } //求兩個向量差的二范數(shù)函數(shù) 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
上傳用戶:大萌萌撒
#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請輸入稀疏矩陣的行數(shù),列數(shù)和非零元素個數(shù)(用逗號隔開):"); 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 稀疏矩陣的三元組系統(tǒng) "); printf("\n\t\t*********************************"); printf("\n\t\t 1------------創(chuàng)建 "); 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
(1)輸入E條弧<j,k>,建立AOE-網(wǎng)的存儲結(jié)構(gòu) (2)從源點v出發(fā),令ve[0]=0,按拓?fù)渑判蚯笃溆喔黜楉旤c的最早發(fā)生時間ve[i](1<=i<=n-1).如果得到的拓樸有序序列中頂點個數(shù)小于網(wǎng)中頂點數(shù)n,則說明網(wǎng)中存在環(huán),不能求關(guān)鍵路徑,算法終止 否則執(zhí)行步驟(3)(3)從匯點v出發(fā),令vl[n-1]=ve[n-1],按逆拓樸排序求其余各頂點的最遲發(fā)生時間vl[i](n-2>=i>=2). (4)根據(jù)各頂點的ve和vl值,求每條弧s的最早發(fā)生時間e(s)和最遲開始時間l(s).若某條弧滿足條件e(s)=l(s),則為關(guān)鍵活動.
上傳時間: 2014-11-28
上傳用戶:fredguo
鄰接矩陣類的根是A d j a c e n c y W D i g r a p h,因此從這個類開始。程序1 2 - 1給出了類的描述。程 序中,先用程序1 - 1 3中函數(shù)Make2DArray 為二組數(shù)組a 分配空間,然后對數(shù)組a 初始化,以描述 一個n 頂點、沒有邊的圖的鄰接矩陣,其復(fù)雜性為( n2 )。該代碼沒有捕獲可能由M a k e 2 D A r r a y 引發(fā)的異常。在析構(gòu)函數(shù)中調(diào)用了程序1 - 1 4中的二維數(shù)組釋放函數(shù)D e l e t e 2 D
標(biāo)簽: 矩陣
上傳時間: 2013-12-21
上傳用戶:lanjisu111
蟲蟲下載站版權(quán)所有 京ICP備2021023401號-1