Access cell array from input in function
显示 更早的评论
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
回答(1 个)
You have misspelled atomsStruct in this line:
wantedAtoms= atomsStuct(matchingResNameCells)
3 个评论
Walter Roberson
2023-3-7
Hah, you are right!
Shany
2023-3-8
Matt J
2023-3-8
You're welcome, but please Accept-click the answer to indicate the issue is resolved.
类别
在 帮助中心 和 File Exchange 中查找有关 File Operations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!