add numerical recipes library
This commit is contained in:
57
lib/nr/ansi/examples/xcovsrt.c
Normal file
57
lib/nr/ansi/examples/xcovsrt.c
Normal file
@@ -0,0 +1,57 @@
|
||||
|
||||
/* 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
|
||||
Reference in New Issue
Block a user