Access cell array from input in function
Show older comments
Hello,
I have a function which recieves a cell array but when I want to access it I get an error Undefined function 'atomsStuct' for input arguments of type 'logical'.(even though it exists in my Workspace and the data is okay)
In this example I want to get from my input atomsStruct only the rows in which matchingResNameCells equals 1, for example if matchingResNameCells = {1,1,0,0,1} I want to return rows 1,2,5.
Thank you in advance.
function [wantedAtoms] = atomExtractionBySpecificMaterial(atomsStruct,material)
%Output the atoms that belongs to the specified material in the input
resNameCells={atomsStruct.resName}
%Remove leading and trailing whitespace from resNameCells
newResNameCells =strtrim(resNameCells);
%Creates a Cell array that indicates what resName have the input material
matchingResNameCells = strcmp(material,newResNameCells)
%Output wanted atoms with matching material
wantedAtoms= atomsStuct(matchingResNameCells)
end
Answers (1)
You have misspelled atomsStruct in this line:
wantedAtoms= atomsStuct(matchingResNameCells)
3 Comments
Walter Roberson
on 7 Mar 2023
Hah, you are right!
Shany
on 8 Mar 2023
Matt J
on 8 Mar 2023
You're welcome, but please Accept-click the answer to indicate the issue is resolved.
Categories
Find more on File Operations in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!