特定の列に0を並べる​方法,1行おきに減算​する方法について

28 次查看(过去 30 天)
Taiga Miyashita
Taiga Miyashita 2020-7-7
评论: Kenta 2020-7-8
512行46列の行列があるA
512行30列の行列があるBがあります.
このうち,Bの29列目を抜き出しCを作ります.
やりたいことはAの行列の奇数列をBの29列目の行列で減算することです.
その手順として,①や②が必要なのではないかと考えております.
①Cの2列目には0を512行並べたいです.
うまく説明できないのですが自分のやり方(C=zeros(512,2:2))だと1列目も全て0となるような形となってしまいます.
②Aの行列の1行目,3行目,5行目...と1行おきに減算をしたいです.
よろしくお願いいたします.

采纳的回答

Kenta
Kenta 2020-7-7
A=rand(512,46);
B=rand(512,30);
C=B(:,29);
A2=A-C;
A(:,1:2:end)=A2(:,1:2:end);
②を1行おきではなく、すべてのAに対して実行し、最後にその結果をもともとのAの奇数列のみに代入する形でやってみました。以上でいかがでしょうか。
  4 个评论
Taiga Miyashita
Taiga Miyashita 2020-7-8
Akira Agata様
ご教授いただきましてありがとうございます.
直接結果を求める方が整理されてスマートに見えますね.
求める結果が同じでも様々なやり方があるのだと実感しました.
皆さんのご協力,本当にありがとうございました.
Kenta
Kenta 2020-7-8
Akira Agataさま
ありがとうございます。確かにこちらのほうがスマートですね。
Miyashitaさま
解決したようでよかったです。

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!