初心者なんでなかなか上手くプログラムが組めません。
例えば
x(i,j)、t(i,j)の配列があって、i=1,m、j=1,nまでだとします。
このとき
dxdt=(x(m-j+1,j)-x(m-j,j+1))/(t(m-j+1,j)-t(m-j,j+1)
とdxdtを定義します。
このdxdtが正で最小になるときのx(○,○)の○に入る配列番号を知りたい場合にはどうすればいいでしょうか?
教えてください!
具体的な例題として
m=10
n=10(mとnは常に同じとする)
dxdt=(x(10,1)-x(9,2))/(t(10,1)-t(9,2))
=-2
dxdt=(x(9,2)-x(8,3))/(t(9,2)-t(8,3))
=-1
dxdt=(x(8,3)-x(7,4))/(t(8,3)-t(7,4))
=-0.5
dxdt=(x(7,4)-x(6,5))/(t(7,4)-t(6,5))
=0.5
dxdt=(x(6,5)-x(5,6))/(t(6,5)-t(5,6))
=1
dxdt=(x(5,6)-x(4,7))/(t(5,6)-t(4,7))
=2
dxdt=(x(4,7)-x(3,8))/(t(4,7)-t(3,8))
=3
dxdt=(x(3,8)-x(2,9))/(t(3,8)-t(2,9))
=4
dxdt=(x(2,9)-x(1,10))/(t(2,9)-t(1,10))
=5
このときdxdtが正で最小なのは0.5となります。
このときの知りたい配列番号は(i,j)=(7,4)です。
これを知るにはどうすればいいでしょうか?
最小値MINやIFを使うのかなど考えたのですが、行き詰まっています。
分かりやすくお願いします。
No.2ベストアンサー
- 回答日時:
< Maxとかを定義している文と解釈してよろしいでしょうか? >
はい、そうです。
< 僕の質問にある例題の(i,j)がでるのですか >
例; 代用するとかえってごちゃごちゃするのだけど 解んないの??。
For i = 1 To 10
For j = 1 To 10
If =(x(m-j+1,j)-x(m-j,j+1))/(t(m-j+1,j)-t(m-j,j+1)>= Max Then
Max = =(x(m-j+1,j)-x(m-j,j+1))/(t(m-j+1,j)-t(m-j,j+1)
Y = j 'ここが、ポイントです。
ElseIf =(x(m-j+1,j)-x(m-j,j+1))/(t(m-j+1,j)-t(m-j,j+1) <= Min then
Min = =(x(m-j+1,j)-x(m-j,j+1))/(t(m-j+1,j)-t(m-j,j+1)
X = j 'ここが、ポイントです。
End If
Next j
Next i
No.5
- 回答日時:
< 初心者なんでなかなか上手くプログラムが組めません。
>なら、下記を参考にゼロから勉強して 基礎を学んでください。
1.FORTRANプログラミング初級編・・・どとらかと言うと超初心者向けです。 多分あなた向けです。
http://svr01.damp.tottori-u.ac.jp/~akimoto/Fortr …
2.初心者のためのFortran入門
http://homepage.mac.com/galois21/fortran/
3.Fortran プログラミングの基礎知識
http://www.uopmu.ees.osakafu-u.ac.jp/~yabu/soft/ …
No.4
- 回答日時:
例; 代用するとかえってごちゃごちゃするのだけど 解んないの??。
For i = 1 To 10
For j = 1 To 10
If (x(m-j+1,j)-x(m-j,j+1))/(t(m-j+1,j)-t(m-j,j+1)>= Max Then
Max =(x(m-j+1,j)-x(m-j,j+1))/(t(m-j+1,j)-t(m-j,j+1)
Y = j 'ここが、ポイントです。
ElseIf (x(m-j+1,j)-x(m-j,j+1))/(t(m-j+1,j)-t(m-j,j+1) <= Min then
Min = (x(m-j+1,j)-x(m-j,j+1))/(t(m-j+1,j)-t(m-j,j+1)
X = j 'ここが、ポイントです。
End If
Next j
Next i
No.1
- 回答日時:
下記は、簡単な例です。
下記コードを実行すると
Yには、Max値が、得られたときの Jの値が、
Xには、Min値が、得られたときの Jの値が
それぞれ入ります。
これを、応用してください。
Sub test()
Dim Max As Variant
Dim Min As Variant
Dim Y As Integer
Dim X As Integer
Dim Data(10) As Variant
Max = 0
Min = 9999
Y = 0
X = 0
Data(1) = 100
Data(2) = 5
Data(3) = 2
Data(4) = 3.5
Data(5) = 80
Data(6) = 6
Data(7) = 41
Data(8) = 2.8
Data(9) = -10
Data(10) = -5
For j = 1 To 10
If Data(j) >= Max Then
Max = Data(j)
Y = j 'ここが、ポイントです。
ElseIf Data(j) <= Min Then
Min = Data(j)
X = j 'ここが、ポイントです。
End If
Next j
End Sub
この回答への補足
返答ありがとうございます。
この回答について質問なんですが、
まず、最初の6行
Sub test()
Dim Max As Variant
Dim Min As Variant
Dim Y As Integer
Dim X As Integer
Dim Data(10) As Variant
はただ、Maxとかを定義している文と解釈してよろしいでしょうか?
次に、この例の場合だと
Max=100
Y=1
Min=-10
X=9
となるのでしょうか?
また、Nextjというのは次のjに行けということですよね。
何分、分からないことが多くてもうしわけありません。
また、これをどう応用すれば、僕の質問にある例題の(i,j)がでるのですか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
配列を使わずに、変数名を動的...
-
C言語初心者 ポインタについて...
-
C言語 配列の長さの上限
-
C# 配列の変数宣言について。
-
配列で格納したものをmsgboxで...
-
4勤2休のシフト作成
-
C# Listを使わずに2次元配列の...
-
VBでC言語のポインタみたい...
-
ExcelVBAで質問です。離れた二...
-
VBで構造体の配列を関数に渡す...
-
【C言語】配列の中に配列を入れ...
-
VBで動的なメモリの確保
-
unsigned char配列への入力の仕方
-
C言語で特定列だけを抽出して配...
-
自販機での金銭収受を想定した...
-
Functionの戻り値を2次元配列...
-
Redimした動的配列はEraseする...
-
キーボードの並び方
-
unsigned char の配列で途中で0...
-
[Fortran]VBでいうRedim Preserve
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語 配列の長さの上限
-
配列を使わずに、変数名を動的...
-
配列で格納したものをmsgboxで...
-
C# Listを使わずに2次元配列の...
-
C# 配列の変数宣言について。
-
先頭アドレスとは何ですか?
-
C言語で特定列だけを抽出して配...
-
配列の参照渡しで型が一致しま...
-
VBで構造体の配列を関数に渡す...
-
C++ vectorに配列をプッシュしたい
-
【速いブラインドタッチ】手を...
-
unsigned char配列への入力の仕方
-
配列をEraseしてもメモリが開放...
-
【C言語】配列の中に配列を入れ...
-
ExcelVBAで質問です。離れた二...
-
4勤2休のシフト作成
-
Functionの戻り値を2次元配列...
-
Redimした動的配列はEraseする...
-
配列を含む構造体の初期値について
-
複数の選択範囲の行番号を個別...
おすすめ情報