2017-04-16 54 views
1

配列(ベクトル、行列、またはスカラー)をFortranでゼロに設定する方法はありますか? 2003/2008は、非常に近代的なレベルまでのFortranを取っているようだ、と私は彼らがFortranで配列をゼロに初期化するための組み込み関数はありますか?

Xが行数である
do i = 1,X 

     do j = 1,Y 

      A(i,j) = 0 

     enddo 

enddo 

を行うことなく、ゼロに配列の値を設定する簡単な方法が含まれている場合には疑問がありますYは2次元行列の列数です。これはあなたが好きなだけ多くの次元に一般化することができますが、原則は同じです。これは簡単にゼロ機能を使って行われ、MATLABで

、すなわち、

A = zeros(X,Y) 

現代FortranはそれのレパートリーにおよそMATLABと他の言語のようなものの多くの人々を取り入れているように見えるので、私はちょうど午前彼らがこのシンプルで基本的な仕事のために本質的なものを持っているのかどうかは不思議です。

また、現代のFortranでは、配列を初期化することによって、以前に格納された値をメモリ内にクリアする必要はありませんか?

私は短い道がちょうど

real, dimension(X,Y)  :: A 

A = A*0.0 ! Set all elements to zero by multiplying matrix by scalar value 0 

を行くしかし、本質的な疑問はまだ立っていることであろうと思います。

+4

私はAが= 0.0'意志 '考えますそれをやる。 – rici

+0

@rici、あなたは正しいです。それは私が過度のことをしていることに対する非常に簡単な解決策です。 –

+2

正しい答えが見つかりましたが、 "0で乗算する"方法が正しくないことに注意してください。式の中で未初期化変数を使用することは正しくありません。 –

答えて

1

答えは非常に簡単です。

A = 0.0 

か、単に

A = 0 

(質問から移動しました。)... 0.0000に

をあなたの配列のすべての要素を設定します

関連する問題