How to remove zeros from a vector and remove values from those indices in a corresponding vector?

3 次查看(过去 30 天)
I have 3 row vectors that are quite long, but for example they are:
D=[0 0 100 0 250 0 300]
H=[4 2 0 5 0 0 1]
T=[7 9 12 4 9 4 12]
I want to remove the values from H and T that correspond to zero in D, but I want to leave the zeros in H and T.
For example, the above vectors would become:
D=[100 250 300]
H=[0 0 1]
T=[12 9 12]
How to do? Thank you in advance.

采纳的回答

Voss
Voss 2023-8-14
D=[0 0 100 0 250 0 300];
H=[4 2 0 5 0 0 1];
T=[7 9 12 4 9 4 12];
D,H,T
D = 1×7
0 0 100 0 250 0 300
H = 1×7
4 2 0 5 0 0 1
T = 1×7
7 9 12 4 9 4 12
idx = D == 0;
D(idx) = [];
H(idx) = [];
T(idx) = [];
D,H,T
D = 1×3
100 250 300
H = 1×3
0 0 1
T = 1×3
12 9 12
  2 个评论
Image Analyst
Image Analyst 2023-8-14
If this Answer solves your original question, then could you please click the "Accept this answer" link to award the answerer with "reputation points" for their efforts in helping you? They'd appreciate it. Thanks in advance. 🙂 Note: you can only accept one answer (so pick the best one) but you can click the "Vote" icon for as many Answers as you want. Voting for an answer will also award reputation points.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Startup and Shutdown 的更多信息

产品


版本

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by