1
0
Fork 0
sattools/src/simplex.c

34 lines
581 B
C
Raw Normal View History

2013-05-18 11:54:11 -06:00
// Creates Simplex
#include <stdio.h>
#include <stdlib.h>
double **
simplex (int n, double *a, double *da)
2013-05-18 11:54:11 -06:00
{
int i, j;
2013-05-18 11:54:11 -06:00
double **p;
// Allocate pointers to rows
p = (double **) malloc (sizeof (double *) * (n + 1));
2013-05-18 11:54:11 -06:00
// Allocate rows and set pointers
for (i = 0; i <= n; i++)
p[i] = (double *) malloc (sizeof (double) * (n + 1) * n);
2013-05-18 11:54:11 -06:00
// Fill simplex
for (i = 0; i <= n; i++)
{
for (j = 0; j < n; j++)
{
if (i < j)
p[i][j] = a[j];
if (i == j)
p[i][j] = a[j] + da[j];
if (i > j)
p[i][j] = a[j] - da[j];
}
2013-05-18 11:54:11 -06:00
}
return p;
}