エラ― メッセイジの 出ない  エラ―

 投稿者:与坂  昇平メール  投稿日:2009年10月 8日(木)12時08分17秒
  前の  投稿で
マトリックスを  ガウスの  掃きだし方で  解いた所
正確には  5.5 E-9   を  プログラムは
-1.5E-15  と  表示し  そのまま
計算を  つずけて   オカシナ  回答が  出ました

そこで
計算途中の   数値
TK(a)  に  以下のように  条件を  付け加えました

  if  abs(TK(a))<0.000001    then  goto 10  else  goto 20

      10
           TK(a)=0.000000000000000000000000000000

      20

それで
この プログラムは   一応  正確な  答えを  出しました


しかし
時々   計算された 数値に  -34298675431657
等と  一目に  プログラムの  暴走と  感じられる
数値が  計算されます

この場合
どの様に  プログラムを  止めるのでしょうか ???

例えば

   if  ABS(TK(a)>100000000  then  goto  30  else  goto 40

      30
          print " error "
          input xxx

      40



例えば  プログラムで  ロボットを  動かす場合
ロボットは   プログラムの  ミスが  解りませんので
異常の時は  止める  場合です
 

Re: エラ― メッセイジの 出ない  エラ―

 投稿者:白石 和夫  投稿日:2009年10月 8日(木)12時38分9秒
  > No.621[元記事へ]

BASICプログラムをを終了させる命令は
STOP
です。
STOP文は単純実行文なので,
IF ○○○ THEN STOP
のようにIF文と組み合わせても使えます。
 

Re: エラ― メッセイジの 出ない  エラ―

 投稿者:山中和義  投稿日:2009年10月 8日(木)12時39分35秒
  > No.621[元記事へ]

与坂  昇平さんへのお返事です。

> 時々   計算された 数値に  -34298675431657
> 等と  一目に  プログラムの  暴走と  感じられる
> 数値が  計算されます

ピボット選択は正しく行っていますか。
0に近い小さい値で各係数を割ると誤差が大きくなっていきます。


> この場合
> どの様に  プログラムを  止めるのでしょうか ???

それでいいと思います。


連立方程式を掲載していただければ、こちらでも検証できると思いますが、、、?
 

戻る