• ベストアンサー

fortranについて

「ベクトルを入力して、それを正規化したものを出力するプログラムを作りなさい。ベクトルを正規化するとは、ベクトルをその長さで割り、長さを1にすることである。」  情報処理の講義で上記のような問題がでたのですが、どうすればいいのか分かりません。親切な方よかったら教えてください。ちなみにプログラムとはfortranのプログラムのことです。

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

  • ベストアンサー
  • selju
  • ベストアンサー率57% (100/173)
回答No.2

では、こちらの先生の講義ノートの例題プログラムを 参照されては如何でしょうか。 http://www.media.kyoto-u.ac.jp/htomita/ 初心者向けに詳しく、わかり易く書かれています。 お勧めです。 例題の中に、計算部分を前回答のように、 ちょっと変更するだけで、この問題の答えになるものがあると思います。 ではでは。

tka9999
質問者

お礼

ありがとうございます。上記のアドレスたいへん役に立ちました。最後まで質問につきあっていただき感謝しております。

その他の回答 (1)

  • selju
  • ベストアンサー率57% (100/173)
回答No.1

ベクトルとは、向きと量(大きさ)を表します。 たとえば、点1(1,1)から点2(4,5)への矢印を想像して下さい。 これを、ベクトルで表すと、a=(3,4)となります。 「3」がx成分、「4」がy成分です。 この時の量(大きさ)は、|a| = √3**2+4**2 = 5 Fortran的には、sqrt(3**2+4**2)でしょうか。 この量(大きさ)が、矢印の長さを表します。 「正規化する」というのは、「単位ベクトル化する」ということになり、 図的に言うと、「向きは同じで、長さ1の矢印を求めろ。」ということになります。 上記の場合の単位ベクトルを求めると、 e=a/|a|=(3/5,4/5)=(0.6,0.8)となり、 これは、0.6**2+0.8**2 = 1 長さが1となります。 Fortranでの入出力を具体的に言えば、 入力 3,4 出力 0.6,0.8 でしょうか。 3次元ベクトルの場合は、成分が3つになるだけで計算のやり方は一緒です。 格好良く作るなら、入力に成分数を加えて、 汎用的にすると独自性が出ると思います。 説明下手でごめんなさい。 わかるでしょうか。 プログラム化するときは、変数の型に注意してくださいね。 それでは、がんばって。

tka9999
質問者

補足

ていねいな回答どうもありがとうございます。仕組みというか内容はだいたいわかりました。しかし、具体的なプログラムがよく分からないのです。そのぐらい自分で考えろ!と思われるかもしれませんが本当に分からないのです。よかったら教えていただけないでしょうか?よろしくお願いします。

