📄 permki.c
字号:
/********************************************************/
/*PermkI */
/*Maritza Rodr韌uez Mart韓ez */
/*Computational Signal Processing Group - march-98 */
/*CSPG - Dr. Domingo Rodr韌uez - Coordinator */
/* */
/********************************************************/
COMPLEX **PermkI(int M, int N,int S)
{
COMPLEX **A;
COMPLEX **per;
COMPLEX **PkronI_VAR;
int temp,l=0,m,k,i,j;
int MN = M*N;
A = getComplexMatrix(M);
per = getComplexMatrix(N);
PkronI_VAR = getComplexMatrix(M*N);
for(l=0; l < M ; ++l)
for(m=0; m < M ; ++m)
if(m==l){
A[l][m].real= 1.0;
A[l][m].imag= 0.0;
}
else{
A[l][m].real =0.0;
A[l][m].imag= 0.0;
}
{
int k, inicio=0;
int pos=inicio;
for( k=0; k < N; ++k){
per[k][pos].real=1;
pos=pos+S;
if(pos >= N){
pos=inicio+1;
inicio=inicio+1;
}
}
}
l=0;
for(m = 0; m < (M*N); ++m) /* este es el valor de filas *columnas*/
{
k=0;
if (m % M ==0 & m!=0 ) /* el valor para comparar m debe ser el num de columnas de B*/
l++;
/*if(M > N)
temp = M;
else
temp = N;*/
temp = N;
for (i = 0; i < temp; ++i)/* numero de filas o columnas mayor entre A y B*/
{
for ( j = 0; j < M; ++j)/* numero de filas o columnas de B*/
{
PkronI_VAR[m][k].real = per[l%N][i].real * A[m % M][j].real; /* m%filas o columnas de B*/
PkronI_VAR[m][k].imag = per[l%N][i].real * A[m % M][j].imag;
k++;
}
}
}free(A); free(per);
return PkronI_VAR;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -