Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupport News AboutSign UpSign In
| Download

All published worksheets from http://sagenb.org

Views: 168742
Image: ubuntu2004
defaultStartTime = -1.0 defaultStartForce = 4.0 defaultEndTime = 2.0 defaultEndForce = -2.0 def linearForce(time, startTime, startForce, endTime, endForce): localTime_a = time - startTime localTime_b = time if (time < 0): return startForce + (localTime_a * startForce/startTime) elif (time == 0): return 0 else: return (localTime_b * endForce/endTime) def linearForceVelocity(time, startTime, startForce, endTime, endForce): #return initialForce*time - (rate/2)*(time ^2) #rate = (startForce/startTime) localTime_a = time - startTime localTime_b = time if (time < 0): return localTime_a * (startForce + (1/2) * (localTime_a * startForce/startTime)) elif (time == 0): return 1/2 * -startTime * startForce else: return 1/2 * -startTime * startForce + 1/2 * endForce/endTime * localTime_b^2 def linearForceDisplacement(time, startTime, startForce, endTime, endForce): #return (initialForce/2)*(time ^2) - (rate/6)*(time ^3) localTime_a = time - startTime localTime_b = time if (time < 0): # localTime_a * (startForce + (1/2) * (localTime_a * startForce/startTime)) # fx + 1/2 f/t x^2 # 1/2 fx^2 + 1/6 f/t x^3 # x^2 (1/2 f + 1/6 f/t x) return localTime_a^2 * ((1/2) * startForce + (1/6) * localTime_a * (startForce/startTime)) elif (time == 0): return (-startTime)^2 * ((1/2) * startForce + (1/6) * -startTime * (startForce/startTime)) else: return (-startTime)^2 * ((1/2) * startForce + (1/6) * -startTime * (startForce/startTime)) + (localTime_b * 1/2 * -startTime * startForce) + (1/6 * endForce/endTime * localTime_b^3) def linearForceSingleVariable(n): return linearForce(n, defaultStartTime , defaultStartForce ,defaultEndTime, defaultEndForce) def linearForceVelocitySingleVariable(n): return linearForceVelocity(n, defaultStartTime , defaultStartForce ,defaultEndTime, defaultEndForce) def linearForceDisplacementSingleVariable(n): return linearForceDisplacement(n, defaultStartTime , defaultStartForce ,defaultEndTime, defaultEndForce) linearForcePlot = plot(linearForceSingleVariable, defaultStartTime, defaultEndTime,rgbcolor=hue(0.5)) linearForceVelocityPlot = plot(linearForceVelocitySingleVariable, defaultStartTime, defaultEndTime,rgbcolor=hue(0.1)) linearForceDisplacementPlot = plot(linearForceDisplacementSingleVariable, defaultStartTime, defaultEndTime,rgbcolor=hue(0.3)) show (linearForcePlot + linearForceVelocityPlot + linearForceDisplacementPlot)