• 締切済み

fortran

fortranでn次正方行列の対角要素の和を求める関数副プログラムを作ろうと思います。 fortran初心者で、何から始めていいのかさっぱりワカリマセン。 ヒント・アドバイスがあればよろしくお願いいたします。

みんなの回答

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

・行列の表し方 ・(一般論として) 和の求め方 ・ループの書き方 くらいはおさえときたいねぇ. まあ, 「Fortran の初心者」というだけなら「別の言語で書いてみれば」と言って終わりなんだけど.

関連するQ&A

  • 行列 対角和 トレース

    対角和(トレース)について質問させて下さい。 対角和(トレース)は、n次正方行列の対角成分の総和を表しますが、 この対角和とは一体なにを表すのでしょうか? なんのために対角和を求めるのか素朴な疑問ですが教えて頂けないでしょうか? 以上、よろしくお願い致します。

  •  Fortran90を授業でやっています。

     Fortran90を授業でやっています。 入力されたNまでの素数を配列で返す関数をつくって、それを主プログラムで呼び出して素数を出力するという問題です。  素数を関数を用いて配列で返すまでは出来ました。しかし、その関数( Sosuu(N)としました。 )の要素数を(1000)と設定したため、Sosuu(N)の1番目から100番目までは素数が入っているのですが、それ以降の要素は値がすべて0になってしまいます。  なので、WRITE(*,*)Sosuu(N) とすると、素数が列挙された後さらに0が列挙されてしまいます。 0が出力されない方法は何かありませんか?

  • 行列の固有値とトレースについて

    問 正方行列のトレース(対角成分の和)は、その固有値の総和になる。 この問題は行列が対角化可能ならば成り立ちますが、対角化不可能の場合でも成り立つのでしょうか? ご指導よろしくお願いします。

  • FortranにあってCにない関数?について

    10年間Fortran90でプログラミングをしてきましたが、 C言語を使う必要があって、プログラムを書き直し中の者です。 入門書を数冊読んでいて疑問に思ったのですが、Fortranには、 A=SUM(B) と書けば、配列Bの全ての総和をAに返す、という関数があるのですが、C言語に同じような関数はないのでしょうか?(標準ライブラリに無いという事はないのでしょうか?) Fortranと比べてCは組み込み関数が少ないという印象を持ったのですが実際そうなのでしょうか? また、Fortanでは配列の和をとる時、 do i=0,n a(i)=b(i)+c(i) end do を一行で、 a(0:n)=b(0:n)+c(0:n) と書いても良いですし、もし定義されている全部の配列の要素が対象なら a=b+c と一行で書いても良いのですが、c言語では似たような書き方はできないのでしょうか? つまり、多次元配列を扱う時、Fortranでは単に「a=b+c」と書けば済むところを、Cでは for (i=0,i<=n,i++){ for (j=0,j<=n,j++){ for (k=0,k<=n,k++){ a[i][j][k]=b[i][j][k]+c[i][j][k]; }}} と書かなくてはいけないのか?と悩んでおります。 私がCの機能を知らないだけなのか、Cとはそうゆうことが出来ないのか、浅学なため判断できません。 ご教授ください、どうぞよろしくお願いいたします。

  • 行列の対角化について

    n次正方行列Aがある対角行列と相似の時、行列Aの各特性根αに対する固有空間の次元の和がnになることは分かるのですが、各特性根αの(特性方程式の)重複度と固有空間の次元が一致するのがなぜだか分かりません。どなたか教えてください。お願いします。

  • Fortran90 初心者です

    Fortran初心者です。 「3-1=」を文字列データとして入力された式の答えを数値で出力するプログラムをつくりたいのですがよくわかりません。どなたかヒントください。御願いします。

  • C言語プログラム

    N次の複素正方行列S,Tの積Uを計算するプログラムを作りたいのですが、実数で正方行列を計算するプログラムと 複素数の積、和のプログラム struct complex { double re; double im; }; を作ったのですが、この二つをまとめるとプログラムができるらしいのですがまとめ方が全然わかりません。どのようにしたらいいかヒントなど教えてください。

  • fortran90/95のSUM関数について

    fortran90/95のSUM関数について fortran90/95のSUM関数について、SUM関数を使うときは範囲を指定できるのでしょうか? 例えば、 integer A(3,2)/1,2,3,4,5,6/ A=1,4 2,5 3,6 の配列があるとします。 列の和を求めたいのですが、最後の行(3行目)を足したくありません。 結果としては 1+2=3 4+5=9 にしたいのです。 このようなときは、やはりdo文にするしかないのでしょうか。 実際のプログラムではdo文があまりにも多く、見づらいのでSUM関数を使いたいのですが... どなたかご存知の方、お教えいただけないでしょうか。 よろしくお願いします。

  • 待ち行列のプログラム(Fortran)

    Fortranで待ち行列(レジ待ち)のプログラムを作りたいのですが、途中で行き詰まってしまい、うまくできません!  待ち行列についてまだよく理解できてないのだと思います。指数乱数を発生させるプログラムだけだったらできるのですが、それをヒストグラムで示して、待ち行列がどのように変化するのか観察するプログラムができないのです。  待ち行列のプログラムについて詳しく載っているHPなどがあれば教えてください!!(本でもOKです)

  • Fortranについて

    私は今大学生のものです。 今卒業研究でFortranのプログラムを用いています。しかし私はプログラミングには疎く、独学で勉強しようと思うのですがなにか初心者にわかりやすいお勧めの本、サイトなどはあるでしょうか? 本屋に行ってもFortranの本は販売されておらず、通販では手にはいるのですがどの本がいいのかわかりません。是非教えていただければと思いここに書き込ませていただきました。 また、家でもFortranのプログラムをコンパイル、実行できる環境をつくりたいのですがどうすればよろしいでしょうか? 学校ではcygwinをインストールして行っていますが家でもcygwinをインストールすればいいのでしょうか? また今もととなるプログラムはあるのですがこのプログラムはLinux上では正常にコンパイルされないところがあるらしく書き直さなければならないらしいのですがLinux上でのFortranのプログラムは普通のFortranのプログラムとは違うのでしょうか?ちなみに学校のパソコンのOSはWindows Vistaです。 初心者の質問ばかりになってしまってすみません。自分でしっかり学びたいと思うのでぜひ教えてください。

専門家に質問してみよう