how to delete value?

I have two arrays which are:
A=[1 1 4 2 1 3 1 3 2 2];
a=[1 3 1 2];
The outcome will be:
A=[4 1 1 3 2 2];
The very beginning elements in A turn empty based on the elements in a. It is possible by using loop and function find. Is there any other way? TIA

2 个评论

How you the answer using A and a?
Is the rule sort of like:
Look at the next element of a . Take the value there, and locate the first occurance of it in A, and change that to 0 in A. Then move on to the next element of a
Another way of saying that is that there are two 1's in a and the first two 1's in A are to be set to 0; there is one 2 in A and the first 2 in A is to be set to 0; there is one 3 in a and the first 3 in A is to be set to 0
??

请先登录,再进行评论。

回答(1 个)

Jiaming Xu
Jiaming Xu 2022-10-26
编辑:Jiaming Xu 2022-10-26
I assume (1) your vector a indicates the numbers you want to delete in A and (2) you only delete the first number in A if any for each element in vector a.
You can use the following way to do so (delete the first element == i in A)
% A and a are given
for i = a
A(find(A==i,1))=[];
end
after run the code, you will have A as expected

类别

帮助中心File Exchange 中查找有关 Shifting and Sorting Matrices 的更多信息

标签

提问:

SM
2020-8-19

编辑:

2022-10-26

Community Treasure Hunt

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

Start Hunting!

Translated by