連立1次方程式を計算するFortranサンプルプログラムがあります。問題なく動作しています。これを元にしてサブルーチンを作りたいと思います。AX=Bという形式ですから、A,Bを与えて答えXを返すというサブルーチンです。問題は行列AやベクトルBのサイズを自由に指定したいということです。サイズが決まっていない状態での2次元配列A, 1次元配列Bというわけです。サイズをサブルーチンが自動で調べてくれるというのは一番ありがたいですが、呼び出す前に何らかの方法で指定したいと思います。
動的配列のFortran版ということかと思いますが。
よろしくお願いします。
サンプルプログラムの冒頭は以下のようになっています。
parameter (n=100)
dimension a(n,n),b(n),x(n)
nを動的に変化することに対応したサブルーチンということなのですが。
よろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
整合配列というやり方があります。
構造解析のオープンソースのプログラムで40年前に勉強したやり方です。Main はメモリ確保だけを目的
とします。すみませんが,f77 しか勉強したことがないので・・・
program main
parameter (isize=10000)
dimension a(isize)
c
c ここでマトリクス等のサイズ n を読み込みます。
c メインはメモリ確保だけです。
c
c read(*,*) n
n=10
c
i1=1
i2=i1+n
i3=i2+n
i4=i3+n*n
ilast=i4+n
if( ilast.gt.isize ) stop
c
call doit(a(i1),a(i2),a(i3),a(i4),n)
c
stop
end
c
subroutine doit(b,x,a,c,n)
c
c これが本当のメインです。
c
dimension b(n),x(n),a(n,n),c(n)
c
do i=1,n
b(i)=float(i)
end do
c
do i=1,n
do j=1,n
a(i,j)=0.
end do
end do
c
do i=1,n
do j=1,n
if( i.eq.j ) a(i,j)=float(i)
end do
end do
c
do i=1,n
x(i)=0.
do j=1,n
x(i)=x(i)+a(i,j)*b(j)
end do
end do
c
do i=1,n
write(*,*) x(i)
end do
c
stop
end
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) FORTRAN77の配列(除算) 2 2023/02/01 14:34
- Perl perlで2次元配列をサブルーチンに値渡しで渡す 5 2022/12/17 18:49
- C言語・C++・C# pythonのファイルの並びでの読み込みとリストについて 4 2022/04/13 03:52
- 物理学 高校物理 二次元の衝突 画像の問題の解答では、静止系での球2の速度v2を -運動エネルギー保存 -運 3 2022/11/12 00:34
- その他(自然科学) 科学技術計算の仕事について 2 2023/02/04 18:09
- 数学 数2Bの数列の問題です。 自分は、 まず数列 an=ar^(n-1)と置き こちらの問題の、y= の 1 2022/07/07 16:26
- Visual Basic(VBA) vba 等間隔の列に対しての計算 6 2022/05/17 20:15
- C言語・C++・C# C言語初心者 構造体 課題について 2 2023/03/10 19:48
- 物理学 量子力学 生成消滅演算子 2 2022/08/04 23:17
- 数学 x^2+y^2=1という条件のもとで6x^2+4√3xy+10y^2を最大化・最小化したいのですが、 3 2023/01/09 21:43
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フローチャートの菱形が狭い。。。
-
65536は2の何乗なのでしょうか?
-
PICマイコンのコピー(クローン...
-
変化させるセルが変化しない
-
Excelで4096点以上のFFTの方法
-
Bluestacks内でダウンロードし...
-
人時生産性をExcelで計算したい
-
パソコン
-
自動クエリとはどういうもので...
-
万年暦を導き出すプログラミング
-
未使用の変数を一括検索する方法
-
「ルーチン」という言葉の意味
-
乗換案内の作り方が知りたいです。
-
スクリーンセーバーの作り方
-
VBからシャットダウンさせる方法
-
バッチファイルでウインドウを...
-
理系学生は皆プログラミングで...
-
寿命
-
バッチファイルでUSB挿入時に実行
-
アルゴリズムとプロトコールの違い
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フローチャートの菱形が狭い。。。
-
フローチャートで 変数に代入す...
-
fortran errorについて
-
フローチャートで。
-
フローチャート(本当に困って...
-
フローチャート
-
フローチャート
-
フローチャートの書き方
-
fortran go to 文
-
フローチャート
-
for文のフローチャート
-
Rの質問です。 x<-rnorm(n=100,...
-
カシオ fx-4800pにて
-
連立1次方程式を計算するFortra...
-
配列 x に入っているデータの最...
-
フローチャートの演算記号
-
C言語のプログラミングに関する...
-
fortran
-
fortaran初心者です...(複数条...
-
フロートチャートをVBAで表すには
おすすめ情報