<?xml version="1.0"  encoding="iso-8859-1" ?>
<?xml-stylesheet type="text/xsl" href="xsl/mathml.xsl"?>
<!DOCTYPE MMLEntities [
<!ENTITY af "&#x02061;">
<!ENTITY alpha "&#x003B1;">
<!ENTITY ap "&#x02048;">
<!ENTITY apos "&#x00027;">
<!ENTITY ApplyFunction "&#x02061;">
<!ENTITY Backslash "&#x02216;">
<!ENTITY beta "&#x003B2;">
<!ENTITY cap "&#x02229;">
<!ENTITY CenterDot "&#x000B7;">
<!ENTITY chi "&#x003C7;">
<!ENTITY compfn "&#x02218;">
<!ENTITY cup "&#x0222A;">
<!ENTITY dd "d">
<!ENTITY Del "&#x02207;">
<!ENTITY Delta "&#x00394;">
<!ENTITY delta "&#x003B4;">
<!ENTITY DifferentialD "d">
<!ENTITY DoubleRightArrow "&#x021D2;">
<!ENTITY ee "e">
<!ENTITY empty "&#x02205;&#x02063;">
<!ENTITY emptyset "&#x02205;&#x02063;">
<!ENTITY epsi "&#x003B5;">
<!ENTITY epsilon "&#x003B5;">
<!ENTITY epsiv "&#x0025B;">
<!ENTITY equiv "&#x02261;">
<!ENTITY eta "&#x003B7;">
<!ENTITY exist "&#x02203;">
<!ENTITY Exists "&#x02203;">
<!ENTITY ExponentialE "e">
<!ENTITY forall "&#x02200;">
<!ENTITY ForAll "&#x02200;">
<!ENTITY Gamma "&#x00393;">
<!ENTITY gamma "&#x003B3;">
<!ENTITY Gammad "&#x003DC;">
<!ENTITY gammad "&#x003DC;">
<!ENTITY ge "&#x02265;">
<!ENTITY gt "&#x0003E;">
<!ENTITY ii "i">
<!ENTITY image "&#x02111;">
<!ENTITY ImaginaryI "i">
<!ENTITY in "&#x02208;">
<!ENTITY infin "&#x0221E;">
<!ENTITY Integral "&#x0222B;">
<!ENTITY InvisibleTimes "&#x02062;">
<!ENTITY iota "&#x003B9;">
<!ENTITY it "&#x02062;">
<!ENTITY kappa "&#x003BA;">
<!ENTITY kappav "&#x003F0;">
<!ENTITY Lambda "&#x0039B;">
<!ENTITY lambda "&#x003BB;">
<!ENTITY lceil "&#x02308;">
<!ENTITY le "&#x02264;">
<!ENTITY LeftBracketingBar "|">
<!ENTITY LeftCeiling "&#x02308;">
<!ENTITY LeftFloor "&#x0230A;">
<!ENTITY lfloor "&#x0230A;">
<!ENTITY LowerRightArrow "&#x02198;">
<!ENTITY mu "&#x003BC;">
<!ENTITY nabla "&#x02207;">
<!ENTITY nbsp "&#x000A0;">
<!ENTITY ne "&#x02260;">
<!ENTITY not "&#x000AC;">
<!ENTITY NotElement "&#x02209;">
<!ENTITY NotEqual "&#x02260;">
<!ENTITY notin "&#x02209;">
<!ENTITY NotSubsetEqual "&#x02288;">
<!ENTITY nsub "&#x02284;">
<!ENTITY nsube "&#x02288;">
<!ENTITY nsubseteq "&#x02288;">
<!ENTITY nu "&#x003BD;">
<!ENTITY Omega "&#x003A9;">
<!ENTITY omega "&#x003C9;">
<!ENTITY OverBar "&#x000AF;">
<!ENTITY part "&#x02202;">
<!ENTITY Phi "&#x003A6;">
<!ENTITY phi "&#x003C6;">
<!ENTITY phiv "&#x003D5;">
<!ENTITY Pi "&#x003A0;">
<!ENTITY pi "&#x003C0;">
<!ENTITY piv "&#x003D6;">
<!ENTITY prime "&#x02032;">
<!ENTITY Product "&#x0220F;">
<!ENTITY Psi "&#x003A8;">
<!ENTITY psi "&#x003C8;">
<!ENTITY rarr "&#x02192;">
<!ENTITY rceil "&#x02309;">
<!ENTITY real "&#x0211C;">
<!ENTITY rfloor "&#x0230B;">
<!ENTITY rho "&#x003C1;">
<!ENTITY rhov "&#x003F1;">
<!ENTITY RightArrow "&#x02192;">
<!ENTITY rightarrow "&#x02192;">
<!ENTITY RightBracketingBar "|">
<!ENTITY RightCeiling "&#x02309;">
<!ENTITY RightFloor "&#x0230B;">
<!ENTITY Sigma "&#x003A3;">
<!ENTITY sigma "&#x003C3;">
<!ENTITY sigmav "&#x003C2;">
<!ENTITY sub "&#x02282;">
<!ENTITY sube "&#x02286;">
<!ENTITY SuchThat "&#x0220B;">
<!ENTITY Sum "&#x02211;">
<!ENTITY tau "&#x003C4;">
<!ENTITY Theta "&#x00398;">
<!ENTITY theta "&#x003B8;">
<!ENTITY thetav "&#x003D1;">
<!ENTITY times "&#x000D7;">
<!ENTITY UpperRightArrow "&#x02197;">
<!ENTITY Upsi "&#x003D2;">
<!ENTITY upsi "&#x003C5;">
<!ENTITY vee "&#x02228;">
<!ENTITY wedge "&#x02227;">
<!ENTITY weierp "&#x02118;">
<!ENTITY xi "&#x003BE;">
<!ENTITY Xi "&#x0039E;">
<!ENTITY zeta "&#x003B6;">
]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>nummen.html</title>
<!-- Created by Maple 8.00, IBM INTEL NT -->
<link href="../navi/css/esim.css" rel="stylesheet" type="text/css"/>
</head>
<body bgcolor="FFFFFF">

