• ベストアンサー

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

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

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

  • ベストアンサー
  • hananoppo
  • ベストアンサー率46% (109/235)
回答No.2

α,β,rを座標軸にした座標系を考え、 α=(1,0,0),β=(0,1,0),r=(0,0,1)とすればよいのでは。 ただし、α,β,rは単位ベクトルとします。 ところで、rはγではないの?

その他の回答 (1)

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

考えているのを邪魔しちゃ悪いかもしれないけど, 日本語が破綻してる上に式も破綻してる. 「単位ベクトルを fortran でベクトルの定義をする」ってどういうこと? あなたのいう「ベクトル」というのは何ができるものなの? ついでにいうと r = r/|r| , α = α/|α|, β = β/ |β| は数式としておかしいしすべて単位ベクトルと仮定しても一般に r = β×α は成り立たない.

関連するQ&A

  • Fortranで直交座標から極座標変換のプログラム

    Fortranで直交座標から極座標変換のプログラム FDTD法を用いて、散乱電場を求める際、最初Ex(i,j,k), Ey(i,j,k), Ez(i,j,k)を求めましたが、 それから座標をr方向に座標変換したく、プログラムを作ろうと思っているのですが、どのように書いてよいのか悩んでいます。 単位ベクトル r = (x,y,z)=(sinθcosφ,sinθsinφ,cosθ)と定義できるのですが、これを どのように極座標のプログラムとして書いてよいのかわかりません。 どなたかわかる方がいらっしゃたら教えて下さい。よろしくお願いします。

  • fortranについて

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

  • ベクトルの定義について教えてください

     最近ベクトルの定義を見直しているのですが、「座標回転に際して座標変数と同じように変換される三つの量」や「直交座標の座標軸間の角度を直角に保ったまま、原点を変えないで方向だけを変える変換(直交変換)の規則に従って変換される量」という定義がよくわかりません。R^3に限って考えて、具体的にどうわからないのかというと 1.座標回転に際してR^3の要素(まだベクトルかわからない)の変換をどう施すか。または、ベクトルの定義以前に座標回転に対するR^3の要素の変換を定める必要があるのではないか。 2.R^3の要素でありながらベクトルとは認められないもがあるのか。あるとしたらどう示すか。  自分の誤解かもしれませんが、R^3の要素がベクトルかどうかを判断するには、R^3の座標回転による変換とR^3に回転行列の要素をそれぞれかけて足し合わせたものが一致するかを確かめるとすると、R^3が座標回転に際してどう変換されるかを定める必要があると思うのです。どなたかご教授お願いします。

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

    教科書に書いてあったベクトルの定義の、→a×0=0が、どうもしっくりきません。 これでベクトルの方程式を解いていいのかどうか...。不安です。だってあの0だもん....。なんかやっかいなことが起こりそうなんです。 この定義でいいんですか?    教えてください!

  • Fortran において変数の定義

    現在Fortranを使いプログラムをしていますが、円の面積を計算するため変数を定義しているところでおかしな問題が出てきました。円周率を定義するところで自分でつけた変数名 PAI の値が入力データと違うことに気づきました。以下のように簡単なプログラムを作って試したのですが結果は同じくおかしな値が出てきました。 IMPLICIT REAL*8(A-Z) PAI=3.14159265 WRITE(*,1)PAI 1 FORMAT(E30.22) PAUSE END 結果は 0.3141592741012573000000E+01 とディスプレイに表示され、このあとにPAIを使った計算があるならこの値で計算されます。私としては、PAI=3.14159265と出力し、計算もしたいのですが... これは FORTRAN 自体の特有の性質なのでしょうか、それともソフト、ハード的な問題なのでしょうか? 尚、変数 PAI をファイルから読み込んだり、PAI=4.0*ATAN(1.0) (PAI=3.1415926535897930 となりますが)、PAI=3.14159265D+00などにすると正確に表示、計算出来ます。

  • ベクトルでの張力の定義

    等速円運動を定義するところで F→ = T→ - Te→_r と書いてありました。 これは張力のTベクトルから引いているのでしょうか。 遠心力でいいのでしょうか?

  • 基底ベクトル 標準基底 正規直交基底 基本ベクトル

    基底ベクトルについて質問させて下さい。 基底の定義は、 V(Vは体K上の線形空間とする)のVの元であるベクトルの組{v1,v2,v3,・・・vn}が、 線形結合で表され、v1,v2,v3,・・・vnがそれぞれ一次独立である場合を基底という。 基底の数は無数に存在する。基底を構成するベクトルを基底ベクトルと呼ぶ。 例えばR^2の基底は、 (1,0),(0,1)や(1,0),(1,1)などである。 以上のように理解しています。 ここまでで、間違いはありますでしょうか? R^2における基底で、 (1,0),(0,1)は特に標準基底、正規直交基底などと呼ばれます。 また、基本ベクトルと呼ばれることもあります。 このR^2における(1,0),(0,1)は一般的にはどのように呼ばれる のでしょうか? 基本ベクトルと呼ぶのは、あまり一般的ではないでしょうか? 標準基底・正規直交基底と呼ぶ方が一般的なのでしょうか? 分野によって使われる言葉も違うと思いますが、ご教示下さい。 また、単位ベクトルについても教えて下さい。 単位ベクトルの定義は、ベクトルの長さ(ノルム)が1になるベクトルと理解しています。 (1,0)や(1,0,0),(0,1,0)は単位ベクトルですが、 (-1,0,0)もノルムが1のベクトルになると思います。 (-1,0,0)も単位ベクトルと言って良いのでしょうか? 以上、ご回答よろしくお願い致します。

  • MS-FortranとFortran90

    私は研究でFortran90を使っているのですが、研究に使うプログラムはMS-Fortranを用いて書かれているものでした。 そこで質問なんですが、MS-FortranとFortran90の違いについて知っている方がいれば教えてください。 また、MS-FortranでかかれたソースコードをFortranにコピーした時に何か弊害はあるのでしょうか?(人づてに弊害が起こると聞いたことがあるのですが・・・)。 プログラミングを本格的に始めて、まだ3ヶ月ほどで用語の使い方がわかりにくいところがあるかもしれませんがよろしくお願いします。

  • ベクトル解析の発散の定義について

    ベクトル解析の発散はその定義とは何でしょうか。ただし空間なので3次元までです。その場合、座標系に依存しない形式で表現できないでしょうか。(ξ1, ξ2, ξ3)を一般的な3次元の座標系と考えてその中での定義です。その定義が明確になると、3次元のデカルト座標系とか円筒座標系とか球座標系などのような特殊な事情の座標系に特化した表現に至る(ブレークダウンする)と思います。 例えば、ベクトルVがあったときにその発散とは、 「Vのξi方向に微分したベクトルとξi方向の単位接線ベクトルとの内積をとりiについて和をとる」 というものだと直交デカルト座標の表現(テキストでお馴染み)も出るのですが。 また、直交曲線座標(球、極、円筒の各座標を包括する)での表現も出てきそうです。 このような感じの定義はないでしょうか。

  • Fortran90/Fortran95→Fortran77

    大学の授業でFortranを使ったプログラミングを勉強しています。 以下の文が大学のPCに入っているコンパイラでは問題なくコンパイルでき実行できるのですが、家のPCだとコンパイルすることが出来ません(以下の文でエラーが出ます) 大学のPCの開発環境はFujitsu-FORTRANだと思います(^ ^; 家のPCはSalford FTN77 Personal Edition CompilerとCPad for Salford FTN77を組み合わせて使用しています なぜエラーがでるのか自分なりに考えた結果、Fortran90/Fortran95のプログラムをFortran77のコンパイラでコンパイルしているからだと思います(全くの勘違いだったら指摘して下さい) Fortran90/Fortran95の開発環境がフリーで整えばいいのですが、見つからないのでプログラムを修正したいと思います そこで、力を貸していただきたいのです 前置きが長くなりましたが、エラーが出る文は以下のところです open(8,file='freq_ex13.dat',action='write',status='replace') ここを、Fortran77のコンパイラでコンパイルできるようにアドバイスを下さい よろしくお願いします

専門家に質問してみよう