特定の列に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 个)

标签

Community Treasure Hunt

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

Start Hunting!