http://lib.mexmat.ru – в этом разделе вы увидите аннотации на различные книги, журналы и статьи. Существуют форумы по разным естественным дисциплинам, в том числе и по математике. На форуме можно обсудить имеющиеся у вас проблемы, посмотреть ссылки на литературу по интересующей теме. На сайте постоянно появляются свежие новости из мира науки.
http://www.mathnet.ru – общероссийский математический портал, предоставляющий российским и зарубежным математикам различные возможности в поиске информации о математической жизни в России.
http://mathworld.wolfram.com – сайт с большим количеством математических ресурсов и примерами в пакете Mathematica.
http://planetmath.org – большая математическая энциклопедия.
http://arxiv.org - автоматический электронный архив статей по математике и физике.
http://elibrary.ru – научная электронная библиотека. Один из наиболее полезных источников информации. Теперь совсем необязательно выходить из дому, чтобы прочитать новую книжку, ведь ее можно найти на этом сайте.
Магистранта Станкевича А.А. механико-математический факультет
Презентация магистерской диссертации
Онлайн версии презентации
http://at.tut.by/harald_zealot/prznt.zip
http://harald83.narod.ru/prznt.ppt
Также есть на компакт-диске.
Распечатку слайдов смотрите в приложении 2
Список литературы к выпускной работе
1. Тюрин Ю.Н., Макаров А.А. Анализ данных на компьютере. М.: ИНФРА-М, 2003. – 544 с.
2. Дьяконов, В. П. MATLAB R2006/2007/2008 + Simulink 5/6/7. Основы применения, 2-е изд., перераб. и доп. / В. П. Дьяконов – М.: Солон-пресс, 2008. – 800 с.
3. Сайт Высшей аттестационной комиссии Республики Беларусь. – Режим доступа: http://vac.org.by. – Дата доступа: 22.12.2008.
Приложение 1
Пример кода математической программы на языке C++
//////////////////////////////////////////////
//
//Aliaksiej Piotr Stankievicx 2008
//
//fajl apisvaje klas segment i splajn (dvuchzviazny spis segmientaux)
//
/////////////////////////////////////////////
#include <iostream.h>
#include <iomanip.h>
#include <fstream.h>
#include <math.h>
#include <cstdlib>
#include "matrix.h"
const double cPB[8][8]={1,0,0,0,0,0,0,0, //'const prodBase' konstanta utrymlivaje vytvarajucxuju bazu dla segmentaux
0,1,0,0,0,0,0,0,
0,0,0.5,0,0,0,0,0,
0,0,0,1.0/6,0,0,0,0,
-35,-20,-5,-4.0/6,35,-15,2.5,-1.0/6,
84,45,10,1,-84,39,-7,0.5,
-70,-36,-7.5,-2.0/3,70,-34,6.5,-0.5,
20,10,2,1.0/6,-20,10,-2,1.0/6};
matrix PB(cPB,8,8);//pieratvarennie canstanty PB u typ matrix apisany ux matrix.h
array plnprd(array A, array B);//palinamianalnaje pamnazxennie palinomy pradstayleny massivami;
array plnpow(double X,int mpow);//stvarennie masiva stupiniej X da 'mpow' uklucxna;
double plnigl01(array A);//integravannie palinoma u mizxach ad 0 da 1
matrix plndif(matrix A);//diferencavannie niekalkich palinomaux zapisanych slupkami u matrycu
matrix svior(matrix A);//vylicxenni "sviortki" matrycy (integrala palinaminalnaha pieramnazxennia slupkoux)
matrix svior(matrix A, unsigned long int lCl, unsigned long int rCl);//vylicxenni "sviortki" matrycy (integrala palinaminalnaha pieramnazxennia slupkoux), ale nie usich slupkoux, a ad 'lCl' da 'rCl'
void qsrt (array &v,array &cov, int l, int r);//chutkaja sarcirouka masiva 'v', i adnacxasova tyjazx pierastanouxki u 'cov'
void qsrt (array &v, int l, int r);//chutkaja sarcirouka masiva 'v'
void nr(array &ms, double X,unsigned long int &low,unsigned long int &hgh);//znachodzic' nizxni i vierchni blizxajsxi elem k 'X'
inline double pwr(double X,int p){double pw=1.0;for(int i=0;i<abs(p);i++)pw*=X;return p<0?(1.0/pw):pw;}
matrix PBd1=plndif(PB);//vytvorcxaja baza 1 vytvornaj
matrix PBd2=plndif(PBd1);//vytvorcxaja baza 1 vytvornaj
matrix PBd3=plndif(PBd2);//vytvorcxaja baza 1 vytvornaj
matrix SB=svior(PB);//"sviortka Base" "sviortka" levaj palovy PB, element vykarystouxvajemyj dla minimizacyii kvadrataux uchilennia
//matrix rSB=svior(PB,4,7);//"sviortka Base" "sviortka" pravaj palovy PB, element vykarystouxvajemyj dla minimizacyii kvadrataux uchilennia
matrix SBd1=svior(PBd1);//"sviortka Base" "sviortka" levaj palovy PB, element vykarystouxvajemyj dla minimizacyii kvadrataux uchilennia
//matrix rSBd1=svior(PBd1,4,7);//"sviortka Base" "sviortka" pravaj palovy PB, element vykarystouxvajemyj dla minimizacyii kvadrataux uchilennia
matrix SBd2=svior(PBd2);//"sviortka Base" "sviortka" levaj palovy PB, element vykarystouxvajemyj dla minimizacyii kvadrataux uchilennia
//matrix rSBd2=svior(PBd2,4,7);//"sviortka Base" "sviortka" pravaj palovy PB, element vykarystouxvajemyj dla minimizacyii kvadrataux uchilennia
matrix SBd3=svior(PBd3);//"sviortka Base" "sviortka" levaj palovy PB, element vykarystouxvajemyj dla minimizacyii kvadrataux uchilennia
//matrix rSBd3=svior(PBd3,4,7);//"sviortka Base" "sviortka" pravaj palovy PB, element vykarystouxvajemyj dla minimizacyii kvadrataux uchilennia
void print(matrix A);
class segment{//klas segmenta splajna
array Pln;//'Polynom' matryca [8] jakaja utrymlivaje palinom uzxo z ulikam kancavych kropak i unutranaha masxtaba
array LFs;//'Left Functions' matryca [4] jakaja utrymlivaje funkcyju i vytvornyja ux levaj kropcy
array RFs;//'Right Functions' matryca [4] jakaja utrymlivaje funkcyju i vytvornyja ux pravaj kropcy
double LP;//'Left Point' levaja kropka
double RP;//'Right Point' pravaja kropka
double scale;//unutrany massxtab segmentu
segment* ll;//'left link' spasylka na segment, jaki znachodzicca z lieva
segment* rl;//'right link' spasylka na segment, jaki znachodicca z prava
public:
segment();//kanstruktar pa zmouxcxanni
segment(const segment &Seg);//kanstruktar kapijavannia
segment(double Lpn, array Lf, double Rpn, array Rg);//kanstruktar na padstavie dvuch kropak (Lpn i Rpn), a taksama zadannie znacxenia funkcyi i vytvornych u hetych kropkach, funkcyii i vytvory pradstavleny ksxtaltam "array"
segment(double Lpn, array Lf, double Rpn, array Rg, int q);//kanstruktar z pramoj pieradacxaj!!! na padstavie dvuch kropak (Lpn i Rpn), a taksama zadannie znacxenia funkcyi i vytvornych u hetych kropkach, funkcyii i vytvory pradstavleny ksxtaltam "array"
segment(double Lpn, double L0, double L1, double L2, double L3, double Rpn, double R0, double R1, double R2, double R3);//kanstruktar na padstavie dvuch kropak (Lpn i Rpn), a taksama zadannie znacxenia funkcyi i vytvornych u hetych kropkach, funkcyii i vytvory pradstavleny pieralicxenniem asobnych znacxenniaux ksxtalta "double"
~segment(){ll=NULL;rl=NULL; }//destruktar
segment operator=(segment Seg);//apieratar prysvajvannia
friend segment operator+(segment Seg1, segment Seg2);//summa dvuch segmentaux, segmenty pavinny miec adnolkavyja pravuju i lievuju kropku
friend segment operator-(segment Seg1, segment Seg2);//roznica dvuch segmentaux, segmenty pavinny miec adnolkavyja pravuju i lievuju kropku
friend segment operator-(segment Seg1);//admauxlennie segmienta
friend segment operator*(double a,segment Seg1);//pamnazxennie na skalar
friend segment operator*(segment Seg1,double a);//pamnazxennie na skalar
friend segment* operator>>(segment &Seg,int i);//apieratar atrymannia pakazalnika sdvinutaga na 'i' pazicyj u PRAVY bok, u jakasci paramietra pieradajaecca SPASYLXKA!
friend segment* operator<<(segment &Seg,int i);//apieratar atrymannia pakazalnika sdvinutaga na 'i' pazicyj u LEVY bok, u jakasci paramietra pieradajaecca SPASYLXKA!
friend void concat(segment &Seg1, segment &Seg2){if(Seg1.RP==Seg2.LP){ Seg1.rl=&Seg2; Seg2.ll=&Seg1;}}//apieratar concatenacyi dvuch siegmientaux, kali pieradajucca pakazalniki na segment, jany pavinny bydyc' razaiminovany napr "concat((*pA),B)" pA pakazalnik na segmient, B segment
friend bool operator==(segment Seg1, segment Seg2);//apieratar parauxnanni dvuch segmentaux
void print();//razdrukavannie segmenta
///////
friend class spline;
friend spline operator+(spline &Spl1,spline &Spl2);//apieratar padsumavannia, itohavyj splajn miescicca na abjadnanni voblasci aznacxennia abodvuch splajnaux
friend spline operator-(spline &Spl1,spline &Spl2);//apieratar roznicy, itohavyj splajn miescicca na abjadnanni voblasci aznacxennia abodvuch splajnaux
friend spline operator*(double a, spline &Spl);//apieratar pamnazxennia na skalar
friend spline operator*(spline &Spl, double a);//apieratar pamnazxennia na skalar
friend spline operator*(spline &Spl1,spline &Spl2);//apieratar pieramnazxennia splajnaux, itohavyj splajn miescicca na pierakryzxavanni voblasci aznacxennia abodvuch splajnaux
friend spline difirencate(spline &Spl);//diferencuje splajn;
friend spline integrate(spline &Spl);//integruje splajn, const =0
friend double integral(spline &Spl);//integral u naturalnych miezxach (ad tLP da tRP)
friend double integral(spline &Spl, double a, double b);//integral ad 'a' da 'b'
};
///////////////////
class spline{
segment *Prim, *Last;//pakazalniki na piersxy, aposxni i biahucxy siegmient
double tLP, tRP;//"the left point" and "the right point" :), :) -- krajniaja levaja i pravyja kropki
public:
spline();//pusty kanstructar
spline(const spline &Spl);//kanstruktar kapijavannia
spline(double lftPn, double rghPn, unsigned long int quant);//kanstruktar stvarennie rauxnamierna setki z segmientaux, ad 'lftPn' da 'rghPn', kol'kasc segmientaux 'quant'
spline(double lftPn, double rghPn, matrix Funcs);//kanstruktar splajna na padstavie raunamierna razmierkavanych ad 'lftPn' da 'rghPn', u kropkach inicyalizujucca funkcyja i vytvornyja, pamier Funks m x(n=4), kolkasc' segmentaux u splajnie m-1
spline(array Xi, matrix Funcs);//kanstruktar splajana na padstavie setki kropak 'Xi', u kropkach inicyalizujucca funkcyja i vytvornyja, pamier Funks m x(n<=4), kolkasc' segmentaux u splajnie m-1, pamier 'Xi' i kolkasc' radkoux u Funks pavinna supadac'
~spline();//destruktar
spline operator=(spline &Spl);//apieratar prysvajvannia
friend spline operator+(spline &Spl1,spline &Spl2);//apieratar padsumavannia, itohavyj splajn miescicca na abjadnanni voblasci aznacxennia abodvuch splajnaux
friend spline operator-(spline &Spl1,spline &Spl2);//apieratar roznicy, itohavyj splajn miescicca na abjadnanni voblasci aznacxennia abodvuch splajnaux
friend spline operator-(spline &Spl);//apieratar unarnaha minusa
friend spline operator*(double a, spline &Spl);//apieratar pamnazxennia na skalar
friend spline operator*(spline &Spl, double a);//apieratar pamnazxennia na skalar
friend spline operator*(spline &Spl1,spline &Spl2);//apieratar pieramnazxennia splajnaux, itohavyj splajn miescicca na pierakryzxavanni voblasci aznacxennia abodvuch splajnaux
friend spline difirencate(spline &Spl);//diferencuje splajn;
friend spline integrate(spline &Spl);//integruje splajn, const =0
friend double integral(spline &Spl);//integral u naturalnych miezxach (ad tLP da tRP)
friend double integral(spline &Spl, double a, double b);//integral ad 'a' da 'b'
void print();
double calc(double x);//vylicxennie splajna ux kropcy x, kali za intervalam splajana viartaje 0.0;
void interpolateF(array Xi,array FuncsXi);//interpolatija cxystaja
void interpolateH(array Xi, array FuncsXi, array Xkey);//interpolacija z apraksimacyjaj
void aproximate(array Xi, array FuncsXi, array Xkey);//aproksimacyja;
void draw(ofstream &out);
private:
void delete_lstSgm();//vydalennie aposxniaha segmientu
};
void print(matrix A){
for(unsigned long int i=0;i<A.m;i++){
for(unsigned long int j=0;j<A.n;j++){
cout<<setprecision(1)<<setw(6)<<A.M[i].V[j]<<'\t';
}
cout<<'\n';
}
cout<<'\n';
}
array plnprd(array A, array B){//palinamianalnaje pamnazxennie; palinomy pradstayleny massivami
array C;
C.n=A.n+B.n;C.V=new double[C.n];
for(unsigned long int i=0;i<C.n;i++)C.V[i]=0.0;
for(i=0;i<A.n;i++)
for(unsigned long int j=0;j<B.n;j++)C.V[i+j]+=A.V[i]*B.V[j];