<a href="../mpl/nummen.mws" target="_blank">nummen.mws</a>

<a name="MapleAutoBookmark1" />
<p align="center">
<b><u><font color="#000000" size="5">Ensimmäisen kertaluvun yhtälö </font></u></b>
</p>
<p align="left">
</p>
<p align="left">
<font color="#000000">Eulerin menetelmä alkuarvoprobleeman </font>
<i><font color="#000000">y</font></i>
<font color="#000000">' = f(</font>
<i><font color="#000000">x</font></i>
<font color="#000000">,</font>
<i><font color="#000000">y</font></i>
<font color="#000000">), y(</font>
<img src="images/nummen1.gif" width="32" height="32" alt="x[0]" align="middle" />
<font color="#000000">) = </font>
<img src="images/nummen2.gif" width="31" height="32" alt="y[0]" align="middle" />
<font color="#000000">, &nbsp;ratkaisemiseksi voidaan ohjelmoida </font>
<i><font color="#000000">Maple</font></i>
<font color="#000000">lle </font>
<b><font color="#000000">eulernum</font></b>
<font color="#000000">-nimiseksi proseduuriksi seuraavalla tavalla (solu on ajettava, jotta mäÂäritelmä tulee voimaan): <br />
</font>
</p>
<p align="left">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td valign="top"><tt>&gt; &nbsp;&nbsp;</tt></td>
<td width="100%" valign="top"><b><font color="#FF0000">eulernum:=proc(f, x0, y0, h, xend)<br />
&nbsp;&nbsp;local kend, x, y, i;<br />
&nbsp;&nbsp;kend:= round((xend-x0)/h);<br />
&nbsp;&nbsp;x[0]:= x0;<br />
&nbsp;&nbsp;y[0]:= y0;<br />
&nbsp;&nbsp;for i from 1 to kend do<br />
&nbsp;&nbsp;&nbsp;&nbsp;x[i]:= x[i-1]+h;<br />
&nbsp;&nbsp;&nbsp;&nbsp;y[i]:= y[i-1]+h*f(x[i-1], y[i-1]);<br />
&nbsp;&nbsp;od;<br />
return [seq([x[k], y[k]], k=0..kend)];<br />
end:</font></b>
</td></tr>
</table>
</p>
<p align="left">
</p>
<p align="left">
<font color="#000000">Proseduurin ensimmäinen argumentti on differentiaaliyhtälön oikean puolen funktio </font>
<i><font color="#000000">f</font></i>
<font color="#000000">&nbsp;</font>
<i><font color="#000000">Maple</font></i>
<font color="#000000">n funktioksi mäÂäriteltynä, kaksi seuraavaa mäÂärittävät alkuehdon, neljäs on askelpituus. Laskenta tapahtuu välillä </font>
<b><font color="#000000">[x0,xend]</font></b>
<font color="#000000">. </font>
</p>
<p align="left">
</p>
<p align="left">
<font color="#000000">Proseduurin toisella rivillä lasketaan tarvittavien askelten lukumäÂärä </font>
<b><font color="#000000">kend</font></b>
<font color="#000000">. Kolmannella ja neljännellä rivillä mäÂäritelläÂän alkuarvot. </font>
<b><font color="#000000">For</font></b>
<font color="#000000">-silmukassa lasketaan numeerisen ratkaisun hilapisteet Eulerin menetelmällä. Viimeisellä rivillä palautetaan vastaus listana koottuna </font>
<i><font color="#000000">xy</font></i>
<font color="#000000">-pareiksi.<br />
</font>
</p>
<p align="left">
<font color="#000000">Numeerinen ratkaiseminen tapahtuu antamalla tarvittavat argumentit </font>
<b><font color="#000000">eulernum</font></b>
<font color="#000000">-funktiolle, jolloin tulokseksi saadaan lista hilapisteiden koordinaateista. Argumentit voidaan tallettaa muillekin nimille kuin funktion mäÂärittelyssä käytetyille tai antaa myös suoraan numeroina (esimerkiksi </font>
<b><font color="#000000">askel:= 0.1</font></b>
<font color="#000000">, </font>
<b><font color="#000000">eulernum(f,x0,y0,askel,xend)</font></b>
<font color="#000000">&nbsp;tai </font>
<b><font color="#000000">eulernum(unapply(2*x*y,x,y),0,1,0.1,2)</font></b>
<font color="#000000">. </font>
</p>
<p align="left">
</p>
<p align="left">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td valign="top"><tt>&gt; &nbsp;&nbsp;</tt></td>
<td width="100%" valign="top"><b><font color="#FF0000">f:= unapply(2*x*y, x, y);</font></b>
</td></tr>
</table>
</p>
<p align="center">
<img src="images/nummen3.gif" width="133" height="20" alt="f := proc (x, y) options operator, arrow; 2*x*y end proc" />
</p>
<p align="left">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td valign="top"><tt>&gt; &nbsp;&nbsp;</tt></td>
<td width="100%" valign="top"><b><font color="#FF0000">h:= 0.1;</font></b>
</td></tr>
</table>
</p>
<p align="center">
<math xmlns='http://www.w3.org/1998/Math/MathML'>
  <mrow>
    <mi>h</mi>
  </mrow>
  <mo>:=</mo>
  <mrow>
    <mn>.1</mn>
  </mrow>
</math>
</p>
<p align="left">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td valign="top"><tt>&gt; &nbsp;&nbsp;</tt></td>
<td width="100%" valign="top"><b><font color="#FF0000">x0:= 0;</font></b>
</td></tr>
</table>
</p>
<p align="center">
<math xmlns='http://www.w3.org/1998/Math/MathML'>
  <mrow>
    <mi>x0</mi>
  </mrow>
  <mo>:=</mo>
  <mrow>
    <mn>0</mn>
  </mrow>
</math>
</p>
<p align="left">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td valign="top"><tt>&gt; &nbsp;&nbsp;</tt></td>
<td width="100%" valign="top"><b><font color="#FF0000">y0:= 1;</font></b>
</td></tr>
</table>
</p>
<p align="center">
<math xmlns='http://www.w3.org/1998/Math/MathML'>
  <mrow>
    <mi>y0</mi>
  </mrow>
  <mo>:=</mo>
  <mrow>
    <mn>1</mn>
  </mrow>
</math>
</p>
<p align="left">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td valign="top"><tt>&gt; &nbsp;&nbsp;</tt></td>
<td width="100%" valign="top"><b><font color="#FF0000">xend:= 2;</font></b>
</td></tr>
</table>
</p>
<p align="center">
<math xmlns='http://www.w3.org/1998/Math/MathML'>
  <mrow>
    <mi>xend</mi>
  </mrow>
  <mo>:=</mo>
  <mrow>
    <mn>2</mn>
  </mrow>
</math>
</p>
<p align="left">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td valign="top"><tt>&gt; &nbsp;&nbsp;</tt></td>
<td width="100%" valign="top"><b><font color="#FF0000">eulerdata:= eulernum(f, x0, y0, h, xend);</font></b>
</td></tr>
</table>
</p>
<p align="left">
<math xmlns='http://www.w3.org/1998/Math/MathML'>
  <mrow>
    <mi>eulerdata</mi>
  </mrow>
  <mo>:=</mo>
  <mrow>
    <mfenced open='[' close=']'>
      <mfenced open='[' close=']'>
        <mn>0</mn>
        <mn>1</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>.1</mn>
        <mn>1.</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>.2</mn>
        <mn>1.02</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>.3</mn>
        <mn>1.0608</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>.4</mn>
        <mn>1.124448</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>.5</mn>
        <mn>1.21440384</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>.6</mn>
        <mn>1.335844224</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>.7</mn>
        <mn>1.496145531</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>.8</mn>
        <mn>1.705605905</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>.9</mn>
        <mn>1.978502850</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>1.0</mn>
        <mn>2.334633363</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>1.1</mn>
        <mn>2.801560036</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>1.2</mn>
        <mn>3.417903244</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>1.3</mn>
        <mn>4.238200023</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>1.4</mn>
        <mn>5.340132029</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>1.5</mn>
        <mn>6.835368997</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>1.6</mn>
        <mn>8.885979697</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>1.7</mn>
        <mn>11.72949320</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>1.8</mn>
        <mn>15.71752089</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>1.9</mn>
        <mn>21.37582841</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>2.0</mn>
        <mn>29.49864321</mn>
      </mfenced>
    </mfenced>
  </mrow>
</math>
</p>
<p align="left">
</p>
<p align="left">
<font color="#000000">Datan perusteella voidaan piirtäÂä kuva ratkaisua approksimoivista pisteistä. <br />
</font>
</p>
<p align="left">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td valign="top"><tt>&gt; &nbsp;&nbsp;</tt></td>
<td width="100%" valign="top"><b><font color="#FF0000">eulerkuva:= plot(eulerdata, style=point):<br />
eulerkuva;</font></b>
</td></tr>
</table>
</p>
<p align="center">
<img src="images/nummen4.gif" width="448" height="448" alt="[Maple Plot]" />
</p>
<p align="left">
</p>
<p align="left">
<font color="#000000">Samaan tapaan voidaan ohjelmoida parannettu Eulerin menetelmä, Rungen Â– Kuttan menetelmä ja Adamsin Â– Bashforthin menetelmä: </font>
</p>
<p align="left">
</p>
<p align="left">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td valign="top"><tt>&gt; &nbsp;&nbsp;</tt></td>
<td width="100%" valign="top"><b><font color="#FF0000">pareuler:= proc(f, x0, y0, h, xend)<br />
&nbsp;&nbsp;local kend, x, y, i;<br />
&nbsp;&nbsp;kend:= round((xend-x0)/h);<br />
&nbsp;&nbsp;x[0]:= x0;<br />
&nbsp;&nbsp;y[0]:= y0;<br />
&nbsp;&nbsp;for i from 1 to kend do<br />
&nbsp;&nbsp;&nbsp;&nbsp;x[i]:= x[i-1]+h;<br />
&nbsp;&nbsp;&nbsp;&nbsp;y[i]:= y[i-1]+<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;h/2*(f(x[i-1], y[i-1])+<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;f(x[i], y[i-1]+h*f(x[i-1], y[i-1])));<br />
&nbsp;&nbsp;od;<br />
return [seq([x[k],y[k]], k=0..kend)];<br />
end:</font></b>
</td></tr>
</table>
</p>
<p align="left">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td valign="top"><tt>&gt; &nbsp;&nbsp;</tt></td>
<td width="100%" valign="top"><b><font color="#FF0000">rungekutta:= proc(f, x0, y0, h, xend)<br />
&nbsp;&nbsp;local kend, x, y, i, k1, k2, k3, k4;<br />
&nbsp;&nbsp;kend:= round((xend-x0)/h);<br />
&nbsp;&nbsp;x[0]:= x0;<br />
&nbsp;&nbsp;y[0]:= y0;<br />
&nbsp;&nbsp;for i from 1 to kend do<br />
&nbsp;&nbsp;&nbsp;&nbsp;x[i]:= x[i-1]+h;<br />
&nbsp;&nbsp;&nbsp;&nbsp;k1:= h*f(x[i-1], y[i-1]);<br />
&nbsp;&nbsp;&nbsp;&nbsp;k2:= h*f(x[i-1]+h/2, y[i-1]+k1/2);<br />
&nbsp;&nbsp;&nbsp;&nbsp;k3:= h*f(x[i-1]+h/2, y[i-1]+k2/2);<br />
&nbsp;&nbsp;&nbsp;&nbsp;k4:= h*f(x[i-1]+h, y[i-1]+k3);<br />
&nbsp;&nbsp;&nbsp;&nbsp;y[i]:= y[i-1]+1/6*(k1+2*k2+2*k3+k4);<br />
&nbsp;&nbsp;od;<br />
return [seq([x[k], y[k]], k=0..kend)];<br />
end:</font></b>
</td></tr>
</table>
</p>
<p align="left">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td valign="top"><tt>&gt; &nbsp;&nbsp;</tt></td>
<td width="100%" valign="top"><b><font color="#FF0000">adamsbashforth:= proc(f, x0, y0, h, xend)<br />
&nbsp;&nbsp;local kend, x, y, i, k1, k2, k3, k4;<br />
&nbsp;&nbsp;kend:= round((xend-x0)/h);<br />
&nbsp;&nbsp;x[0]:= x0;<br />
&nbsp;&nbsp;y[0]:= y0;<br />
&nbsp;&nbsp;for i from 1 to 3 do<br />
&nbsp;&nbsp;&nbsp;&nbsp;x[i]:= x[i-1]+h;<br />
&nbsp;&nbsp;&nbsp;&nbsp;k1:= h*f(x[i-1], y[i-1]);<br />
&nbsp;&nbsp;&nbsp;&nbsp;k2:= h*f(x[i-1]+h/2, y[i-1]+k1/2);<br />
&nbsp;&nbsp;&nbsp;&nbsp;k3:= h*f(x[i-1]+h/2, y[i-1]+k2/2);<br />
&nbsp;&nbsp;&nbsp;&nbsp;k4:= h*f(x[i-1]+h, y[i-1]+k3);<br />
&nbsp;&nbsp;&nbsp;&nbsp;y[i]:= y[i-1]+1/6*(k1+2*k2+2*k3+k4);<br />
&nbsp;&nbsp;od;<br />
&nbsp;&nbsp;for i from 4 to kend do<br />
&nbsp;&nbsp;&nbsp;&nbsp;x[i]:= x[i-1]+h;<br />
&nbsp;&nbsp;&nbsp;&nbsp;y[i]:= y[i-1]+h/24*(<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;55*f(x[i-1], y[i-1])-<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;59*f(x[i-2], y[i-2])+<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;37*f(x[i-3], y[i-3])-<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;9*f(x[i-4], y[i-4]))<br />
&nbsp;&nbsp;od;<br />
return [seq([x[k], y[k]], k=0..kend)];<br />
end:</font></b>
</td></tr>
</table>
</p>
<p align="left">
</p>
<p align="left">
<font color="#000000">Näiden avulla muodostetut ratkaisut ja vastaavat kuvat: </font>
</p>
<p align="left">
</p>
<p align="left">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td valign="top"><tt>&gt; &nbsp;&nbsp;</tt></td>
<td width="100%" valign="top"><b><font color="#FF0000">pareulerdata:= pareuler(f, x0, y0, h, xend);</font></b>
</td></tr>
</table>
</p>
<p align="left">
<math xmlns='http://www.w3.org/1998/Math/MathML'>
  <mrow>
    <mi>pareulerdata</mi>
  </mrow>
  <mo>:=</mo>
  <mrow>
    <mfenced open='[' close=']'>
      <mfenced open='[' close=']'>
        <mn>0</mn>
        <mn>1</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>.1</mn>
        <mn>1.010000000</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>.2</mn>
        <mn>1.040704000</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>.3</mn>
        <mn>1.093988045</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>.4</mn>
        <mn>1.173192779</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>.5</mn>
        <mn>1.283472900</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>.6</mn>
        <mn>1.432355756</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>.7</mn>
        <mn>1.630593793</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>.8</mn>
        <mn>1.893445512</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>.9</mn>
        <mn>2.242596864</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>1.0</mn>
        <mn>2.709057012</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>1.1</mn>
        <mn>3.337558238</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>1.2</mn>
        <mn>4.193308170</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>1.3</mn>
        <mn>5.372466428</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>1.4</mn>
        <mn>7.018590142</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>1.5</mn>
        <mn>9.348762069</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>1.6</mn>
        <mn>12.69561889</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>1.7</mn>
        <mn>17.57581479</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>1.8</mn>
        <mn>24.80298983</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>1.9</mn>
        <mn>35.67662057</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>2.0</mn>
        <mn>52.30192576</mn>
      </mfenced>
    </mfenced>
  </mrow>
</math>
</p>
<p align="left">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td valign="top"><tt>&gt; &nbsp;&nbsp;</tt></td>
<td width="100%" valign="top"><b><font color="#FF0000">pareulerkuva:= plot(pareulerdata, style=point):<br />
pareulerkuva;</font></b>
</td></tr>
</table>
</p>
<p align="center">
<img src="images/nummen5.gif" width="448" height="448" alt="[Maple Plot]" />
</p>
<p align="left">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td valign="top"><tt>&gt; &nbsp;&nbsp;</tt></td>
<td width="100%" valign="top"><b><font color="#FF0000">rungekuttadata:= rungekutta(f, x0, y0, h, xend);</font></b>
</td></tr>
</table>
</p>
<p align="left">
<math xmlns='http://www.w3.org/1998/Math/MathML'>
  <mrow>
    <mi>rungekuttadata</mi>
  </mrow>
  <mo>:=</mo>
  <mrow>
    <mfenced open='[' close=']'>
      <mfenced open='[' close=']'>
        <mn>0</mn>
        <mn>1</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>.1</mn>
        <mn>1.010050166</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>.2</mn>
        <mn>1.040810769</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>.3</mn>
        <mn>1.094174264</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>.4</mn>
        <mn>1.173510813</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>.5</mn>
        <mn>1.284025255</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>.6</mn>
        <mn>1.433328994</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>.7</mn>
        <mn>1.632315187</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>.8</mn>
        <mn>1.896478467</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>.9</mn>
        <mn>2.247902589</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>1.0</mn>
        <mn>2.718270175</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>1.1</mn>
        <mn>3.353460191</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>1.2</mn>
        <mn>4.220645591</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>1.3</mn>
        <mn>5.419379283</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>1.4</mn>
        <mn>7.099124725</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>1.5</mn>
        <mn>9.487335476</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>1.6</mn>
        <mn>12.93502908</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>1.7</mn>
        <mn>17.99176113</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>1.8</mn>
        <mn>25.53067937</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>1.9</mn>
        <mn>36.96006234</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>2.0</mn>
        <mn>54.58630867</mn>
      </mfenced>
    </mfenced>
  </mrow>
</math>
</p>
<p align="left">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td valign="top"><tt>&gt; &nbsp;&nbsp;</tt></td>
<td width="100%" valign="top"><b><font color="#FF0000">rungekuttakuva:= plot(rungekuttadata, style=point):<br />
rungekuttakuva;</font></b>
</td></tr>
</table>
</p>
<p align="center">
<img src="images/nummen6.gif" width="448" height="448" alt="[Maple Plot]" />
</p>
<p align="left">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td valign="top"><tt>&gt; &nbsp;&nbsp;</tt></td>
<td width="100%" valign="top"><b><font color="#FF0000">adamsbashforthdata:= adamsbashforth(f, x0, y0, h,xend);</font></b>
</td></tr>
</table>
</p>
<p align="left">
<math xmlns='http://www.w3.org/1998/Math/MathML'>
  <mrow>
    <mi>adamsbashforthdata</mi>
  </mrow>
  <mo>:=</mo>
  <mrow>
    <mfenced open='[' close=']'>
      <mfenced open='[' close=']'>
        <mn>0</mn>
        <mn>1</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>.1</mn>
        <mn>1.010050166</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>.2</mn>
        <mn>1.040810769</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>.3</mn>
        <mn>1.094174264</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>.4</mn>
        <mn>1.173420046</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>.5</mn>
        <mn>1.283764305</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>.6</mn>
        <mn>1.432786640</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>.7</mn>
        <mn>1.631313792</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>.8</mn>
        <mn>1.894732637</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>.9</mn>
        <mn>2.244948474</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>1.0</mn>
        <mn>2.713344710</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>1.1</mn>
        <mn>3.345294745</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>1.2</mn>
        <mn>4.207108940</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>1.3</mn>
        <mn>5.396852546</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>1.4</mn>
        <mn>7.061394527</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>1.5</mn>
        <mn>9.423611254</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>1.6</mn>
        <mn>12.82634935</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>1.7</mn>
        <mn>17.80440109</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>1.8</mn>
        <mn>25.20390923</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>1.9</mn>
        <mn>36.38313185</mn>
      </mfenced>
      <mfenced open='[' close=']'>
        <mn>2.0</mn>
        <mn>53.55462781</mn>
      </mfenced>
    </mfenced>
  </mrow>
</math>
</p>
<p align="left">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td valign="top"><tt>&gt; &nbsp;&nbsp;</tt></td>
<td width="100%" valign="top"><b><font color="#FF0000">adamsbashforthkuva:= plot(adamsbashforthdata, style=point):<br />
adamsbashforthkuva;</font></b>
</td></tr>
</table>
</p>
<p align="center">
<img src="images/nummen7.gif" width="448" height="448" alt="[Maple Plot]" />
</p>
<p align="left">
</p>
<p align="left">
<font color="#000000">Esimerkkinä oleva alkuarvoprobleema on myös ratkaistavissa algebrallisesti, jolloin voidaan verrata eri menetelmien tarkkuutta toisiinsa ja myös tarkkaan ratkaisuun: </font>
</p>
<p align="left">
</p>
<p align="left">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td valign="top"><tt>&gt; &nbsp;&nbsp;</tt></td>
<td width="100%" valign="top"><b><font color="#FF0000">tarkkaratkaisu:= dsolve({diff(y(x), x)=2*x*y(x), y(x0)=y0}, y(x));</font></b>
</td></tr>
</table>
</p>
<p align="center">
<math xmlns='http://www.w3.org/1998/Math/MathML'>
  <mrow>
    <mi>tarkkaratkaisu</mi>
  </mrow>
  <mo>:=</mo>
  <mrow>
    <mrow>
      <mrow>
        <mi>y</mi>
        <mo>&ApplyFunction;</mo>
        <mfenced>
          <mi>x</mi>
        </mfenced>
      </mrow>
      <mo>=</mo>
      <msup>
        <mi>&ExponentialE;</mi>
        <mfenced>
          <msup>
            <mi>x</mi>
            <mn>2</mn>
          </msup>
        </mfenced>
      </msup>
    </mrow>
  </mrow>
</math>
</p>
<p align="left">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td valign="top"><tt>&gt; &nbsp;&nbsp;</tt></td>
<td width="100%" valign="top"><b><font color="#FF0000">tarkkakuva:= plot(rhs(tarkkaratkaisu), x=0..xend):<br />
tarkkakuva;</font></b>
</td></tr>
</table>
</p>
<p align="center">
<img src="images/nummen8.gif" width="448" height="448" alt="[Maple Plot]" />
</p>
<p align="left">
</p>
<p align="left">
<font color="#000000">Kaikki ratkaisut samassa kuvassa: </font>
</p>
<p align="left">
</p>
<p align="left">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td valign="top"><tt>&gt; &nbsp;&nbsp;</tt></td>
<td width="100%" valign="top"><b><font color="#FF0000">with(plots):</font></b>
</td></tr>
</table>
</p>
<p align="left">
<tt><pre><font color="#0000FF" size="2">Warning, the name changecoords has been redefined<br />
</font></pre></tt>
</p>
<p align="left">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td valign="top"><tt>&gt; &nbsp;&nbsp;</tt></td>
<td width="100%" valign="top"><b><font color="#FF0000">display(eulerkuva, pareulerkuva, rungekuttakuva, adamsbashforthkuva, tarkkakuva);</font></b>
</td></tr>
</table>
</p>
<p align="center">
<img src="images/nummen9.gif" width="448" height="448" alt="[Maple Plot]" />
</p>
<p align="left">
</p>
<p align="left">
<font color="#000000">Lopuksi eri menetelmillä saadut arvot tarkasteluvälin loppupisteessä: </font>
</p>
<p align="left">
</p>
<p align="left">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td valign="top"><tt>&gt; &nbsp;&nbsp;</tt></td>
<td width="100%" valign="top"><b><font color="#FF0000">eulerdata[-1][2],<br />
pareulerdata[-1][2],<br />
rungekuttadata[-1][2],<br />
adamsbashforthdata[-1][2],<br />
evalf(subs(x=2,rhs(tarkkaratkaisu)));</font></b>
</td></tr>
</table>
</p>
<p align="center">
<math xmlns='http://www.w3.org/1998/Math/MathML'>
  <mn>29.49864321</mn>
  <mo>,</mo>
  <mn>52.30192576</mn>
  <mo>,</mo>
  <mn>54.58630867</mn>
  <mo>,</mo>
  <mn>53.55462781</mn>
  <mo>,</mo>
  <mn>54.59815003</mn>
</math>
</p>
<p align="left">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td valign="top"><tt>&gt; &nbsp;&nbsp;</tt></td>
<td width="100%" valign="top"></td></tr>
</table>
</p>
<p align="left">
</p>
<p align="left">
<font color="#000000">Edellä olevia syötteitä voi muuntaa ja tämän jälkeen ajaa koko muistikirjan yhdellä kerralla (valikko </font>
<b><font color="#000000">Edit</font></b>
<font color="#000000">&nbsp;/ </font>
<b><font color="#000000">Execute</font></b>
<font color="#000000">&nbsp;/ </font>
<b><font color="#000000">Worksheet</font></b>
<font color="#000000">). <br />
</font>
</p>

<p><b>Linkkejä</b></p>


 <a href="../xml_mpl/numper.xml">ensimmäisen kertaluvun yhtälön numeerinen ratkaiseminen</a><br/>
<a href="../xml/numeul.xml">Eulerin menetelmä</a><br/>
<a href="../xml/numheu.xml">parannettu Eulerin menetelmä</a><br/>
<a href="../xml/numrgk.xml">Rungen  -  Kuttan menetelmä</a><br/>
<a href="../xml/numadb.xml">Adamsin  -  Bashforthin menetelmä</a><br/>

<p align="left">
<i><font color="#000000">SKK &amp; MS 31.05.2001</font></i>
<font color="#000000">&nbsp;</font>
</p>



</body>
</html>
