JavaScript 数値演算のソースを表示
新しいページはコチラ
移動:
案内
,
検索
[[JAVA Script#リファレンス]]に戻る。 [[ymath テスト]] [[yjavascript テスト]] Mathオブジェクトには、通常の科学技術計算を行うための関数が準備されていて、便利なものになっています。むろん、[[Maxima]]や[[R]]のようなコンピュータ支援による数式システムや確率統計演算システムには遠くおよばないものです。まだまだ解明されていない数学の世界に挑戦していくこともできるのですが、まずはコンピュータと数学の間にある問題を理解せねばならないでしょう。コンピュータの特徴は有限の小さなメモリを使う変数という性質特有の桁あふれや、精度限界、2進数による表現のためにおこる2進数特有の循環小数の発生について理解しておく必要があり、さらには我々人間が理解しやすい10進数への変換時における文字列表現的数値の表示限界の問題や数値の切り落としのような様々な特徴を理解する必要があります。とはいったもののコンピュータの演算精度と演算速度は人間を楽しませるためには十分な速さと正確さを持っています。うまく使いこなすことで、人間には到底不可能な制御や時間的経過と次に起こることの予測などをしての補正計算に使うことが出来ますし、延々に人間のコントロールするマウスの座標や動きを予測したり、ブラウザ上で動かされたマウスの軌道計算や走行距離、速度をはかることもできます。こういったマウス座標の動きから、通常はありえないペンタブレットを使った場合の座標飛びを検出したり、画面座標計算を駆使することで、ゲームを作ったり、様々な情報提供を行い行動観察やそれを使った様々な指標の提供など、数学が陰ながら社会を支えている技術を提供できます。 ※現在、管理人は、この章の説明をするにあたり、やはり、wikiの記事内で美しい数式の記述ができる技術の導入が必要ではないかと思いまして、MathJaxという技術をwikiに導入できないか検証中です。つまり、自作Extension作成中ということです。意外と日本人でMediaWikiのExtension解説サイトをやっている人っていないんですね。あまり得意とは言えない英語ばっかり読んでいて、あたまがおかしくなりそうです。この調子だと年が明けそうです。ウソウソ。そんなに努力家じゃないです。逃亡してます。4か月も放置してればきっとね。 == 定数 == === <ymath>円周率 $ \pi $ Math.PI</ymath> === <ymath>直径1の円の円周の長さが $ \pi $ です。面積は半径$ r $ に対して$ \pi r^2 $となることがわかっています。</ymath> === <ymath>ネイピア数 $\mathrm{e}$ Math.E </ymath> === <ymath>自然対数の底として $\mathrm{e}$ が定められていて、この値は2.71くらいです。具体的には、</ymath> <ymath> $\mathrm{e} = 2.718281828459045 $ </ymath> <ymath>です。対数と大きな数同士の積の計算を和の計算に還元するものです。指数同士の積を対数表を用いて和の計算として扱うことができます。正直なところ底はなんでもよかったんですが、オイラーさんによって、とても美しい無理数としてのネイピア数の発見に至ったのです。今では対数の底といえば、この数を使うというのが一般的になってきています。 $\mathrm{e}^x $ を $ x $ で微分$($ある数の底の指数値を微分して傾きを計算しても、その数の指数値になるような数$)$しても $ \mathrm{e}^x $ となる数です。この値は対数の仕組みを使って積の計算を和の計算に還元する手法を一番最初に提案したネイピアさんをたたえるべくネイピア数と命名されています。</ymath> === <ymath>自然対数 $\log_{\mathrm{e}} 2 $,$ \ln{2} $ Math.LN2/$\log_{\mathrm{e}} 10 $, $\ln{10} $ LN10</ymath> === === <ymath>常用対数 $\log_2 \mathrm{e} $ Math.LOG2E/$\log_{10} \mathrm{e} $ LOG10E</ymath> === === <ymath>平方根$ \sqrt{2} $ Math.SQRT2/$ \frac{\sqrt{2}}{2} $SQRT1_2</ymath> === <ymath>$ \sqrt{2} $ は2乗したら2になる数です。つまり、$ \sqrt{2} \times \sqrt{2} = 2 $ です。</ymath> したがって、 <ymath>$ \sqrt{2} = 1.4142135623730951 $</ymath> というような値になります。1.414を2回かけると1.999396になります。完全に2にはならないけど、桁数を増やしながら、2乗していくと近づいてる実感が得られると思います。ものすごい桁数をコンピュータは定数として覚えています。オレには覚えらんないね。 その半分の値 <ymath>$ \frac{\sqrt{2}}{2} = 0.7071067811865476 $</ymath> も定数として使えるようになっています。何に使うんかな?そんなに頻繁に使うんだっけか?やっぱ、死ぬほど苦労してでも東大いっとけばよかったなぁ。事の重大性がわからない。死ぬほど苦労しても行けてなかっただろうけどね。就職氷河期に就職できただけでもよかったと思うことにしよう。 [[Media:JavaScript Math Constant2.html|MathJaxとCanvasによるグラフ描画サンプル]] こういうのを、MediaWikiの中に埋め込みたいらしい。難しいかな。 みんなで編集するわけじゃないから、ガシガシのExtensionになる予定。 追記160314 やればできるってことですね。MathJaxが記事中で使えるようになりました。よかった。Texと微妙に違う表記に若干戸惑いますが、そのうち慣れるでしょう。グラフも書きたいからcanvasも頑張ろう。ymathエクステンションを作るのに3日間もかかった。能力や開発効率の低さ。まだまだだなオレ。もう歳だし。無理なんだろうな。超絶やべく頭悪いのは心残りだ。もっと訓練しねぇとなぁ。若いみんなはオレみたいになんなよ。オレなんか軽く超えていってくれたまえ。プログラムの能力を身に着けて近い将来に年間10億かせいでやるぐらいの強い気持ちで強烈に挑んでほしい。 追記160315 canvasもできるようになったぜ!オレってなかなかExtension開発のセンスあんのかな。フフフ♪ <yjavascript> onload = function() { draw1(); }; /* 円を描く */ function draw1() { var canvas = document.getElementById('c1'); if ((! canvas) ||(! canvas.getContext)) { return false; } var ctx = canvas.getContext('2d'); ctx.beginPath(); ctx.arc(70, 70, 60, 0, Math.PI*2, false); ctx.stroke(); ctx.beginPath(); ctx.moveTo(0, 70); ctx.lineTo(610, 70); ctx.stroke(); ctx.beginPath(); ctx.moveTo(70, 0); ctx.lineTo(70, 140); ctx.stroke(); ctx.beginPath(); ctx.moveTo(130, 0); ctx.lineTo(130, 140); ctx.stroke(); ctx.beginPath(); ctx.moveTo(130, 70 - 60 * Math.sin(0)); for (var i = 1; i <= 480; i += 1) { ctx.lineTo(i + 130, 70 - 60 * Math.sin( Math.PI * i / 60)); } ctx.stroke(); ctx.beginPath(); ctx.moveTo(130, 70 - 60 * Math.cos(0)); for (var i = 1; i <= 480; i += 1) { ctx.lineTo(i + 130, 70 - 60 * Math.cos( Math.PI * i / 60)); } ctx.stroke(); } </yjavascript> <ycanvas id="c1" width="1098" height="140"></ycanvas> ちなみに、記事中にJAVA SCRIPTを埋め込むのは非常に危険な行為でして、ちゃんと動作確認をしてから張り付けないと、やえもすると、その記事のページが表示できなくなってCMSを使っての編集ができなくなることもあります。また、不特定多数で記事の編集をしている場合、JAVAスクリプトに悪意あるコードを埋め込むことによって、Webサイト全体が簡単に書き換えられる可能性もあります。危険なことです。このwikiがハッキングされたら、全部消えることもありえます。覚悟は必要です。バックアップはとってありますので、ある時点に戻るという感じの被害になるのと、もうJAVAスクリプトの埋め込みはやめるという決断とかをするのかもしれません。yjavascriptタグは非常に危険なエクステンションですね。ymathタグは数式を表示するだけなので、たいしたことないっすかね。 てか、記事を読んでJAVA SCRIPTを勉強している人にとってはどうでもいいことですね。 == 関数 == === 三角関数 sin/cos/tan/asin/acos/atan/atan2 === === 最小値・最大値 max/min === === 絶対値 abs === === 切り捨て・切り上げ・四捨五入 floor/ceil/round === === 平方根・べき乗(累乗根) sqrt/pow === === 対数・指数函数 log/exp === === 乱数 random === [[JAVA Script#リファレンス]]に戻る。
JavaScript 数値演算
に戻る。
個人用ツール
ログイン
名前空間
ページ
議論
変種
表示
閲覧
ソースを表示
履歴表示
操作
検索
案内
メインページ
コミュニティ・ポータル
最近の出来事
最近の更新
おまかせ表示
ヘルプ
ツールボックス
リンク元
関連ページの更新状況
特別ページ