プロが教えるわが家の防犯対策術!

BASICのプログラムで「行列式の積」の計算をしたいのですが…どのようにして行ったらよいか分かりません。あいにく、大学の図書館が閉まってしまい、調べる事もできない状態で困っています。一例として、3行3列の行列式の積の計算をする方法のプログラムを教えてください。
後、計算結果がどのように表示されるかも教えていただけると嬉しいです。

A 回答 (3件)

どうも、失礼しました。


もうお分かりと思いますが、全角スペースを使っているためエラーが出ます。このOKweb/教えて!gooでの書きこみは複数の半角スペースが無視されてしまうので、見やすくするため全角スペースを使いました。

390行でのエラーはN88互換BASICのバグだと思います。コメント文を取り除いてください。
    • good
    • 0
この回答へのお礼

有難うございました。
お陰さまで、きちんと表示するようになりました。
これからも何かわからないことがあったら「教えて!goo」
で質問しますので、どうぞよろしくお願いします。

お礼日時:2001/08/26 10:17

質問が間違っていませんか。


「行列式の積」の計算ではなくて
「行列式の値」の計算又は「行列の積」の計算のどちらかでしょう。
行列と行列式はまったく別物です。

anisolさんがお答えになっているのは後者ですね。

この回答への補足

わかりにくい質問でどうもすみません。

「行列の積」の計算が行いたいのです。

補足日時:2001/08/25 15:01
    • good
    • 0

N88BASICでいいですか?



100 '初期設定
110 L=3:M=3:N=3 'A:L行M列, B:M行N列
120 DIM A(L,M),B(M,N),X(L,N) '配列は(行,列)の構成

130 '行列Aのデータの読み込み
140 FOR I=1 TO L '1行からL行まで
150  FOR J=1 TO M '1列からM列まで
160   READ A(I,J)
170  NEXT J
180 NEXT I

190 '行列Bのデータの読み込み
200 FOR I=1 TO M
210  FOR J=1 TO N
220   READ B(I,J)
230  NEXT J
240 NEXT I

250 '計算
260 FOR I=1 TO L '答の行列はL行N列になる
270  FOR J=1 TO N
280  X(I,J)=0 '初期化
290   FOR K=1 TO M '答の(I,J)成分を計算
300    X(I,J)=X(I,J)+A(I,K)*B(K,J)
310   NEXT K
320  NEXT J
330 NEXT I

340 '表示
350 FOR I=1 TO L '行の表示
360  FOR J=1 TO N '列の表示
370   PRINT USING"#### ";X(I,J);
380  NEXT J
390  PRINT '1行表示したら改行する
400 NEXT I
410 END

420 'データA
430 DATA -3,1,4
440 DATA 0,1,3
450 DATA -2,5,1
460 'データB
470 DATA 4,-1,0
480 DATA 1,0,3
490 DATA 0,1,0

この回答への補足

ご説明有難うございます。
組んでくださいましたプログラムをそのまま「N88互換性BASIC」のプログラムに入れ、計算させました所…150行の所でメッセージが定義されてないとのエラーが出てしまいました。何処を訂正したら宜しいのでしょうか???素人なもので…全くわかりません。ご説明よろしくお願いいたします。

補足日時:2001/08/25 15:05
    • good
    • 0
この回答へのお礼

先ほどのエラー何とか成りました。
でもまだ390行でエラーが出てしまい、行列式の表示が上の一行しか表示されずすべての表示が上手くいきません。何処を直したらよいのでしょうか?アドバイスいただけないでしょうか?

お礼日時:2001/08/25 18:29

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!