Logo GenDocs.ru

Поиск по сайту:  

Загрузка...

Лабораторная работа - Математические методы и модели в энергетике. Вычисление полинома по схеме Горнера на С++ - файл 1.doc


Лабораторная работа - Математические методы и модели в энергетике. Вычисление полинома по схеме Горнера на С++
скачать (30.5 kb.)

Доступные файлы (1):

1.doc31kb.16.11.2011 13:31скачать

содержание
Загрузка...

1.doc

Реклама MarketGid:
Загрузка...

Лабораторна робота 1




ОБЧИСЛЕННЯ ЗНАЧЕНЬ СТАТЕЧНОГО ПОЛІНОМА

ЗА СХЕМОЮ ГОРНЕРА



Мета роботи: навчитися обчислювати значення статечних багаточленів найбільш економічним образом, придбати навички програмування з використанням функцій і підпрограм користувача.


Завдання


Розрахувати значення змінної z при x, що змінюється від -1 до +1 із кроком 0,1. Вирази для обчислення z приведені в таблиці 1.1. У цих виразах функції f1(x), f2(x) і f3(x) являють собою статечні багаточлени, що відрізняються друг від друга порядком і значеннями коефіцієнтів.

Для непарних варіантів:

f1(x)=1.07x5-12x4-2.8x3+6.3x2+3.7x+4,

f2(x)=10.1x7+37x5-15x4+8.2x+5.4,

f3(x)=-23x3+13.6x2+0.5x-1.2.

^

Для парних варіантів:


f1(x)=8.16x4+14x3+0.9x2+3.8x-2,

f2(x)=19.7x6+11.4x4+2.3x3-1.8x+0.9,

f3(x)=21.6x5-17.4x4+8.7x3+11x.


Для введення значень коефіцієнтів статечних багаточленів скласти підпрограму (процедуру), а для обчислення цих багаточленів - функцію користувача.


Таблиця 1.1 – Вихідні дані до лабораторної роботи №1

Варіант

Вираження для обчислення змінної

1

2

9,10





#include "stdafx.h"

#include <iostream>

#include <math.h>

using namespace std;

double gorner (double*a,double x, int n)

{

double S;

int i;

S=a[0];

for(i=0;i<n;i++)

S=S*x+a[i];

return S;

}

int main()

{

int n,m,k,i;

double *a,*b,*c,z,x;

cout<<"Vvedite stepen pervogo mnogochlena"<<endl;

cin>>n;

cout<<"Vvedite stepen vtorogo mnogochlena"<<endl;

cin>>m;

cout<<"Vvedite stepen tretigo mnogochlena"<<endl;

cin>>k;

a=new double[n];

b=new double[m];

c=new double[k];

cout<<" Vvedite koefizienty pervogo mnogochlena "<<endl;

for(i=0;i<n; i++)

cin>> a[i];

cout<<" Vvedite koefizienty vtorogo mnogochlena "<<endl;

for(i=0;i<m; i++)

cin>> b[i];

cout<<"Vvedite koefizienty tretigo mnogochlena"<<endl;

for(i=0;i<k; i++)

cin>> c[i];

for(x=-1;x<=1;x+=0.1)

{

z=(sqrt(fabs(gorner(a,x,n)-gorner(b,x,m)))+gorner(c,x,k));

cout<<"z="<<z<<"\t if x="<<x<<endl;

}

delete a;

delete b;

delete c;

return 0;

}


Результаты работы программы:


Vvedite stepen pervogo mnogochlena

4

Vvedite stepen vtorogo mnogochlena

6

Vvedite stepen tretigo mnogochlena

5

Vvedite koefizienty pervogo mnogochlena

8.16 14 0.9 3.8 -2

Vvedite koefizienty vtorogo mnogochlena

19.7 0 11.4 2.3 0 -1.8 0.9

Vvedite koefizienty tretigo mnogochlena

21.6 -17.4 8.7 0 11 0

z=50.2496 if x=-1

z=43.6258 if x=-0.9

z=37.4016 if x=-0.8

z=31.6449 if x=-0.7

z=28.1302 if x=-0.6

z=24.469 if x=-0.5

z=21.0172 if x=-0.4

z=17.8634 if x=-0.3

z=15.0593 if x=-0.2

z=12.6441 if x=-0.1

z=10.6494 if x=0

z=9.09843 if x=0.1

z=8.00388 if x=0.2

z=7.36511 if x=0.3

z=7.16684 if x=0.4

z=7.37906 if x=0.5

z=7.95758 if x=0.6

z=8.84446 if x=0.7

z=9.96812 if x=0.8

z=11.2433 if x=0.9

z=12.5707 if x=1


Скачать файл (30.5 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации