トップページ > プログラム > 2014年04月15日 > 2Visq3rw

書き込み順位&時間帯一覧

15 位/204 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000100203



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
くだすれFORTRAN(超初心者用)その6

書き込みレス一覧

くだすれFORTRAN(超初心者用)その6
373 :デフォルトの名無しさん[sage]:2014/04/15(火) 19:04:08.61 ID:2Visq3rw
b(:,:,t)=a(i,j) だと駄目。
>>370 のとおりじゃないと。

部分配列を指定するのにコロンを使う。
たとえば配列 v の第2成分から第10成分までなら v(2:10)。
コロンの両脇に数字がないのは、成分あるだけ全部という意味。
くだすれFORTRAN(超初心者用)その6
376 :デフォルトの名無しさん[sage]:2014/04/15(火) 22:23:43.96 ID:2Visq3rw
>>375
373 で俺が言いたかったことは、配列 a について
「a」や「a(:, :)」と書くと配列全体を意味する。
「a(i, j)」と書くのは(前もって i, j に整数が代入されていれば)成分 a(i, j) つまりただひとつの数字を意味する。
ということ。
したがって b(:, :, t) = a と書けば配列全体の代入なので
b(1, 1, t) = a(1, 1)
b(1, 2, t) = a(1, 2) のように配列の対応する成分が代入されるが、b(:, :, t) = a(i, j) と書けば
b(1, 1, t) = a(i, j)
b(1, 2, t) = a(i, j)...
のように、ただひとつの同じ数字が代入される。
くだすれFORTRAN(超初心者用)その6
379 :デフォルトの名無しさん[sage]:2014/04/15(火) 22:51:15.04 ID:2Visq3rw
b(:, :, t) と a(:, :) は同じ次元です。

>>369,370 のレスを踏まえて書いているので、
do t=1,100
b(:, :,t)=a
end do
のように使うことを想定しています。
b(:, :, :) は3次元配列だけど、b(:, :, 1), b(:, :, 2), ..., b(:, :, 100) はそれぞれ2次元配列です。
なので b(:, :, t) = a は2次元配列を2次元配列に代入していることになります。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。