人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

↓のプログラムで初期値X0を実行画面に表示させたいのですが、X1と同じ値が出てしまいます。(おそらく230でX0=X1と認識してしまっていることが原因ではないかと思います。)どのようにすれば解決できるでしょうか。
初歩的な質問でしたら申し訳ないのですが、BASIC経験者、もしくは現在やられている方でどなたかアドバイスをしていただけると助かります。

120 REM*******ニュートン・ラフソン法*********
130 FOR I = 1 TO 3
132 READ X0
134 GOSUB 145
136 NEXT I
138 END
145 N=0
150 ER=.00001
180 FX=X0*X0-100
190 DFX=2*X0
200 X1=X0-FX/DFX
220 IF ABS(X1-X0)<ER THEN 260
230 X0=X1 :N=N+1
235 PRINT X0,X1,N
240 GOTO 180
260 PRINT X0,X1,N+1
280 RETURN
300 REM *************試行値*************
310 DATA 1,5,10

●質問者: yuigadokusonn
●カテゴリ:コンピュータ 学習・教育
✍キーワード:abs BASIC ER Fx GOTO
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● virtual
●0ポイント

230 N=N+1

235 PRINT X0,X1,N

238 X0=X1

これでいいのでは?

◎質問者からの返答

収束一回目でしたらそれでいけるようですが、収束二回目から値がX1に対応してしまいます。


2 ● virtual
●70ポイント ベストアンサー

すみません。回答1は忘れて下さい。

初期値を毎回プリントしたいのであれば、以下の部分を追加変更すればできます。

133 X=X0

235 PRINT X,X1,N

◎質問者からの返答

できました。迅速な対応有難うございます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