A(B)=[] in anonymous function

2 ビュー (過去 30 日間)
ANKUR KUMAR
ANKUR KUMAR 2018 年 8 月 21 日
編集済み: Stephen23 2018 年 8 月 21 日
A=randi(100,1,100);
A(randi(100,1,10))=[];
The above code works well but how to write it in an anonymous function.
delete_ele=@(X,Y) X(Y)=[]
It throws the error,
delete_ele=@(X,Y) X(Y)=[]
Error: The expression to the left of the equals sign is not
a valid target for an assignment.
How to resolve this issue.

採用された回答

Stephen23
Stephen23 2018 年 8 月 21 日
編集済み: Stephen23 2018 年 8 月 21 日
"A(B)=[] in anonymous function"
This is not possible: anonymous function do not allow allocations. But you can use indexing:
delete_ele = @(X,Y) X(~ismember(1:numel(X),Y));
Tested:
>> A = randi(100,1,100);
>> B = randi(100,1,10);
>> C = delete_ele(A,B);
>> size(C)
ans =
1 90
  1 件のコメント
ANKUR KUMAR
ANKUR KUMAR 2018 年 8 月 21 日
Thanks for your response.

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

その他の回答 (0 件)

カテゴリ

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

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by