• ベストアンサー

フォートランで行列の計算

n×n行列同士の掛け算をする文が書けません。data文を使わないで、read文を使って、次元nと行列A,Bを入力したいんですが、どなたか教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • asuca
  • ベストアンサー率47% (11786/24626)
回答No.1

パラメタ文を使った任意サイズの行列同士の掛け算 program main parameter(nn=3) real a(nn,nn),b(nn,nn),c(nn,nn) ファイルから行列に値を読み込む do i=1,nn read(*,*)(a(i,j),j=1,nn) enddo do i=1,nn read(*,*)(b(i,j),j=1,nn) enddo 行列cを初期化(値を0に) do i=1,nn do j=1,nn c(i,j)=0 enddo enddo a*bによりcを求める do i=1,nn do j=1,nn do k=1,nn c(i,j)=c(i,j)+a(i,k)*b(k,j) enddo enddo enddo で、parameter(nn=3)をnも入れたいのだったらdo文の前にREAD文を入れてnnに入れればいいのではないかと思いますが、 やりたいことは違うのでしょうか?

kery21
質問者

お礼

ありがとうございました

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 行列の掛け算と逆行列にて最も少ない計算量は?

    宜しくお願い致します。 行列の計算の評価を探しています。 n×n実行列A,Bの掛け算ABと逆行列A^-1を計算するのに一番少ない計算法はどのくらいで評価できるのでしょうか? Time(ABの計算)=O(??), Time(A^-1の計算)=O(??) よろしければそのサイトもご紹介頂けましたら有難いです。

  • 行列の計算

    お恥ずかしいながら、行列の計算でてこずっております。 以下の問題です。 行列A、Bをn×n行列とする。 また行列Aのi,j成分をa(i,j)とし、行列Bのi,j成分をb(i,j)とする。 ここで a(i,j) = {n-i+1 (1≦j≦i), n-j+1(i+1≦j≦n)} b(i,j) = {1(i=j=1), 0(i≠j-1, j, j+1), -1(i=j-1, j+1), 2(j=k)} である。 このとき、行列A×Bのi,j成分を求めよ。 という問題です。 答えはi=jのとき1,i≠jのとき0 (つまり、A×B=I(n×nの単位行列)) なのですが、そこまでの計算のプロセスが分かりません。 分かり易いご解答をお待ちしております。

  • 逆行列の計算

    こんばんは。 逆行列の計算についてどうしてもわからない所があるので教えてください。 行列(B+C*Rt)があります。(Rtは行列Rの転置) ここで、B=[B11 0; B21 B22]{;は改行}の構造化行列で次元は,(行*列)の順番でB11がn+n,0がn*m(0は0行列),B21がm*n,B22がm*mです。 行列Cに関しては、C=[B21;0]でB21がn*m,0がm*mの0行列。 行列Rtに関しては、Rt=[0 Iq]で0がm*nの0行列、Iqがm*mの単位行列です。 この時(B+C*Rt)の逆行列がわかりません。 答えは、B~-B~*{C*(Iq+Rt*B~*C)~*Rt}*B~になると思うのですが・・・(~は逆行列です) どなたか解かる方お願いします。

  • 行列の中に行列がある行列式の計算について

    A、Bをn次の行列としたとき、 行列式    |A B|   |B A|   は|A+B||A-B| になるのはよく知られていると思いますが、Cもn次の行列として、    |A B C|    |B A B|    |C B A| とかも計算の公式はあるのでしょうか。 ホントに知りたいのは、上でB=I(単位行列)、C=0(零行列)の場合です。

  • Σの計算について(行列を含む)

    よろしくお願いします。 以下のΣの計算になりますが行列を含みます。 このことによりちょっと混乱が生じ、正しい解答を導くことができません。 順序立てて回答を頂けると幸いです。 N=10で構いません。 N Y = Σ(A) ・x^n・x^(N-n) n=1 行列 A は以下のように1行2列です(括弧がうまく書けません)。 N n

  • Rubyでの行列式の計算について

    Rubyでcsvファイルから行列の値を読み込んで、 行列式の乗算をしたいのですがエラーがでて困っています。 例えばA.csvがcsvファイルの形式で100行20列の行列でB.csvもcsvファイルの形式で20行3列の行列としたとき、 require 'matrix' require 'csv' ma = CSV.read(A) mb = CSV.read(B) mc = ma * mb print mc, "\n" と入力すると、":in `*': can't convert Array into Integer (TypeError)" というエラーが出てしまいます。 プログラミング初心者なので根本的なところが理解できていないかも知れませんが、解決法を教えていただければ助かります。 よろしくお願いいたします。

    • ベストアンサー
    • Ruby
  • 行列

    Bを成分全て1のn×n行列とし、Aをn×n行列とし、B=p(A)となる多項式が存在するとします。このとき, Bと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の求め方ががわかりません。 わかりにくいですがよろしくお願いします

  • 行列式

    A=b 1 1 ・・・ 1 1 a 1 ・・・ 1 1 1 a ・・・ 1 ・ ・ ・・・・・・   1 1 1 ・・・ a a,bを実数 nを自然数とし a≠1 2≦n n次正方行列A 行列Aの対角成分はa11のみb あとはaです (1)n=3のときのAの行列式|A|を求めよ (2)nが一般の時のAの行列式|A|を求めよ (3)Aの階数rankAを求めよ (2)においてbが邪魔をして、うまくとけません。 たとえばa=bとかなら a+(n-1)で括ったりして解けるのですが。 解答お願いできませんか

  • 行列式の計算について分からないことがあります

    A B C D A(m×m)、B(m×(n-m))、C((n-m)×m)、D((n-m)×(n-m)) とした時に、Cが零行列の場合に行列式がAとDの行列式の積で表わされるのですが、どのように証明したらいいのかが分かりません。 分かる方がいたら、教えてください。

超高温物の寸法計測
このQ&Aのポイント
  • 600~1000℃の高温金属の外形寸法計測のため、使用可能な計測器はあるか?
  • 寸法計測の範囲は幅1500~4500mm、厚さt90~360㎜であり、精度要件は±1mm (幅)、±0.5㎜ (厚さ)。
  • 将来的にはラインに組み込んでの自動化も考えており、計測器の選定についてのアドバイスを求めています。
回答を見る

専門家に質問してみよう