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 日

0 投票

"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 件)

カテゴリ

タグ

質問済み:

2018 年 8 月 21 日

編集済み:

2018 年 8 月 21 日

Community Treasure Hunt

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

Start Hunting!

Translated by