Octaveでは、行列の各要素に対して処理を行う場合、以下の用に 「.」を使って表現出来る。
すべての要素に3をかける
> A .* 3
でもこれやると、warning: product: automatic broadcasting operation applied と出るのだ。
以下の、bsxfun を使うと良い。
bsxfun(fun,A,B)
http://www.mathworks.co.jp/jp/help/matlab/ref/bsxfun.html
たとえば A .* 3 を書き直すと
> bsxfun(@times, A, 3)
となる。
2014年8月30日土曜日
2013年7月3日水曜日
sage 基礎編
数理処理システム sage
Mathmatica や Matlab の代わりを目指すオープンソース。
変数宣言
変数宣言しておくことで、以降の数式に利用出来る。var('変数名')
複数宣言の場合、スペース区切り
var('変数名 変数名 …')
関数の宣言
[関数名] = [式]
ex)
f = (x - 3) * (4x - 5)
関数の計算
変数に値を代入して、関数を計算する。[関数名]([変数] = [値])
ex)
f(x = 5)戻り値は計算結果。
lambda式を使って関数を定義する
lambda 変数のリスト: 式
ex)
f = lambda x: x^3sageは 8 を出力する。
f(2)
規則を代入する
定義した関数の一部を新たな関数で置き換えるなどf6 = x^2 + 1;
f6
ここで、x^2 を y とすると、は以下の様に表現。
var('y')
f6.subs_expr(x^2 == y)
次は 図形 について、そして API についても早めにとりかかる。
2013年4月22日月曜日
数式処理システム
おもしろく素晴らしい処理システム。
実用にいたるには、利用出来るところまでデータを取得、整理する必要がある。
認識技術を駆使して到達出来ないか。
・SAGE
http://www.sagemath.org/
・MATHMATICAのWEB版
http://www.wolframalpha.com/
実用にいたるには、利用出来るところまでデータを取得、整理する必要がある。
認識技術を駆使して到達出来ないか。
・SAGE
http://www.sagemath.org/
・MATHMATICAのWEB版
http://www.wolframalpha.com/
2013年3月13日水曜日
2013年1月19日土曜日
アフィン変換行列を求めるのに必要な連立方程式をphpで解く
結構めんどくさいんですが、一度書いてやれば使いまわせます。
$pointには0~2までx1→x2、y1→y2という座標点の対応を入れる前提です。
$pointには0~2までx1→x2、y1→y2という座標点の対応を入れる前提です。
登録:
投稿 (Atom)