Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 5.00
Coolinich12
0 / 0 / 0
Регистрация: 19.12.2010
Сообщений: 20
#1

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

22.04.2011, 17:31. Просмотров 2311. Ответов 0
Метки нет (Все метки)

Помогите пожалуйста...не могу разобраться с двумя ошибками и программа выводит полный бред...
Задача такова:найти значение функции в заданных точках(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;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.04.2011, 17:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Линейная интерполяция в с++ (C++):

линейная интерполяция - C++
здравствуйте, помогите пожалуйста решить задачу, функция y=f(x) задана таблично в массиве Y(n) при соответствующих значениях аргумента...

Линейная интерполяция - C++
Как правильно написать программу линейной интерполяции? С чего начать подскажите?

Аппроксимация.Линейная интерполяция - C++
Здравствуйте!Помогите,пожалуйста,найти ошибку в коде.Высчитывает неверные корни. #include&lt;iostream&gt; #include&lt;math.h&gt; using namespace...

Интерполяция заданной функции второй формулой Ньютона (обратная интерполяция) - C++
Программа накапливает ошибку, да и первые значения совсем уже &quot;приближённые&quot;. Явно что-то упустил. Посмотрите со стороны. #include...

Линейная программа - C++
а) Напишите программу, которая бы выводила на экран в столбик названия знаков Зодиака, каждая из которых выделена разными цветами. Цвет...

Линейная задача - C++
Выдает результат: 0.261536 , а должен 0.33056 . В чем ошибка? #include &lt;conio.h&gt; #include &lt;stdio.h&gt; #include &lt;math.h&gt; void...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.04.2011, 17:31
Привет! Вот еще темы с ответами:

Линейная программа - C++
Известны меньшее основание &quot;а&quot; равнобокой трапеции, ее высота h и острый угол альфа. Найти периметр Р и площадь S трапеции.

С++ и линейная алгебра - C++
Даны массивы C(n) и D(n). Сформировать матрицу A(n,m),как произведение массивов C и D^T(транспонированная) и матрицу B, элементы которой ...

Линейная программа - C++
Я в С++ совсем новичок. Помогите. В чем здесь ошибка? #include&lt;math.h&gt; #include&lt;stdio.h&gt; #include&lt;conio.h&gt; int main() ...

Линейная программа. - C++
Уважаемые, у меня небольшая просьба. Только начинаю изучать программирования, и тут такая задача. Помогите в решении. Программа линейная....


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru