Введение в Maple. Молчанова Л.А. - 24 стр.

UptoLike

Составители: 

Рубрика: 

f1 :=
x x < 1
2 + 3x x < 2
6 x 0x < 3
6 x x < 4
6 x otherwise
–1
0
1
2
3
4
5
y
–1 1
2 3
4
5 6
x
X, Y
> h := fit[leastsquare[[x, y], y = a1 x
3
+ a2 x
2
+ a3 x + a4]]([X, Y ]);
h := y =
1
54
x
3
38
63
x
2
+
1049
378
x
17
63
> fq:=spline(X,Y,x,quadratic):fq1:=spline(X,Y,x,quartic):
                           
                           
                           x       x < −1
                           
                           
                           
                           
                           −2 + 3x x < 2
                     f 1 := 6 − x   0x < 3
                           
                           
                           
                           6−x     x<4
                           
                           
                           6 − x   otherwise
> plot([f1,fc,fq,fq1],x=-1..6,y=-1..5,color=black);

                              5

                              4

                              3
                          y
                              2

                               1


                         –1   0       1   2        3   4   5   6
                                                   x
                              –1


                Ðèñ 1. Ãðàôèêè ïîëó÷åííûõ ïðèáëèæåíèé.
    Ïðåîáðàçóåì ïîëó÷åííîå âûðàæåíèå äëÿ ëèíåéíîãî ñïëàéíà â ïðîöåäó-
ðó:
> f1proc:=codegen[makeproc](f1,x);
                                 f1proc := proc(x)
               piecewise(x<1,x,x<2,-2+3*x,x<3,6-x,x<4,6-x,6-x)
                                     end proc
    Äðóãèì ñïîñîáîì ïðèáëèæåíèÿ äàííûõ ÿâëÿåòñÿ ìåòîä íàèìåíüøèõ
êâàäðàòîâ. Ðåçóëüòàòîì ïðèìåíåíèÿ ýòîãî ìåòîäà ÿâëÿåòñÿ ôóíêöèÿ çà-
äàííîãî âèäà, íàèìåíåå óêëîíÿþùàÿñÿ îò èñõîäíûõ òî÷åê. Äëÿ ïðèìåíå-
íèÿ ýòîãî ìåòîäà â Maple ìîæíî âîñïîëüçîâàòüñÿ êîìàíäàìè ëèíåéíîé
àëãåáðû èëè èñïîëüçîâàòü êîìàíäó leastsquare èç ïàêåòà stats. Âõîäíû-
ìè ïàðàìåòðàìè êîìàíäû leastsquare ÿâëÿþòñÿ èìåíà ïåðåìåííûõ, âèä
ôóíêöèè è íàáîð òî÷åê. Ïîñòðîèì ìåòîäîì íàèìåíüøèõ êâàäðàòîâ ïðèáëè-
æåíèå êóáè÷åñêèì ïîëèíîìîì òåñòîâîãî íàáîðà äàííûõ X, Y , ïîäêëþ÷èâ
ïðåäâàðèòåëüíî ïàêåò ñòàòèñòèêè:
> with(stats): fqproc:=codegen[makeproc](f1,x):
> h := f it[leastsquare[[x, y], y = a1 ∗ x3 + a2 ∗ x2 + a3 ∗ x + a4]]([X, Y ]);
                                    1 3 38 2 1049       17
                    h := y =          x −    x +     x−
                                   54     63     378    63

                                              24