Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.05.2011, 23:23   #1
DreamForLives
Новичок
Джуниор
 
Регистрация: 05.05.2011
Сообщений: 2
По умолчанию Линеаризация функции полиномом н-ого порядка

Мне нужно написать программу: "Линеаризация функции 2ух переменных полиномом н-ого порядка".

Но если честно, никак не могу понять как к ней подойти ...даже сам ход мыслей её написания.

п.с. пока это задание смогла написать только для полинома 2ого,3тьего порядка...но от меня всё равно требуют н-ого(
DreamForLives вне форума Ответить с цитированием
Старый 05.05.2011, 23:23   #2
DreamForLives
Новичок
Джуниор
 
Регистрация: 05.05.2011
Сообщений: 2
По умолчанию

#include "stdafx.h"
#include "conio.h"
#include <cmath>

float a1,a2,a3,a4;
int const j=1;

float massiv[j];

int _tmain(int argc, _TCHAR* argv[])
{
int l,h,i=0,n1,n2,n3,n4,k1,k2,k3,k4;
printf ("vvedite kolichestvo tochek, ne menee 5 dlia x^2 i ne menee 8 dlia x^3 \n");
scanf ("%d", &h);
printf ("dannie tochki\n");
for (int l=0;l<h;l++)
{
scanf ("%f", &massiv[l]);
}
printf ("\nintervali koefficientov\n\n");
printf ("a1 ot "); scanf ("%d", &n1); printf ("a1 do "); scanf ("%d", &k1);
printf ("\na2 ot "); scanf ("%d", &n2); printf ("a2 do "); scanf ("%d", &k2);
printf ("\na3 ot "); scanf ("%d", &n3); printf ("a3 do "); scanf ("%d", &k3);
printf ("\na4 ot "); scanf ("%d", &n4); printf ("a4 do "); scanf ("%d", &k4);
for (float a1=n1;a1<k1;a1++)
{
for (float a2=n2;a2<k2;a2++)
{
for (float a3=n3;a3<k3;a3++)
{
if
(pow(massiv[i]-(a1*i*i+a2*i+a3),2)<0.1
&&
pow(massiv[i+1]-(a1*(i+1)*(i+1)+a2*(i+1)+a3),2)<0.1 &&
pow(massiv[i+2]-(a1*(i+2)*(i+2)+a2*(i+2)+a3),2)<0.1
&&
pow(massiv[i+3]-(a1*(i+3)*(i+3)+a2*(i+3)+a3),2)<0.1
&&
pow(massiv[i+4]-(a1*(i+4)*(i+4)+a2*(i+4)+a3),2)<0.1
&&
a1>0 || a1<0)
{
printf ("\npolinom 2 stepeni a1*x*x+a2*x*a3\n\n");
printf ("a1 %f \na2 %f \na3 %f\n", a1,a2,a3);
printf ("\n");
}
if
(pow(massiv[i]-(a1*i*i+a2*i+a3),2)<0.1
&&
pow(massiv[i+1]-(a1*(i+1)*(i+1)+a2*(i+1)+a3),2)<0.1
&&
pow(massiv[i+2]-(a1*(i+2)*(i+2)+a2*(i+2)+a3),2)<0.1
&&
pow(massiv[i+3]-(a1*(i+3)*(i+3)+a2*(i+3)+a3),2)<0.1
&&
pow(massiv[i+4]-(a1*(i+4)*(i+4)+a2*(i+4)+a3),2)<0.1
&&
a1==0)
{
printf ("\npolinom 1 stepeni a1*x+a2\n");
printf ("a1 %f \na2 %f\n", a2,a3);
printf ("\n");
}
for (float a4=n4;a4<k4;a4++)
{
if
(pow(massiv[i]-(a1*i*i*i+a2*i*i+a3*i+a4),2)<0.1
&&
pow(massiv[i+1]-(a1*(i+1)*(i+1)*(i+1)+a2*(i+1)*(i+1 )+a3*(i+1)+a4),2)<0.1
&&
pow(massiv[i+2]-(a1*(i+2)*(i+2)*(i+2)+a2*(i+2)*(i+2 )+a3*(i+2)+a4),2)<0.1
&&
pow(massiv[i+3]-(a1*(i+3)*(i+3)*(i+3)+a2*(i+3)*(i+3 )+a3*(i+3)+a4),2)<0.1
&&
pow(massiv[i+4]-(a1*(i+4)*(i+4)*(i+4)+a2*(i+4)*(i+4 )+a3*(i+4)+a4),2)<0.1
&&
pow(massiv[i+5]-(a1*(i+5)*(i+5)*(i+5)+a2*(i+5)*(i+5 )+a3*(i+5)+a4),2)<0.1
&&
pow(massiv[i+6]-(a1*(i+6)*(i+6)*(i+6)+a2*(i+6)*(i+6 )+a3*(i+6)+a4),2)<0.1
&&
pow(massiv[i+7]-(a1*(i+7)*(i+7)*(i+7)+a2*(i+7)*(i+7 )+a3*(i+7)+a4),2)<0.1
&&
a1>0 || a1<0)
{
printf ("\npolinom 3 stepeni a1*x*x*x+a2*x*x+a3*x+a4\n\n");
printf ("a1 %f \na2 %f \na3 %f\na4 %f \n", a1,a2,a3,a4); printf ("\n");
}
}
}
}
}
getch();
return 0;
}
DreamForLives вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Полиномиальная интерполяциия функции полиномом Ньютона Igolka6662 Помощь студентам 2 24.11.2010 21:01
Уменьшить количество циклов с 3-х до 1-ого voffka-blogger Паскаль, Turbo Pascal, PascalABC.NET 8 02.05.2010 22:22
Удалить 7-ого Осла и вместо него поставить 6-ого Altera Софт 2 25.10.2009 08:44
Помогите....с полиномом! alisa87 Общие вопросы C/C++ 1 26.05.2009 16:13
Обход и линеаризация матриц (Си) Gimi Помощь студентам 2 25.12.2008 19:08