関連するQ&A

  • FORTRANについて

    今、大学の研究室でFORTRANの勉強をしています。そこで、院生から問題を出されました。それは、 テキストファイルから数字を読み込み、それらをFORTRANの中で計算し、その答えをまたテキストファイルに出力する、というプログラムです。 計算するところまではできたのですが、どうしてもテキストファイルに出力するプログラムがわかりません。 出力の仕方だけでも教えてください。教科書にもなく、図書館でも古い時代のものばかりで。しかも、僕は学校の関係でFORTRANを全く知りません。

  • Fortran ベクトルの定義について

    Fortran ベクトルの定義について 単位ベクトル r = r/|r| , α = α/|α|, β = β/ |β|, r = β× α をfortranでベクトルの定義をしたいのですが、 どのようにプログラムを書いてよいのか考えています。 どなたかわかる方がいらっしゃたら教えて下さい。 よろしくお願いします。

  • FORTRAN

    初めまして。 今大学でFORTRANについて議論が交わされてるのですが FORTRANについて知ってるいる方がいたら是非教えてください。 今のところ求めている情報としては 1.FORTRANの強み 2.FORTRANの弱み 3.FORTRANのこれから 4.FORTRANが抱えている問題 URLなどでも結構ですので是非情報をお持ちでしたら教えてください。

  • Fortran90 初心者です

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

  • fortran77教えてください

    fortran77の問題で次のプログラムの作成の仕方を教えてください 整数A,B,Cを読み込み、それを係数とする2次方程式Ax^2+Bx+C=0の解を計算して表示するプログラムを サブルーチン副プログラムを用いて作成せよ(複素数型を使うこと) メインプログラムでは整数A,B,Cの入力および解の出力および解の出力を行い解の計算はサブルーチン副プログラムで行うこと なお'keisan.txt'という名前のデータファイルに結果を出力するように 計算時は以下の3つの方程式を用いること x^2+3x+5=0 X^2+6x+4=0 x^2+x+1=0

  • fortran初心者です。

    fortran初心者です。 2つの3次元ベクトルa=(a1, a2, a3)、b=(b1, b2, b3)の各成分を入力したときに外積を求めるプログラムを配列、doループを使用して作成することは可能でしょうか?

  • FORTRANでGUIプログラム

    FORTRANでGUIプログラム FORTRANでGUIを持ったWINアプリを作成することは不可能でしょうか? 現在自作でFEMプログラムをつくっています。入力ファイルはその度簡単なプログラムをつくって作成するか,汎用のプリプロセッサを利用しています。解析結果は自作で応力図などをeps形式で可視化してはきだすようにしていますが,市販のプログラムのように,画面上で節点や要素を作成していき,それがリアルタイムに画面に表示されて,入力ファイル作成から解析,後処理までをすべてマウス操作でできるようにしたいです。 C++ではできることは分かるのですが,FORTRANしか使ったことないので,FORTRANで作りたいと思っているのですが,やはり数値解析以外のことはFORTRANでやるのは無理なのでしょうか?FORTRANでプリプロセッサが自作できるかどうか,もし可能なら参考書籍などがあれば教えていただきたいです。よろしくお願いします。

  • Fortranのフリーソフトってありますか?

    実験結果や計算をプログラムに入力させて結果を出力させたいと思っているのですが、Fortranのようなプログラムを組むためのフリーソフトってありますか? また、理工系のためのプログラミングソフトでお勧めフリーソフトってありますか??? 宜しくお願いします。

  • プログラミングの授業で Fortran 90/95 言語を使った 「計

    プログラミングの授業で Fortran 90/95 言語を使った 「計算機ソフトウェア」という授業があり,以下のような課題が出ました。 ファイルからデータを入力し,それに対して何らかの処理を行い,結果をファイルに出力する,Fortran 90/95 言語を使ったプログラムを作成する問題を自分で作り,その回答(プログラムリスト)を記述せよ。 ただし,以下の内容を満足すること。 ・入出力には書式を用いる ・配列を使用する ・DO文を使用する ・IF文を使用する ・関数またはサブルーチンを使用する ・レポートには,問題の説明と処理の方法の説明を書き,プログラムリストと結果の評価を添えること。 並みのプログラムではダメらしく,(アイデア的にも)素晴らしいプログラムを作らなければならないのですが,まったく良い案が思いつきません。 良かったら,何か,教授をあっと言わせるような,プログラムの案, もし良ければ,プログラムリストの内容(PROGRAM ○○  IMPLICIT NONE ~~~)を添えて回答いただけないでしょうか? どうか,よろしくお願いします。

  • FORTRANについて(初心者です)

    FORTRANを使って数値解析をやりたいと考えています。 先輩からの引継ぎでプログラムを使う事になったのですが、ソースプログラムはなく、実行ファイルと入力ファイルのみあります。 このプログラムを実行したのですが、エラーが出てきてしまいます。もちろん入力した数値や文字に問題はありません。全くの初心者で申し訳ないのですが、ソースプログラムがないと実行できないのでしょうか? ちなみにエラーは以下のように出ます。 Starting of プログラム名. Reading the input file. input file [./入力ファイル名] is selected. 入力ファイル名 format error!!

専門家に質問してみよう