0を代入するシステム

9 ビュー (過去 30 日間)
einen
einen 2022 年 8 月 26 日
回答済み: Hernia Baby 2022 年 8 月 26 日
ランダムで生成された1行7列の行列の数字のどこかしらに0を代入することがうまくできません。
次のような行列Aがあったとします。
A=0.35
0.53
-0.47
0.22
-0.26
0.45
-0.34
この行列のどこかしらに0を代入できるようにしたいです。
B=0.35
0
-0.47
0.22
-0.26
0.45
0
↑のような感じです。

回答 (1 件)

Hernia Baby
Hernia Baby 2022 年 8 月 26 日
まずはAを設定します。
A = [0.35
0.53
-0.47
0.22
-0.26
0.45
-0.34];
ここでは2つ方法を以下に提案いたします。
①行番号の指定
 決めた行目を0にします。
 まとめて書くには大かっこ [ ] を使用します。
B = A;
B([1,end],1) = 0
B = 7×1
0 0.5300 -0.4700 0.2200 -0.2600 0.4500 0
②条件文をつける
 例えば負の値だけ0にしたいという場合は以下のようにします。
B = A;
idx = A < 0;
B(idx) = 0
B = 7×1
0.3500 0.5300 0 0.2200 0 0.4500 0

カテゴリ

Help Center および File ExchangeCreating and Concatenating Matrices についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!