ファイルの読み込み方 ひろ 2007/03/18 09:19:56 └DATA文の内容, 白石和夫 2007/03/18 09:34:57 └蛇足ですが,データを複数組用意する場合は... 白石和夫 2007/03/18 09:38:55 └訂正 白石和夫 2007/03/18 09:43:48 └訂正の訂正 白石和夫 2007/03/18 10:31:18 └素早いご返答、ありがとうございます。 ひろ 2007/03/18 12:28:09 └DEF文はDO〜LOOPの外に書いてください。 白石和夫 2007/03/18 14:47:49 └できました。本当に助かりました。 ひろ 2007/03/18 15:49:50
ファイルの読み込み方 ひろ 2007/03/18 09:19:56 ツリーへ
ファイルの読み込み方 |
返事を書く ノートメニュー |
ひろ <giveptyxsm> 2007/03/18 09:19:56 | |
初めまして。
積分しようと思い、台形公式を使えばいいことまでは分かりました。 ただ、この場合のmとzのデータをいちいち書くのではなく、ファイルから読み込んで計算したいのですが、よく分かりません。 ファイルはテキストファイルとエクセルのファイルがあります。 教えていただけないでしょうか? よろしくお願いします! READ a,n,c,m,z DEF fnf(x)=((0.3*(1+x)^3)+0.7)^(-1/2) LET h=(z-a)/n LET s=(fnf(a)+fnf(z))/2 FOR k=1 TO n-1 LET x=a+h*k LET s=s+fnf(x) NEXT k LET s=s*h LET l=(1+z)*c*s LET g=m-5*LOG10(l)+2.5*LOG10(1+z) PRINT g DATA 0,10000,3000000000,20,1 END |
└DATA文の内容, 白石和夫 2007/03/18 09:34:57 ツリーへ
Re: ファイルの読み込み方 |
返事を書く ノートメニュー |
白石和夫 <fbdfvqwhki> 2007/03/18 09:34:57 | |
DATA文の内容,
0,10000,3000000000,20,1 をメモ帳などで,適当なテキストファイルに書き込みます。 そのファイル名が"ABC.TXT"だとしたら, プログラムのはじめの方に OPEN #1: NAME "ABC.TXT" END行の手前に CLOSE #1 を追加して READ a,n,c,m,z を READ #1: a,n,c,m,z に書き換えれればOkです。 |
└蛇足ですが,データを複数組用意する場合は... 白石和夫 2007/03/18 09:38:55 ツリーへ
Re: DATA文の内容, |
返事を書く ノートメニュー |
白石和夫 <fbdfvqwhki> 2007/03/18 09:38:55 | |
蛇足ですが,データを複数組用意する場合は,
1組のデータが1行になるようにファイルを作成し, OPEN #1: NAME " " DO READ #1, IF MISSING THEN EXIT DO: a,n,c,m,z 〜 LOOP CLOSE #1 END のような感じのプログラムにします。 データをEXCELで作成したいときは, 横方向に a,n,c,m,zとなるようにデータを入力して CSV形式で書き出せば使えます。 |
└訂正 白石和夫 2007/03/18 09:43:48 ツリーへ
Re: 蛇足ですが,データを複数組用意する場合は... |
返事を書く ノートメニュー |
白石和夫 <fbdfvqwhki> 2007/03/18 09:43:48 | |
訂正
READ #1: ではなくて INPUT #1: としてください。 |
└訂正の訂正 白石和夫 2007/03/18 10:31:18 ツリーへ
Re: 訂正 |
返事を書く ノートメニュー |
白石和夫 <fbdfvqwhki> 2007/03/18 10:31:18 | |
訂正の訂正
READ #1: でもかまいません。 (どちらでも同じ) |
└素早いご返答、ありがとうございます。 ひろ 2007/03/18 12:28:09 ツリーへ
Re: 訂正の訂正 |
返事を書く ノートメニュー |
ひろ <giveptyxsm> 2007/03/18 12:28:09 | |
素早いご返答、ありがとうございます。
ファイルからDATA一組を読み込むことができました。 ですが、複数組のデータの場合がまだよく分かりません。 DEF文でエラーが出ます。 度々申し訳ないのですが、お願いします。 OPEN #1: NAME "ABC.TXT" DO READ #1, IF MISSING THEN EXIT DO: a,n,c,m,z DEF fnf(x)=((0.3*(1+x)^3)+0.7)^(-1/2) LET h=(z-a)/n LET s=(fnf(a)+fnf(z))/2 FOR k=1 TO n-1 LET x=a+h*k LET s=s+fnf(x) NEXT k LET s=s*h LET l=(1+z)*c*s LET g=m-5*LOG10(l)+2.5*LOG10(1+z) PRINT g LOOP CLOSE #1 END データは以下の様にテキストファイルでABC.TXTとして保存しました。 0,10000,3000000000,23,1.5 0,10000,3000000000,23,1.1 0,10000,3000000000,24,0.5 |
└DEF文はDO〜LOOPの外に書いてください。 白石和夫 2007/03/18 14:47:49 ツリーへ
Re: 素早いご返答、ありがとうございます。 |
返事を書く ノートメニュー |
白石和夫 <fbdfvqwhki> 2007/03/18 14:47:49 | |
DEF文はDO〜LOOPの外に書いてください。
DEF fnf(x)=((0.3*(1+x)^3)+0.7)^(-1/2) OPEN #1: NAME "ABC.TXT" DO READ #1, IF MISSING THEN EXIT DO: a,n,c,m,z LET h=(z-a)/n LET s=(fnf(a)+fnf(z))/2 FOR k=1 TO n-1 LET x=a+h*k LET s=s+fnf(x) NEXT k LET s=s*h LET l=(1+z)*c*s LET g=m-5*LOG10(l)+2.5*LOG10(1+z) PRINT g LOOP CLOSE #1 END |
└できました。本当に助かりました。 ひろ 2007/03/18 15:49:50 ツリーへ
Re: DEF文はDO〜LOOPの外に書いてください。 |
返事を書く ノートメニュー |
ひろ <giveptyxsm> 2007/03/18 15:49:50 | |
できました。本当に助かりました。
ありがとうございます! |