ベストアンサー ※ ChatGPTを利用し、要約された質問です(原文:matlabでの行列の編集) matlabでの行列の編集方法 2011/11/21 20:26 このQ&Aのポイント matlabを使って行列の編集をする方法について解説します。uという行列について、特定の要素を置き換える方法について詳しく説明します。uの複数の行の要素を別の行の要素で置き換える方法についても解説します。 matlabでの行列の編集 u=rand(4,4) u = 0.7094 0.6551 0.9597 0.7513 0.7547 0.1626 0.3404 0.2551 0.2760 0.1190 0.5853 0.5060 0.6797 0.4984 0.2238 0.6991 ---------------------------------------- 上のように作成したuについて、次のように uの4行目の全ての要素を1行目の全ての要素に置き換えるようにするには u( [1 2 3 1], : ) = 0.7094 0.6551 0.9597 0.7513 0.7547 0.1626 0.3404 0.2551 0.2760 0.1190 0.5853 0.5060 0.7094 0.6551 0.9597 0.7513 とすれば良いとわかりました. 次に, N=100; u=rand(N,N) ; とした場合, uの25行目,50行目,75行目,100行目の全ての要素を,それぞれ uの1行目,26行目,51行目,76行目の全ての要素に置き換えるには, どうすれば良いですか? ニュアンスとしては u1 = u( [1 2 … 24 1], : ) ; u2 = u( [26 27 … 49 26], : ) ; u3 = u( [51 52 … 74 51], : ) ; u4 = u( [76 77 … 99 76], : ) ; u = [u1; u2; u3; u4] ; ←ここは大丈夫なのか微妙なのですが・・・ としたいのですが,…の部分をどのように表現すれば良いのかがわかりません. あと,出来れば1行で書き表したいのですが,どなたかやり方を教えてください. 質問の原文を閉じる 質問の原文を表示する みんなの回答 (1) 専門家の回答 質問者が選んだベストアンサー ベストアンサー ICE_FALCON ベストアンサー率56% (63/111) 2011/11/21 21:15 回答No.1 1:10 って打ってみたら どうなるでしょう? ind=1:100 ind(25:25:100)=1:25:76 あとは解るでしょう。 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 カテゴリ [技術者向] コンピュータープログラミング・開発その他(プログラミング・開発) 関連するQ&A 行列の行列式の求め方がわかりません こんにちは大学1年のものです。線形代数を履修しているんですが次のような行列の行列式がわかりません。 1行目は{0,0,0,・・・・・・・,a(1,n)} 2行目は{0,0,0,・・・・・,a(2,n-1),a(1,n)} 3行目は{0,0,0,・・・・・,a(3,n-2),a(1,n-1),a(1,n)} ・・・・・・n行目は{a(n,1),a(n,2),・・・・・,a(n,n)} といった行列の行列式の計算なんですけど、行列式の性質で列行列を左にずらしていくと行列式は(-1)^N×a(1,n)×a(2,n-1)×a(3,n-2)・・・a(n,n)になると思うのですが(-1)のN乗のNの求め方ががわかりません。 わかりにくいですがよろしくお願いします 次元の行列に関する問題です 次の次元と基底を教えてください。よろしくお願いします。 1、2×2行列 2、m×n行列 3、n×n行列すべての構成要素は対角線上をのぞいてすべて0 4、n×n行列の上三角 5、2×2の対称行列 6、3×3の対称行列 7、n×nの対称行列 英語をやくしているのでちょっとおかしいところとか情報量が足りなかったりしたらごめんなさい。基本的な問題なんだと思いますが、よろしくお願いします。 行列 n×n行列Aで、i行(i+1)列が1(1<=i<=n-1),1行n列が1,他は全て0の行列の固有値はどう求めたらいいですか? ネットワークエンジニアとは?技術職の未来を考える OKWAVE コラム 複素n次正方行列に関する質問です。 λ∈Cに対して次のような複素n次正方行列N, J[λ](n)を考えます。 Nは、1行2列目、2行3列目、3行4列目、……、(n-1)行n列目の成分が全て1になっていて、残りの成分が全て0の行列です。(つまり単位行列の対角成分を右に一個ずつずらした感じです) J[λ](n)は、対角成分が全てλで、1行2列目、2行3列目、3行4列目、……、(n-1)行n列目の成分が全て1になっていて、残りの成分は全て0の行列です。 したがって、J[λ](n)=λE+N が成り立ちます。それで、k≧nという条件の下で、J[λ](n)のk乗を求めたい場合、 {J[λ](n)}^k=Σ【r=0→k】kCr(λE)^(k-r)*N^r となりますが、このときの1行n列目の成分がどうなるのかわからないので教えてください。 たぶん、kC(k-n)*λ^nか、kC(n-1)*λ^(k-n+1)のどちらかだと思います。 線形代数での行列の問題が分りません 皆様,宜しくお願い致します。 Aをn×n実正値対称行列とし u_i・u_j=δ_ijとする(つまり,(U:=(u_1 u_2 … u_n)は直交行列))とする時, (u_1 u_2 … u_{n-1})^TA(u_1 u_2 … u_{n-1}) =(U^TAU)(n|n) が成立する(但し,Tは転置を表し,(U^TAU)(n|n)はn×n行列U^TAUからn行とn列を取り除いた(n-1)×(n-1)の小行列を表す) 事を示したいのですが (u_{1i} u_{2i} … u_{ni}):=u_i^Tと成分表示し, b_{ij}:=Σ_{k=1}^n(Σ_{l=1}^n a_{lk}u_{li})u_{jk}と置くと (u_1 u_2 … u_{n-1})^TA(u_1 u_2 … u_{n-1})=(b_{ij}) という(n-1)×(n-1)行列に表される事が分かりましたがここで頓挫しております。 ここからどうすればこの(n-1)×(n-1)行列は (U^TAU)(n|n)に等しくなる事が言えるのでしょうか? U:=(u_1 u_2 … u_n)が単位行列なら (u_1 u_2 … u_{n-1})^TA(u_1 u_2 … u_{n-1}) =(U^TAU)(n|n) は簡単に示せたのですが。。 行列の行の入換え | -1 -1 -2 -1 10 | | -1 -2 -1 10 -1 | | -2 -1 10 -1 -1 | | -1 10 -1 -1 -2 | | 10 -1 -1 -2 -1 | この行列を次の順序で並び替えたいのですが 1.第1列にある要素の中で絶対値の最大値がある行を探し,その行と第1行を入れ換える. 2.第2列にある要素の中で絶対値の最大値がある行を第2行以下から探し,その行と第2行を入れ換える. 3.これを左上から右下へ順次移動して,行の入れ換えを行う. #include<stdio.h> #include<math.h> #define N 5 #define M 5 int main(){ float a[N][M]={{-1.0,-1.0,-2.0,-1.0,10.0},{-1.0,-2.0,-1.0,10.0,-1.0},{-2.0,-1.0,10.0,-1.0,-1.0}, {-1.0,10.0,-1.0,-1.0,-2.0},{10.0,-1.0,-1.0,-2.0,-1.0}}; float nmax; int i,j,k=0,s,imax; for(j=0; j<M; j++){ nmax = a[0][j]; imax = 0; for(i=1; i<N; i++){ if(fabs(nmax) < fabs(a[i][j])){ nmax = a[i][j]; imax = i; } } for(j=0; j<M; j++){ s=a[k][j]; a[k][j]=a[imax][j]; a[imax][j]=s; } k++; } for(i=0; i<N; i++){ for(j=0; j<M; j++){ printf("%5.1f ",a[i][j]); } printf("\n"); } return(0); } このように作成したのですが、1行目と5行目しかいれかわりません。 なぜでしょうか?? 【証明】この行列の逆行列は? i行目、j列目の要素が1/(i+j)である正方行列は正則であることを証明せよ。また逆行列のすべての要素が整数であることを証明せよ。 ためしに、n=1,2,3,4の場合のdeterminantを計算してみたのですが、それぞれ、1/2,1/72,1/43200,1/423360000と切りのいい答えになりました。規則性がありそうなので一般化できないかと悪戦苦闘してみたのですが手がかりがつかめません。よろしくお願いします。 nCrが成分にある行列式 例えば、次の行列 5C0 5C1 5C2 6C0 6C1 6C2 7C0 7C1 7C2 の行列式は1が簡単に示せます。(2行目、3行目で一つ上の段を行をひく) 一般に、m、nが自然数で m≧nのとき、 mC0 mC1 mC2 ・・・・・ mC(n-1) (m+1)C0 (m+1)C1 (m+1)C2 ・・・・・ (m+1)C(n-1) ・ ・ ・ ・ ・ ・ ・ ・ (m+n-1)C0 (m+n-1)C1 (m+n-1)C2 ・・・・・・ (m+n-1)C(n-1) の行列式は1になることが同様にして示せますが、m<nのとき、 mCn=0とすると、 右上方に三角形の 0 の成分が出てきて、同様の方法ではうまくいきません。 一般型を求めるいい方法はないでしょうか。 行列式の計算 添付のn次の行列式の証明問題です。 本文に問題文を書き込もうとしましたが、うまくできなかったので添付にしました。 添付の 1行目は、 | 1+x^2 x 0 ・・・・・0 | 2行目は、 | x 1+x^2 x 0 ・・・・0 | 右辺は、 1 + x^2 + x^4 + ・・・・ + x^2n です。 n次の時に成り立つとすると、n+1次のときに成り立つとする帰納法で解こうとしましたが、できません。 よろしくお願いします。 行列 一次変換 証明 xはn次元ベクトルでx≠0 Aはn×n行列で以下の条件があります 任意の縦、横一列の要素の和が全て1 このとき x=Axを満たすxの要素は 全て1/nになるというものです どのように証明するのか検討もつきません どなたか教えてください MATLABで配列をファイルへ書き込む方法 現在MATLABについて勉強しているのですが、配列M(N×N、Nは任意)をファイル(.txtなど)に書き込む方法が分からず困っています。 fid=fopen('matrix.txt','wt'); fprintf(fid,'%6.4f',M); fclose(fid); このように書いているのですが、全要素が1行に並んでしまいます。 N行N列の形で配列をファイルに出力したいのです。 どなたか初心者でも理解できるようご教授お願い致します。 【行列】積の可換性について 2つのn次の正方行列A,Bの積について,可換であるための要素に関する条件って簡単に書くことできますか? 2次の場合,3次の場合,・・・とやってくことは出来そうですが,一般に表すとどのようになるか,もし面白い表現(?)ありましたら教えて下さい。 ちなみに,2次の場合において, A= a_11 a_12 a_21 a_22 に対し, B=~ であればA,Bは可換という条件は出しました。 ただ,一般のn次に対してきれいな条件にはならなそうです。 AIは使う人の年齢や市場にも影響する?人工知能の可能性 OKWAVE コラム 閉包、境界を求めたい。 次の問題がわかりません。 問.ユークリッド平面R^2の部分集合族{An:n∈N}ただし、 An=( 1/(n+1),1/n )×[0,1) について、 (1)Cl (U {An:n∈N})を求めよ。(Clは閉包を表します。) (2)Bd (U {An:n∈N})を求めよ。(Bdは境界を表します。) (1)は、U{An:n∈N})=(0,1)×[0,1)となって、 Cl(U{An:n∈N})=[0,1]×(0,1] となると思ったのですが。 閉包や境界の定義を見ながら考えているのですが、具体例で考えると わかりません。上の問の答をどうやって求めればよいか教えてください。 行列に関して教えてください。 つぎの命題の証明の仕方を教えてください。 つぎの条件を満たす3×3行列Aを考える。 *)すべてのiに対して、|| Ai || < 1(Ai:第i行ベクトル) このとき次が満たされる。 (1- || A1 ||)×(1- || A2 ||)×(1- || A3 ||) <= (1- | λ1 |)×(1- | λ2 |)×(1- | λ3 |) ここで、|| Ai ||は1ノルム(要素の絶対値の和)、 λiはAの固有値です。 線形代数 行列式について 簡単そうな問題ですが、なかなか解けなくて困っています;; 行列A,Bをそれぞれn、m次の正方行列とするとき Xという行列を X=|OA| で表すとき(つまりxはm+n次行列でOの部分は要素が0) |BO| 「det(X) = (-1)^nm * det(A)*det(B)」となることについてです。 基本変形等で出来る問題でしょうか? それともsgnなどを使ってこまごま解く方法なのでしょうか・・>< よろしくおねがいします。 線形代数 ベクトル空間と行列(ランク)の証明 証明のやり方がよくわからなかったので次の2つの証明のやり方を わかる方どうか教えてください。 1、 Aを(m、n)行列 Bをn次の正則行列 Cをm次の正則行列とするとき rank(CAB)=rank(AB)=rank(A) を示す。 2、 UをK上の有限次元ベクトル空間、WをUの部分ベクトル空間とする。 a1,a2,,,,,arをWの基底とするとWの次元がrということを示す。 この2つです。どちらか片方だけでもいいのでもし分かるかたがいたら よろしくお願いします。 上三角行列 上三角行列の定義は「左下部分は0である行列」と教科書にのっていますが、対角成分と右上の部分に対して、0に関する制限はありますか?例えば、n次の正方行列Aは上三角行列である。このとき、「Aの右上部分と対角成分はすべて0ではない」とは言えますか? 行列をベクトルに(C言語) 行列をベクトルに(C言語) m行n列の行列Aがあったとき、それをm×n行1列の行列(ベクトル)Bに するというプログラムを作りたいです。 これは、行列Aの1列目m行分の要素をそのまま行列Bの1行1列目に持っていき、 それを行列Aのn列の数だけ繰り返す、といった要領です(画像参照) つまり MATRIX B; B.m=A.m*A.n; B.n=1; return B; ということだと思うのですが、なかなかうまいくいきません。 また、構造体も使いたいので、 typedef struct { int m; int n; double *mat; } MATRIX; と宣言しました。 画像は説明のため、一応載せておきました。(例として4列の行列になっています) みなさんよろしくお願いします。 置換の内容をランダムにしたいのですが はじめまして。 早速ですが質問させてください。 「あいうえおかきくけこ【55】さしすせと【10】たちつてと......」 上記のような文字列があります。 【】の中には数字が入っています。 この【】の部分を$n、$n2...として、 それぞれの部分をrand(1, $n)で置換したいのですが、 どのようにすればいいでしょうか? 文字列の中に【】は複数あり、中身は異なる数字です。 よろしくお願いします。 フィボナッチ数列の行列表現 http://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A3%E3%83%9C%E3%83%8A%E3%83%83%E3%83%81%E6%95%B0 wikipediaフィボナッチ数列の行列表現 F_{n+2} = F_{n+1} |1 1|F_{n+1} |1 0|F_{n} というのはわかるのですが 次の 「ゆえに |F_{n+1} F_{n}| = |F_{n} F_{n-1}| |1 1|^n |1 0| 」 はどうすれば前の形から出てくるんですか? | | は行列式ではなく行列です 注目のQ&A 「You」や「I」が入った曲といえば? Part2 結婚について考えていない大学生の彼氏について 関東の方に聞きたいです 大阪万博について 駅の清涼飲料水自販機 不倫の慰謝料の請求について 新型コロナウイルスがもたらした功績について教えて 旧姓を使う理由。 回復メディアの保存方法 好きな人を諦める方法 小諸市(長野県)在住でスキーやスノボをする方の用具 カテゴリ [技術者向] コンピューター プログラミング・開発 Microsoft ASPC・C++・C#CGIJavaJavaScriptPerlPHPVisual BasicHTMLXMLCSSFlashAJAXRubySwiftPythonパフォーマンス・チューニングオープンソース開発SEOスマートフォンアプリ開発その他(プログラミング・開発) カテゴリ一覧を見る OKWAVE コラム 突然のトラブル?プリンター・メール・LINE編 携帯料金を賢く見直す!格安SIMと端末選びのポイントは? 友達って必要?友情って何だろう 大震災時の現実とは?私たちができる備え 「結婚相談所は恥ずかしい」は時代遅れ!負け組の誤解と出会いの掴み方 あなたにピッタリな商品が見つかる! OKWAVE セレクト コスメ化粧品 化粧水・クレンジングなど 健康食品・サプリ コンブチャなど バス用品 入浴剤・アミノ酸シャンプーなど スマホアプリ マッチングアプリなど ヘアケア 白髪染めヘアカラーなど インターネット回線 プロバイダ、光回線など