「一気に最後まで読んだ」本、教えて下さい!

matlabの行列についての質問です
A[1,2,3,4,5,6]を[0,2,3,4,5,6[1,0,3,4,5,6][1,2,0,4,5,6]...と表したいのですがfor n=1:6 A(1,n)=0とすると最終的に全部0になってしまいうまくいきません。どうしたらいいですか?

質問者からの補足コメント

  • 最初に答えてくれた人のでは何が改善されたのかよくわかりませんでした。

      補足日時:2018/12/06 14:59

A 回答 (3件)

これだと


n=1→ [0,2,3,4,5,6]
n=2→ [0,0,3,4,5,6]
で最終的に全てゼロになってしまいます。

以下、一例です。
A=[1,2,3,4,5,6]
for n=1:6
out=A
out(1,n)=0


ご参考まで。
    • good
    • 2
この回答へのお礼

ありがとうございます。回答が早くてとてもびっくりしました。試してみます

お礼日時:2018/12/05 21:45

No.1です。


>ここからさらに表示したいoutだけをまとめて表示することは可能ですか?
可能ですよ。
今、一次元になっているので、それを2次元配列にするだけです。
他にも色々と手はありますが。
まずは、そのあたりを試して見て下さい。だめだったら、また、質問をしてみてはどうですか。
    • good
    • 0
この回答へのお礼

丁寧かつ迅速に対応してくださりありがとうございます。頑張ってみます。

お礼日時:2018/12/06 17:35

Aだけを使って、for ループで A(1,n)=0の作業を順次行なっていくと、どんどん、ゼロが上書きされてしまうので、


変数Aをだけでなく、表示用の変数を用意したかったということです。

A=[1,2,3,4,5,6] ← Aは元の値と使用するだけで、変更はしない様にする。
for n=1:6
out=A ← ここで、毎回、outにはAが入ります。
out(1,n)=0 ← [1,2,3,4,5,6]のうちn=1~6のうち、一か所のみをゼロにする。
ここでoutを表示 ← 1か所だけがゼロ
end

という意味なのですが、まだ、分かりにくいでしょうか?。
    • good
    • 0
この回答へのお礼

丁寧な説明ありがとうございます。僕が勘違いしていました、すみません..
ここからさらに表示したいoutだけをまとめて表示することは可能ですか?

お礼日時:2018/12/06 16:11

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