Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- int main() {
- double vx[4]={1, 3, 4, 5}, vy[4]={0, 6, 24, 60}, *difere, *aux, *resultado, *coef, *suporte;
- int n=4, i, j,m=0,f=0;
- resultado=malloc(sizeof(double)*n);
- coef=malloc(sizeof(double)*n);
- suporte=malloc(sizeof(double)*n);
- difere=malloc(sizeof(double)*n);
- aux=malloc(sizeof(double)*n);
- for(i=0; i<n; i++) {
- aux[i]=0;
- difere[i]=0;
- }
- aux[0]=vy[0];
- for(i=1; i<n; i++) {
- aux[i]= (vy[i]-vy[i-1])/(vx[i]-vx[i-1]);
- }
- difere[0]=aux[0];
- difere[1]=aux[1];
- for(i=2; i<n; i++) {
- for(j=1; j<=i; j++){
- if(j==i) difere[i]=difere[i] + aux[j];
- else difere[i]=difere[i]-aux[j];
- }}
- for(i=2; i<n; i++) {
- difere[i]=difere[i]/(vx[i]-vx[0]);
- }
- for(i=0; i<n;i++)
- printf("Diferenca dividida %d: %f\n", i, difere[i]);
- for (i=0; i<n ; i++) {
- resultado[i]= 0;
- coef[i]=0;
- suporte[i]=0;
- }
- resultado[0] =vy[0];
- resultado[1] = difere[1];
- resultado[0] += (-1)*difere[1];
- coef[0] = vx[0]*vx[1];
- coef[1] = -vx[0] -vx[1];
- coef[2] = 1;
- resultado[0] += difere[2]*coef[0];
- resultado[1] += difere[2]*coef[1];
- resultado[2] += difere[2]*coef[2];
- for (m=2; m<n; m++) {
- for (i = 0; i<n; i++) {
- suporte[i] = coef[i];
- printf("%6.f", suporte[i]);
- printf("%6.f", coef[i]);
- }
- for (i = 1; i<n ;i++) {
- coef[i] = suporte[i-1];
- suporte[i] *= -vx[m];
- printf("sup %6.f", suporte[i]);
- printf("coef %6.f", coef[i]);
- }
- for (i = 0; i<n;i++) {
- coef[i] = coef[i]+suporte[i];
- printf("sup %6.f", suporte[i]);
- printf("%coef 6.f", coef[i]);
- }
- for (i = 0;i<n; i++) {
- resultado[i] += coef[i]*difere[m];
- printf("%6.f", suporte[i]);
- printf("%6.f", coef[i]);
- }
- }
- for (i=0;i<n;i++) {
- printf("a%d %f\n", i, resultado[i]);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement