WPF でグラフを描画する SparrowChart

WPF のコントロール集には Extended WPF Toolkit というものがあります。しかし、グラフを描画する Charts コントロールは、 Plus Edition ということで有料です。 というわけで、フリーのグラフコントロールを探していたところ、 SparrowToolkit というものを見つけたので紹介します。

サンプルプログラムの実行結果 サンプルプログラムの実行結果

Read More

初回アクセス時の表示の高速化

今までこのブログは(多分 SQL サーバの)スリープ状態によって、初回のアクセスが遅くなっていました。

その件についてやっと対策ができたので、 2 秒近くで応答が帰ってくると思います。(これでも遅い)

WordPress のプラグインや Redis などを調べて、もう少し速くしたいところです。

Linq to XML (XDocument) でエンティティ宣言されたものを使う

TODO いつか書き直す。.NET Coreにおける問題のIssueが解決し、.NET Core 1.2がリリースされたら記事を書き直す。ソースコードの予定場所

(現在の中身は 2014 年 6 月 4 日当時のコードを使ったもの)

(例外の画像)

1
2
3
4
5
6
7
8
9
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE math PUBLIC "-//W3C//DTD MathML 3.0//EN" "http://www.w3.org/Math/DTD/mathml3/mathml3.dtd">
<math xmlns="http://www.w3.org/1998/Math/MathML">
<mn>2</mn>
<mo>&times;</mo>
<mn>5</mn>
<mo>=</mo>
<mn>10</mn>
</math>

上のような XML を読み込ませると「宣言されていないエンティティ’times’への参照です。」というエラーが出る場合の対処法など。

Read More

C# で簡単なガウス・ジョルダンの消去法

C# でガウス・ジョルダンの消去法を実行してみます。 C 言語などで書いた場合とほとんど差はありません。 実際にはガウスの消去法の方が計算の効率が良いので、基本的にはこちらが使われることは少ないと思います。

簡単な…といういうことで、軸を選ぶ処理などは実装していません。

Read More

C# で二次方程式の解の桁落ちを見る

二次方程式の解を公式で解くことで、C# で桁落ちを試します。

桁落ち

cancellation of significant digits

桁落ちとは、浮動小数点演算で、計算結果が 0 に極端に近くなる加減算を行ったときに、有効数字の桁数が極端に少なくなる現象。

(中略)

桁落ち自体による問題はコンピュータとは無関係に発生するが、コンピュータ上での桁落ちは、計算途中の値が分からない・結果の桁数が常に一定なので気づきにくいという特徴がある。

Read More

C# で総和計算の情報落ちを見る

級数の総和を計算することで、 C# で情報落ちを試します。

情報落ち

loss of trailing digits

情報落ちとは、コンピュータで絶対値の大きさが極端に異なる数字を足したり引いたりしたときに、小さい値の情報が無視されてしまう現象。また、そのような現象によって起きる計算の誤差。

Read More

C# で計算機イプシロンを計算する

C 言語での計算機イプシロンを確認する方法を見つけたので、 C# でも実行してみることにしました。

計算機イプシロン

Machine Epsilon

正数 ε に対して 1+ε という演算を行ったとき、記憶領域は有限なので ε が小さすぎると無視されるが、無視されないで加えられる尤も小さい数をマシン・エプシロンと呼んでいる。

Cで学ぶ数値計算アルゴリズム(書籍)

実際に値を 1.0 から半分にしていくと、浮動小数点数の表現上 1.0 とその値を足しても 1.0 とみなされる場合が出てきます。そのときの 1.0 と足して 1.0 とならない直前の値が計算機イプシロンです。

Read More