# how to delete value?

2 ビュー (過去 30 日間)
SM 2020 年 8 月 19 日

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 件のコメント表示 1 件の古いコメント非表示 1 件の古いコメント
Walter Roberson 2020 年 8 月 19 日
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 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

サインインしてコメントする。

### カテゴリ

Help Center および File ExchangeEntering Commands についてさらに検索

### Community Treasure Hunt

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

Start Hunting!

Translated by