Top / AA_Experiment / Rocket / SampleProgram_js

AA_Experiment/Rocket/SampleProgram_js

_ 圧力比 pe/pc の数値解をニュートン法で求めるサンプルプログラム (JavaScript版)

下記の内容で、拡張子".html"のファイルを作成し、JavaScript対応ブラウザで開く。

ソースファイルを開く(ブラウザ内で実行) → filenewton_js.html

<html>
<head>
    <title>圧力比 pe/pc の数値解をニュートン法で求める</title>
</head>
<body>
<H3>圧力比 p<sub>e</sub>/p<sub>c</sub> の数値解をニュートン法で求める</H3>
<HR>
<PRE>
<SCRIPT LANGUAGE="JavaScript">

    i = 0;
    eps = 1.0e-10;
    g = 1.402;
    dt = 2.5;
    de = 3.3;
    at = dt*dt * Math.PI / 4.0;
    ae = de*de * Math.PI / 4.0;
    ar = de*de / dt/dt;
    document.write("スロート面積 At = " + at + "<br>");
    document.write("  出口面積 Ae = " + ae + "<br>");
    document.write("開口比  Ae/At = " + ar + "<br>");
    pr = 0.1;
    dx = 1.0;
    document.write("<p>");
    document.write("<table border>");
    document.write("<tr><th>i</th><th>pe/pc</th><th>f</th><th>df</th></tr>");
    while ( Math.abs(dx) > eps ) {
      f = Math.pow(pr,(2.0/g)) - Math.pow(pr,(1.0+1.0/g))
        -((g-1.0)/2.0 * Math.pow(2.0/(g+1.0),(g+1.0)/(g-1.0))) / ar/ar;
      df = (2.0/g) * Math.pow(pr,(2.0/g-1.0))
        - (1.0+1.0/g) * Math.pow(pr,(1.0/g));
      document.write("<tr>");      
      document.write("<td>" + i  + "</td>");
      document.write("<td>" + pr + "</td>");
      document.write("<td>" + f  + "</td>");
      document.write("<td>" + df + "</td>");
      document.write("</tr>");      
      dx = - f / df;
      pr += dx;
      i++;
    }
    document.write("</table>");
    document.write("<br><br>");
    document.write("圧力比 pe/pc = " + pr);

</SCRIPT>
</PRE>
</body>
</html>
 
Attach file: filenewton_js.html 448 download [Information]
 
Link: AA_Experiment/Rocket(3469d)
Last-modified: 2011-01-06 (Thu) 18:02:02 (2511d)