Info

This question is locked. 请重新打开它进行编辑或回答。

Deleting Some Specific Entries from a vector

1 次查看(过去 30 天)
I have vectors xa and yb. I want to write the entries of yb to xa which are not the ones -1,0,1,0.6,-0.6,0.8,-0.8
I apply this one
xa=yb(yb~=1);
xa=xa(xa~=-1);
xa=xa(xa~=0);
xa=xa(xa~=0.6);
xa=xa(xa~=-0.6);
xa=xa(xa~=-0.8);
xa=xa(xa~=0.8);
But it just deletes -1,0 and 1. Not 0.6,-0.6,0.8,-0.8. Where do you think the problem is? Or how can I change it?

采纳的回答

Wan Ji
Wan Ji 2021-8-21
Just do with the following
q = abs(yb);
p = (q==0|q==1|q==0.6|q==0.8);
xa = yb(~p)
if it does not work, use a tolerance TOL
TOL = 1e-5
q = abs(yb);
p = (q<=TOL|abs(q-1)<=TOL|abs(q-0.6)<=TOL|abs(q-0.8)<=TOL);
xa = yb(~p)

更多回答(0 个)

This question is locked.

Community Treasure Hunt

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

Start Hunting!

Translated by