約 11,922 件
https://w.atwiki.jp/linearalgebra/pages/73.html
このページの内容は書きかけです。 4-1 2次正方行列の行列式 4-1-1 行列式の定義 4-1-2 行列式の性質
https://w.atwiki.jp/linearalgebra/pages/84.html
このページの内容は書きかけです。 6-3 対角行列・スカラー行列 06-3-1 対角行列・スカラー行列
https://w.atwiki.jp/matlaber/pages/24.html
Contents n次元マトリクスがあって、すべての要素の和やすべての要素の中の最大値,最小値などを知りたいときには、どのような関数を使えばいいのでしょうか? 正方行列を斜めにつぶす簡単な方法はないですか?45度方向に足しこみたいんですが… 3*10000の行列に関して、特定の列パタン(例えば[0.5;1;0.1]みたいな)の数を数えたいとき、いい方法はありますか?今は、行列aに対し、sum(a(1, )==0.5 a(2, )==1 a(3, )==0.1)でやってるのですが、もっといけてる方法があれば教えてください。 0と1が無作為に並んでる数列があって、そのうち1が連続して並んでる場合、その偶数番目を0にしたいんですけど、エレガントな方法があれば教えてください。たとえば[0 1 0 1 1 0 1 1 1 1 1 0 1 1 0]の場合は[0 1 0 1 0 0 1 0 1 0 1 0 1 0 0]としたいわけです。 matlabで連立方程式を解きたいのですが、どのようにすればよいのでしょうか。どなたかお願いします。 x = [1 1 27]; y = [2 4 5 7 8]; xからy以外の値を抜き出すとき、x(y)=0; z = find(x~=0);と、どうしても2行使ってしまいます。このように、ある行列から特定のindex以外を抜き出したい場合。上記以外の方法は何かありますか? n次元マトリクスがあって、すべての要素の和やすべての要素の中の最大値,最小値などを知りたいときには、どのような関数を使えばいいのでしょうか? sum()やmax()で普通にいけます 例: A = rand(3,3,3,3)%4次元マトリックス % 和 sum(A( )) % A( )とすると全要素が一次元ベクトルになって出力される % 最大 max(A( )) % 最小 min(A( )) (まーぼ) 2009-01-07 14 36 10 正方行列を斜めにつぶす簡単な方法はないですか?45度方向に足しこみたいんですが… diagを使って対角行列を抽出するのはダメポ(;´Д`) ですか?45度方向だと逆(diagは135度方向ですか?)ですが、行列を左右反転(fliplr())すれば、いいはずです。あと、for文使えば出来ます。 例としてAを正方行列として、 C=fliplr(A); for n=-length(C)+1 legth(C)-1 B(n+length(C))=sum(diag(C,n)); end んで、出来るかな?でも、もっと簡単な方法がありそう (すくなくとも VIPでつながった仲間だから) 2007-06-22 21 11 55 3*10000の行列に関して、特定の列パタン(例えば[0.5;1;0.1]みたいな)の数を数えたいとき、いい方法はありますか?今は、行列aに対し、sum(a(1, )==0.5 a(2, )==1 a(3, )==0.1)でやってるのですが、もっといけてる方法があれば教えてください。 v = [0.5; 1; 0.1] のとき、 sum(prod(double(a==v*ones(1,10000)))) はどうでしょう? スピードは遅くなりそうですが、vの要素数が 増えても書き換えなくて済みます (まーぼ) 2007-07-06 19 09 28 0と1が無作為に並んでる数列があって、そのうち1が連続して並んでる場合、その偶数番目を0にしたいんですけど、エレガントな方法があれば教えてください。たとえば[0 1 0 1 1 0 1 1 1 1 1 0 1 1 0]の場合は[0 1 0 1 0 0 1 0 1 0 1 0 1 0 0]としたいわけです。 A=[0 1 0 1 1 0 1 1 1 1 1 0 1 1 0]; for i=2 length(A) if( (A(i-1)+A(i)) == 2 ) A(i)=0; end end Matlabぽくないけど、これしか思いつきません。 たとえば、[1 1 1 1]があればi=2の時に、[1 0 1 1] i=3の時には2番目は0になっているので、スルー。 i=4の時、[1 0 1 0]です。 (excel使い) 2007-10-20 11 31 14 matlabで連立方程式を解きたいのですが、どのようにすればよいのでしょうか。どなたかお願いします。 Y = (y1, y2, ..., yn)、X = (x1, x2, ..., xn)、Y = A*X のとき、X=inv(A)*Yとかではだめですか?また、ヘルプを読むと「Aが正方の場合、X = A\Bは、線形システムA*X = Bの解です。」と書いてあり、 \ (バックスラッシュ)演算子を使うといいみたいです。 (てっぺ) 2007-01-01 16 43 39 x = [1 1 27]; y = [2 4 5 7 8]; xからy以外の値を抜き出すとき、x(y)=0; z = find(x~=0);と、どうしても2行使ってしまいます。このように、ある行列から特定のindex以外を抜き出したい場合。上記以外の方法は何かありますか? setdiff(A,B)を使えばできます。 help setdiff SETDIFF(A,B) は、A と B がベクトルのとき、A の要素で B の要素でない値を出力します。結果は、ソートされます。 質問の場合だと、 z=x( setdiff( 1 length(x) ,y) ); (morimo) 2007-01-29 14 34 05
https://w.atwiki.jp/javadsge/pages/4526.html
(1)プログラム プログラム (2)ソース (3)リンク (4)解説 行列 (5)作業記録 8月9日 追加
https://w.atwiki.jp/nopu/pages/92.html
ベクトルで微分をするには、元の型を保ったまま展開するのが基本。 これは慣習であって、必ずしもそうとは限らない。列ベクトルを列ベクトルで微分して行方向に展開してしまうこともある。 ヤコビ行列との関係 ヤコビ行列は,独立変数xを横方向に伸ばし,従属変数yは縦方向に展開するのが良いらしい。 この向きは,重積分の変数変換などでは(行列式にしてしまうので)どちらでも支障はないが, テイラー展開などで左から列ベクトルに作用させる場合などには重要である。 Wiki, 幾何学B で出てきたのは次の形だった。 特に幾何学Bでは,転置や逆関数をとったりするから,向きに気をつけてさえいればどっちでもよさそうだった。 しかし,Taylor展開を自然に書くためには,xを横に伸ばす必要性が出てくる。 cf. 1次のTaylor展開 行列関数を微分 行列関数Fの行列Aによる微分は、Fを行列RN×Mの各成分aijを引数とする多変数関数とみなして微分することができる。 これを利用して、合成行列関数の微分におけるヤコビ行列の積のようなものが得られると嬉しいが、残念ながら下記の様に成分毎の結果しか得られていない。 Traceをとる方法ではなく、M×N×P×Q個の成分を2つの行列の積として上手く並べる方法は見当たらない(vecを使う方法はある)。 The Matrix Cookbook 式122,126 でもこの形式を用いている。 逆行列による微分では、もう少し計算が進む。 Lem. はXの逆行列X-1のij成分であるとして、 (証明) ここで Y =X-1と置くと、xijはY-1のij成分であることに注意して、 このYをX、xijをと読み替えればよい。 逆行列による微分 (証明) 合成関数の微分公式によって、 この関係式から「系.Fは逆行列で最適化しても変わらない。」が導かれる。 Trの微分 次の交換が基本 detの微分 余因子展開と余因子行列の性質を用いると,次が分かる。 二次形式の微分 二次形式はスカラーであるから,トレースや転置をとっても変わらないことを利用する。 二次形式において、行列を対称成分と反対称成分に分けたとき、反対称成分は相殺してしまうので、表現行列として対称行列のみを考えて一般性を失わない。 方向微分による方法 定義に戻って,FのAにおけるH方向微分(Gateaux微分)を以下で計算する方法も有効である。 この計算で得られるのは,Jacobi行列の拡張に相当する作用素である。 計算結果において,Hは一般に外せない位置にくる。
https://w.atwiki.jp/opengl/pages/106.html
拡大縮小行列です。 OpenGL、DirectX 共に行と列の方向が変わっても同じです。 チュートリアル 固定機能編 の 円錐の表示と拡大縮小 のプログラムを置き換えました。 #pragma comment(linker, /SUBSYSTEM WINDOWS /ENTRY mainCRTStartup ) #include GL/freeglut/freeglut.h #include math.h #define PI 3.1415926 #define WIDTH 320 #define HEIGHT 240 //拡大縮小用 float size = 1.0f; bool flag = false; //水色 GLfloat aqua[] = { 0.0, 1.0, 1.0, 1.0 }; //ライトの位置 GLfloat lightpos[] = { 200.0, 1000.0, -500.0, 1.0 }; //単位行列 GLfloat mat[]={ 1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1 }; //回転行列 GLfloat rotate[]={ 1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1 }; //拡大縮小行列 GLfloat scale[]={ 1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1 }; void display(void) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glViewport(0, 0, WIDTH, HEIGHT); glMatrixMode(GL_PROJECTION); //glLoadIdentity();と同じ↓ glLoadMatrixf(mat); //視野角,アスペクト比(ウィンドウの幅/高さ),描画する範囲(最も近い距離,最も遠い距離) gluPerspective(30.0, (double)WIDTH / (double)HEIGHT, 1.0, 1000.0); glMatrixMode(GL_MODELVIEW); //glLoadIdentity();と同じ↓ glLoadMatrixf(mat); //視点の設定 gluLookAt(150.0,500.0,-150.0, //カメラの座標 0.0,0.0,0.0, // 注視点の座標 0.0,1.0,0.0); // 画面の上方向を指すベクトル //ライトの設定 glLightfv(GL_LIGHT0, GL_POSITION, lightpos); //マテリアルの設定 glMaterialfv(GL_FRONT, GL_DIFFUSE, aqua); //拡大縮小 //glScalef(size,size,size);と同じ↓ scale[0]=size; scale[5]=size; scale[10]=size; glMultMatrixf(scale); //回転 //glRotatef(280,1.0f,0.0f,0.0f);//X軸を回転 float radian=2*PI*280/360.0; rotate[5]=cos(radian); rotate[6]=sin(radian); rotate[9]=-sin(radian); rotate[10]=cos(radian); glMultMatrixf(rotate); glutSolidCone(40.0, 100.0, 8, 8); glutSwapBuffers(); } void idle(void) { if(flag){size-=0.05f;}else{size+=0.05f;} if(size 3.0f)flag=true; if(size 1.0f)flag=false; Sleep(1); glutPostRedisplay(); } void Init(){ glClearColor(0.3f, 0.3f, 0.3f, 1.0f); glEnable(GL_DEPTH_TEST); glEnable(GL_LIGHTING); glEnable(GL_LIGHT0); } int main(int argc, char *argv[]) { glutInitWindowPosition(100, 100); glutInitWindowSize(WIDTH, HEIGHT); glutInit( argc, argv); glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE); glutCreateWindow( 拡大縮小行列 ); glutDisplayFunc(display); glutIdleFunc(idle); Init(); glutMainLoop(); return 0; }
https://w.atwiki.jp/tomfan/pages/468.html
松岡、三村、星野の地元の行事 小学生時代、三村宅で、星野が提灯行列に参加せずに当時人気のスーパーファミコンソフト、ファイルファンタジーに熱中し過ぎたため、三村の母 を激怒させたことがある(提灯行列事件)。
https://w.atwiki.jp/joban_415/pages/993.html
だいみょうぎょうれつ【大名行列】[名詞] 1台の速度が遅い車によって、ふだん空いている道で局地的に渋滞が起こること。
https://w.atwiki.jp/nopu/pages/200.html
変換の分類 相似変換 正則行列Pによって, と変換すること。 相似変換によって固有値は変化しない。 相似であることは、Jordan標準形が同じと考えてもよい。 同値変換 2つのユニタリ行列U,Vによって、 と変換すること。 同値変換によって固有値は??? 同値変換によって特異値は変化しない。 合同変換 正則行列Pによって, と変換すること。 合同変換によって固有値は変化するが,エルミートor実対称行列の固有値の符号を変えない(Sylvesterの慣性法則)。 Pとして直交行列をとれるときは,相似変換になる。 直交変換, ユニタリ変換 直交(ユニタリ)行列Uによって、 と変換すること。 直交(ユニタリ)行列は正則行列なので、直交(ユニタリ)変換は相似変換の一種である。 直交(ユニタリ)変換は数値誤差を拡大縮小しないために数値的に安定であり, またその逆変換が転置で与えられるという,数値計算的によい性質を持つ。 Householder変換 ベクトルvによるHouseholder変換とは、vの法平面による鏡映変換である。 QR分解やHessenberg形への変形などはこれで行われる。 Givens変換 置換 permutation 各行・各列とも,1つの成分のみ1で,あとは0である行列を置換行列という。 置換は,互換(transposition)の積として与えられる。 基本変形 基本行列3つ 1. 互換 2. スケーリング 3. 加法 基本行列を左からかけると,行に対する操作(基本行変換)になる。 右からかけると,列に対する操作(基本列変換)になる。 基本行列は正則だから,基本変換はすべて可逆である。 基本変形によってランクは変わらない。 互換を除く基本変形によって固有値は変化する。 互換 P(p,q) transposition 互換は対称な直交行列である。従って正則行列。 有限個の互換の積(置換 permutation)は、直交行列だが一般に対称性を失う。 実際、 最後の不等号は、一般に互換の積は非可換であることから従う。 ※ 対称行列は積で閉じていないことに注意!
https://w.atwiki.jp/nopu/pages/154.html
幾何学的意味 軸方向の拡大縮小 左からの作用 = 行毎のスカラー倍 右からかければ列毎のスカラー倍になる。 代数的性質 1. 対角行列は可換環(結合的多元環、代数)である。←三角行列としての性格 (i) (ii) (iii) 2. 対角行列は上三角かつ下三角である。 3. 対角行列は対称行列である。 従って特に、正規行列である。 Rem. 三角行列と対称行列とは,全く異質の行列であることに注意! 対角行列のスペクトル分解 対角行列は正規行列であるから,特にスペクトル分解ができる。 (自明な対角化可能性から明らか) ここから特に, は第一成分を取り出す射影であることなどが分かる。