Skip to main content

calcMuscleTendonLengthInitializationModeledValues.m


% This function is part of the NMSM Pipeline, see file for full license.
%
%
% (struct, struct, struct) -> (struct)
% returns the modeled values for the given inputs for MuscleTendonLengthInitialization


function modeledValues = calcMuscleTendonLengthInitializationModeledValues(values, ...
experimentalData)

modeledValues.maxIsometricForce = getMaxIsometricForce(...
experimentalData, values);
modeledValues.normalizedFiberLength = ...
calcNormalizedMuscleFiberLengthsAndVelocities(experimentalData, ...
values.optimalFiberLengthScaleFactors, ...
values.tendonSlackLengthScaleFactors);
modeledValues.passiveForce = calcPassiveForceLengthCurve( ...
modeledValues.normalizedFiberLength, ...
modeledValues.maxIsometricForce, experimentalData.pennationAngle);

if experimentalData.passiveMomentDataExists
experimentalData.muscleTendonLength = ...
experimentalData.passiveMuscleTendonLength;
modeledValues.passiveNormalizedFiberLength = ...
calcNormalizedMuscleFiberLengthsAndVelocities(experimentalData, ...
values.optimalFiberLengthScaleFactors, ...
values.tendonSlackLengthScaleFactors);
experimentalData.momentArms = experimentalData.passiveMomentArms;
modeledValues.passiveModelMoments = calcPassiveMuscleMoments( ...
experimentalData, modeledValues.maxIsometricForce, ...
modeledValues.passiveNormalizedFiberLength);
end
end