Not sure how to do this when you cant use x in your if statement without providing what x is first...
1 回表示 (過去 30 日間)
古いコメントを表示
The springs exert a force that is proportional to their compression and the proportionality constant is the spring constant k. The two side springs provide additional resistance if the weight W is too heavy for the center spring. When the weight is gently displaced, it moves through a distance x before coming to rest. The weight must balance the spring forces at this new position:
W = k1*x if x < d and W = k1*x+2*k2(x-d) if x >= d
k1=10^4 N/m; k2=1.5*10^4 N/m; and d=0.1 m.
Test case W = 2000
** also cant use iteration
0 件のコメント
採用された回答
Star Strider
2015 年 2 月 9 日
It would seem to me that the initial value of ‘x’ is the initial length of the unloaded springs. Solve for the value of ‘x’ in the equilibrium equation once ‘W’ is placed upon them.
2 件のコメント
Star Strider
2015 年 2 月 9 日
I suggest you consider your definitions of ‘k1’ since it is now !E+5, while ‘k2’ is 1.5E+3. Are they what you want?
I don’t know what your homework assignment wants you to do, so give it your best effort. Does the answer you get make sense? Create ‘x’ as a continuous variable — perhaps with linspace — then plot it and see if it looks as you would expect it to look, including the minor discontinuities that will appear when the shorter springs take some of the load. Remember that the force ‘W’ generates is mass times acceleration (presumably gravity), and the springs exert an opposite force of -k*x, so equate them to see where the ‘x’ equilibrium occurs.
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!