OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

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

  • 暇なときにでも
  • 質問No.104816
  • 閲覧数607
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 55% (33/59)

n×n行列同士の掛け算をする文が書けません。data文を使わないで、read文を使って、次元nと行列A,Bを入力したいんですが、どなたか教えて下さい。
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.1
レベル14

ベストアンサー率 47% (11786/24626)

パラメタ文を使った任意サイズの行列同士の掛け算

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

お礼率 55% (33/59)

ありがとうございました
投稿日時 - 2001-10-22 00:59:18
-PR-
-PR-
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