A(B)=[] in anonymous function

8 visualizaciones (últimos 30 días)
ANKUR KUMAR
ANKUR KUMAR el 21 de Ag. de 2018
Editada: Stephen23 el 21 de Ag. de 2018
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.

Respuesta aceptada

Stephen23
Stephen23 el 21 de Ag. de 2018
Editada: Stephen23 el 21 de Ag. de 2018
"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 comentario
ANKUR KUMAR
ANKUR KUMAR el 21 de Ag. de 2018
Thanks for your response.

Iniciar sesión para comentar.

Más respuestas (0)

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by