Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


14475 / 76738 ←次へ | 前へ→

【67758】Re:複雑な関数をVBAで回すコーディングを教えてください。
質問  VBA開始1か月  - 11/1/6(木) 18:16 -

引用なし
パスワード
   使用するデータは、CSV形式のファイルで、3列n行あります(下の値は適当です。値は2行目から)

x y t
7.4 8.3 6.2
1.0 2.7 3.9
5.8 4.7 3.6

・ 





マクロにて入力する変数は、n, hs, htの値です。

これらの値を入力して以下の関数 f(x,y,t)=c値を求め、
(x, y, t, c)の列で別のCSVファイルに保存する


関数f(x,y,t)について関数が難しいので、何がしたいのかをかきました。


例えば、(x,y,t)は、(x1,y1,t1)から(x10,y10,t10)まであるとします。


(x1,y1,t1)の時を例に説明します。

 [step1]
  ΣKs[(x-xi)/hs, (y-yi)/hs]*Kt[(t-ti)/ht](Σの下にはi)
  i=1の時、


 [step2]u,wを変数とします

  (x1-xi)/hs=u1_1,
  (y-yi)/hs=v1_1,
  とする

  (t-ti)/ht=w1_1
  とする


 [step3]L,M,N,P,Qを変数とします

  {(u1_1)^2+(v1_1)^2}=L1
  (w1_!)^2=M1
  とする

  もしも、(L1)<1 ならば、
  (2/π)*{1-(L1)}=N1とする
  そうでなければ、N1=0とする

  もしも、(M1)<1 ならば、
  (3/4)*{1-(M1)}=P1とする
  そうでなければ、P1=0とする

  (N1)*(P1)=Q1 とする

 [step4]

  次に、[step1]にもどりi=2の時で[step2]→[step3]と処理する。
  その結果、Q2が求まる。

  これを、i=10の時まで繰り返し、
  Q1〜Q10までが求まる。

 [step5]
  
  Q1〜Q10までを全部足す。
  足した値に、1/{n*(hs^2)*ht} をかける。

  出た値が、(x1,y1,t1)=c1である。


以上の、[step1]から[step5]まで繰り返し、(x10,y10,t10)=C10までもとめます。


C1からC10までを、

別のファイルでx,y,tの隣の列に、書き込んでいき、保存。

という流れです。

何卒よろしくお願いします。

1 hits

【67732】複雑な関数をVBAで回すコーディングを教えてください。 VBA開始1か月 11/1/5(水) 21:31 質問
【67736】Re:複雑な関数をVBAで回すコーディングを教... neptune 11/1/6(木) 0:15 発言
【67757】Re:複雑な関数をVBAで回すコーディングを教... VBA開始1か月 11/1/6(木) 18:15 発言
【67758】Re:複雑な関数をVBAで回すコーディングを教... VBA開始1か月 11/1/6(木) 18:16 質問
【67761】Re:複雑な関数をVBAで回すコーディングを教... neptune 11/1/6(木) 22:32 発言
【67762】Re:複雑な関数をVBAで回すコーディングを教... VBA開始1か月 11/1/6(木) 22:47 発言
【67763】Re:複雑な関数をVBAで回すコーディングを教... neptune 11/1/7(金) 0:18 発言
【67788】Re:複雑な関数をVBAで回すコーディングを教... はーばー 11/1/8(土) 15:05 発言
【67794】Re:複雑な関数をVBAで回すコーディングを教... neptune 11/1/8(土) 22:40 発言

14475 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free