Форум программистов, компьютерный форум CyberForum.ru

Линейная интерполяция в с++ - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 5.00
Coolinich12
0 / 0 / 0
Регистрация: 19.12.2010
Сообщений: 20
22.04.2011, 17:31     Линейная интерполяция в с++ #1
Помогите пожалуйста...не могу разобраться с двумя ошибками и программа выводит полный бред...
Задача такова:найти значение функции в заданных точках(t1,t2,t3)для зависимостей x,y и x13,y13
рез-ты вывести на экран и записать в файл



#include <cstdlib>
#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
float interp(int N,float t,float*x,float*y)
{
int i,j,k;
float P,*a,*b;
a=(float*)calloc(N,sizeof(float));
b=(float*)calloc(N,sizeof(float));
for(k=1;k<N;k++)
{
a[k]=y[k-1]-((y[k]-y[k-1])/(x[k]-x[k-1]))*x[k-1];
b[k]=((y[k]-y[k-1])/(x[k]-x[k-1]));
}
if(t>x[N])j=N;
else{for(i=0;i<N-1;i++)
if(t<=x[i+1]){j=i+1;break;}
}
P=a[j]+b[j]*t;
return P;
}
int main(int argc, char *argv[])
{
ifstream f;
ofstream g;
int N,i;
float *x,*y,*x13,*y13,t1,t2,t3,*o;
N=6;t1=0.77;t2=0.96;t3=1.22;
x=(float*)calloc(N,sizeof(float));
y=(float*)calloc(N,sizeof(float));
x13=(float*)calloc(N,sizeof(float));
y13=(float*)calloc(N,sizeof(float));
o=(float*)calloc(N,sizeof(float));
f.open("C:\\a.txt",ios::in);
if(f)
{
for(i=0;i<N;i++)
{f>>x[i];f>>y[i];}
for(i=0;i<N;i++)
{f>>x13[i];f>>y13[i];}
}
else cout<<"EROR";
f.close();
for(i=0;i<N;i++)
cout<<x[i];
for(i=0;i<N;i++)
o[0]=interp(N,t1,x,y);
o[1]=interp(N,t2,x,y);
o[2]=interp(N,t3,x,y);
o[3]=interp(N,t1,x13,y13);
o[4]=interp(N,t2,x13,y13);
0[5]=interp(N,t3,x13,y13);
for(i=0;i<N;i++)
o[i]=o[i]*1051;
for(i=0;i<3;i++)
{cout<<"V zavisimosti №1 ozhidaemoe kolichestvo poter="<<o[i];}
for(i=4;i<6;i++)
{cout<<"V zavisimosti №1.3 ozhidaemoe kolichestvo poter="<<o[i];}
g.open("C:\\a.txt");
for(i=0;i<6;i++)
g<<o[i];
free(o);
free(x);free(x13);free(y);free(y13);
system("PAUSE");
return EXIT_SUCCESS;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.04.2011, 17:31     Линейная интерполяция в с++
Посмотрите здесь:

Линейная программа C++
C++ Линейная программа.
линейная алгебра C++
C++ Линейная программа
Интерполяция заданной функции второй формулой Ньютона (обратная интерполяция) C++
C++ линейная интерполяция
C++ Аппроксимация.Линейная интерполяция
C++ Линейная интерполяция

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 06:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru