Problem adding a field to a struct via function

3 views (last 30 days)
Hi!
I would like to use functions, which compute a few things, and then add the respective results to my struct. My problem is that, when I put the very same lines in the command window, it works perfectly, but when I use my functions, nothing changes.
For example, I have the short code:
function generateTriangleCount(MeshInfo)
SizeTriangleField=size(MeshInfo.tri);
MeshInfo.NT=SizeTriangleField(1);
end
where MeshInfo is my structure. Entering generateTriangleCount(MeshInfo) does not add the field NT to my structure, but entering SizeTriangleField=size(MeshInfo.tri); and MeshInfo.NT=SizeTriangleField(1); does. What do I do wrong?

Accepted Answer

Kelly Kearney
Kelly Kearney on 17 Nov 2021
Your function doesn't return any output. Modify it to do so:
function MeshInfo = generateTriangleCount(MeshInfo)
SizeTriangleField=size(MeshInfo.tri);
MeshInfo.NT=SizeTriangleField(1);
end
and then call it via:
MeshInfo = generateTriangleCount(MeshInfo);

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by