Files
2025-09-12 18:55:25 +09:00

58 lines
1.2 KiB
C

/* Driver for routine covsrt */
#include <stdio.h>
#define NRANSI
#include "nr.h"
#include "nrutil.h"
#define MA 10
#define MFIT 5
int main(void)
{
int i,j,*ia;
float **covar;
ia=ivector(1,MA);
covar=matrix(1,MA,1,MA);
for (i=1;i<=MA;i++)
for (j=1;j<=MA;j++) {
covar[i][j]=0.0;
if ((i <= MFIT) && (j <= MFIT))
covar[i][j]=i+j-1;
}
printf("\noriginal matrix\n");
for (i=1;i<=MA;i++) {
for (j=1;j<=MA;j++) printf("%4.1f",covar[i][j]);
printf("\n");
}
printf("press RETURN to continue...\n");
(void) getchar();
printf("\nTest #1 - full fitting\n");
for (i=1;i<=MA;i++) ia[i]=1;
covsrt(covar,MA,ia,MA);
for (i=1;i<=MA;i++) {
for (j=1;j<=MA;j++) printf("%4.1f",covar[i][j]);
printf("\n");
}
printf("press RETURN to continue...\n");
(void) getchar();
printf("\nTest #2 - spread\n");
for (i=1;i<=MA;i++)
for (j=1;j<=MA;j++) {
covar[i][j]=0.0;
if ((i <= MFIT) && (j <= MFIT)) covar[i][j]=i+j-1;
}
for (i=1;i<=MA;i+=2) ia[i]=0;
covsrt(covar,MA,ia,MFIT);
for (i=1;i<=MA;i++) {
for (j=1;j<=MA;j++) printf("%4.1f",covar[i][j]);
printf("\n");
}
free_matrix(covar,1,MA,1,MA);
free_ivector(ia,1,MA);
return 0;
}
#undef NRANSI