
Алматы энергетика және байланыс университеті
Инженерлік кибернетика кафедрасы
Оқу- үйрену практикасы
№ 1 нұсқа
Орындаған: БАУк-12-2 тобының
студенті Абдуллахан С.А.
Тексерген: Искакова Г
Алматы, 2013
Мазмұны
Кіріспе....................................................................................................................3
Тапсырма. Теңдеулер шешімін табу.........................................................4
Тапсырма. Интегралды есептеу әдістері..................................................7
Тапсырма. Ең кіші квадрат әдісі...............................................................9
Тапсырма. MS Excel көмегімен дифференциалдық теңдеуді шешу әдістері.......................................................................................................11
Тапсырма. Беттерді тұрғызу....................................................................13
Тапсырма. Надстройки-Поиск решения көмегімен оптимизациялық тапсырманы орындау…...........................................................................14
Тапсырма. Ссылки и массивы функциясымен жұмыс істеу.................15
Қолданылған әдебиеттер тізімі..........................................................................19
Кіріспе.
Студенттер практика кезінде инженерлік есептерді шешудің әр түрлі әдістерін интегралды есептеу, дифференциалдық теңдеулерді есептеу меңгереді. Есептерді түрлі әдіспен шеше отырып MS Excel-дің математикалық, экономикалық есептерді шешудегі мүмкіндіктерін үйренеді. Студент әрбір тапсырмаға жазбаша есеп(отчет) береді. Есеп(отчет) төмендегідей болады:
Тапсырманың берілгені;
Әдістің түсіндірмесі;
Шешімнің кестелік түрі;
Жауабы;
Кейбір есептерді шешуде MS Excelмен қатар басқа алгоритмдік тілді қолдану қажет болады.
Практикалық жұмыс №1.
Берілген x+ln(x+0.5)-0.5=0теңдеуінің шешімін берілген әдістермен табу:
а) График көмегімен;
ә) Сандық итерация әдісімен;
б) Поиск решения құрылымының көмегімен;
с) С++ тілінде қақ бөлу әдісімен;
Графиктік әдісті қолданғанда теңдеудің алғашқы, барлық мүшелері бір жақта орналасқан түрін қолданған ыңғайлы.
Теңдік мына түрде берілген
x+ln(x+0.5)-0.5=0
1.1 – График арқылы түбірлерін іздеу
2) Жоғары дәлдікке ие болу үшін біз сандық итерация әдісін қолдана аламыз. Бұл әдісті қолданғанда біз алғашқы мән ретінде графиктік әдіс шешімін қолдана аламыз.
Сандық итерация әдісінің мәні алдыңғы қадамдағы мәнді келесі итерация үшін жорамал мән қолдануымызда жатыр. Бұл үшін біз теңдеудің алғашқы түрін x+ln(x+0.5)-0.5=0
түріне келтіреміз.
Сол жақта тұрған мән есептелінетін мән деп аталады. Оны біз хв деп белгілейміз. Оң жағындағы х жорамал мән деп аталады. xn деп белгіленеді.
X=-ln(x+0.5)+0.5
1.2 – Интерация әдісі
кестеден қарапайым итерация әдісі көмегімен х=0.5 түбірін бірнеше қадам ғана жасап тез табылғаны көрінеді
Қарапайым итерация әдісінің артықшылығы – ол электрондық кестеде оңай іске асырылады.Кемшілігі: кейде әдіс қиылыспайды – оның көмегімен барлық түбірлер табыла алмайды.
3) Поиск решения
Поиск решения надстройкасын іске қосу үшін Сервис-Надстройки-Поиск решения жолына түрткі қою керек.
1.3 – Поиск решения
Поиск решения көмегімен 0.5-ге тең түбір табылды
Поиск решения артықшылығы: қолдануы қарапайым және теңдеудің барлық түбірлерін табуға мүмкіндік береді
4.Қақ бөлу әдісі.
Қақ бөлу әдісінің интервалындағы 3*x – sinx-7=0
функциясы үшін Turbo C++ программалау тіліндегі программа мәтіні.
Нақты бір f(x)=x+ln(x+0.5)-0.5 функциясы үшін, түбірлерінің бірі [0,2] кесіндісінде жатса а=0,b=2 программа келесі түрде болады
#include<iostream.h>
#include<conio.h>
#include<math.h>
float f(float x) // нақты бір функция мәнін есептейтін функция
{float ff;
ff=x+log10(x+0.5)-0.5;
return (ff);}
void main() // Негізгі функция
{float a,b,c,fa,fc,eps; int n=0;
clrscr();
cin>>a>>b>>eps;
fa=f(a);
do
{ c=(b+a)/2;
fc=f(c);
if (fa*fc<0) b=c;
else
{
a=c;fa=fc;
} cout<<c<<endl;n=n+1;
} while (b-a>eps) ;
cout<<a<<endl;
cout<<n<<endl;
}
Практикалық жұмыс №2.
Берілген функциясымен шектелген фигураның ауданын табу.
Жұмыс мақсаты: сандық интегралдау әдісін үйрену. Көптеген жағдайда интергалданушы функция элементар функция түрінде берілмейді. Сондай кезде кез келген түрде берілген функцияларды интегралдау әдісін қолданамыз. Егер де интеграл астындағы функцияның кейбір нүктедегі мәндері белгілі болса, біз сандық интегралдау әдісі арқылы берілген интегралдың жуық мәнін таба аламыз.
1.Тіктөртбұрыштарға бөлу арқылы ауданды жуықтап есептеу.
Мұндағы n-қималарға бөлу саны; у0,у1,уn,- қималар шетіндегі функция мәндері .
2.Трапецияларға бөлу әдісімен ауданды жуықтап есептеу.
Мұндағы n- y0,y1,yn- қималар шетіндегі функция мәндері.
1.Тіктөртбұрыштарға бөлу әдісі.
h=(b-a)/n формуласы арқылы х-тің мәнінің өзгеру қадамын есептейміз.
Бізге х мәні [0,1] аралығында өзгереді. Бір бағанға x- тің қадам бойынша өзгеру кезіндегі мәндерін жазамыз, ал жанындағы бағанға әрбір x мәні үшін функция мәнін жазамыз. Sпр бағанына әрбір тіктөртбұрыш ауданын есептейтін формуланы енгіземіз, әрбір тіктөртбұрыш аудандарының қосындысы ауданды береді.
2.Трaпецияларға бөлу әдісі.
Бұл әдісте де тіктөртбұрыштар әдісіндегідей әрбір трапеция ауданы есептеліп, қосынды фигура ауданын береді.
Бұл әдістің қолданылуының Turbo C++ программалау тілінде жазылуы.
Float f(float x) //интеграл астындағы өрнеукті есептеу {float c; c=(sin(x)*cos(x))/(2+ pow(sin(x),2)-pow(cos(x),2); return c;} float integ(float a,float b, int n) // интегралды есептеу {float s,h; int i; h=(b-a)/n; s=(f(a)+f(b))/2; for(i=1;i<n;i++) s=s+f(a+h*i); return s*h;} void main() //бас функция {float a,b,i; int n=10; i=integ(0, 1.57,n); cout<<”integral value=”<<i<<endl;}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|