Note: If you wish to replicate the R code below, then you will need to copy and paste the following commands in R first (to make sure you have all the packages and their dependencies):
install.packages("import")
# install the import package
import::from(pracma, fminsearch)
# import fminsearch from the pracma package
This document was created with rmarkdown 1.2 using the following:
- R 3.3.2 (2016-10-31)
- import 1.1.0
- pracma 1.9.5
“Use R to solve for the displacements and potential energy (PE) of the two-spring system.” (Chapra 181-183)
import::from(pracma, fminsearch)
# import fminsearch from the pracma package
source("https://raw.githubusercontent.com/ggrothendieck/gsubfn/master/R/list.R")
PE <- function(x, ka, kb, La, Lb, F1, F2) {
a <- 0.5 * ka * (sqrt(x[1]^2 + (La - x[2])^2) - La)^2
b <- 0.5 * kb * (sqrt(x[1]^2 + (Lb + x[2])^2) - Lb)^2
W <- F1 * x[1] + F2 * x[2]
p <- a + b - W
return(p)
}
ka <- 9
kb <- 2
La <- 10
Lb <- 10
F1 <- 2
F2 <- 4
list[x, f] <- fminsearch(PE, c(-0.5, 0.5), ka, kb, La, Lb, F1, F2)
x
## [1] 4.952302 1.276851
f
## [1] -9.642204
“At equilibrium, the potential energy is -9.6422 N \(\cdot\) cm & the connecting point is located 4.9523 cm to the right and 1.2769 cm above its original position.”
Works Cited
Steven C. Chapra, Applied Numerical Methods with MATLAB for Engineers and Scientists, 2nd Edition, Boston, Massachusetts: McGraw-Hill, 2008, pages 181-183.
Wikimedia Foundation, Inc. Wikipedia, 17 July 2016, Potential energy
77u/LS0tCnRpdGxlOiAiUG90ZW50aWFsIEVuZXJneSBQcm9ibGVtIFNvbHZlZCBpbiBSIChiYXNlZCBvbiBHTlUgT2N0YXZlL01BVExBQiBFeGFtcGxlKSIKYXV0aG9yOiAiSXJ1Y2thIEVtYnJ5LCBFLkkuVC4iCmRhdGU6ICJgciBTeXMuRGF0ZSgpYCIKb3V0cHV0OgpodG1sX2RvY3VtZW50OgptYXRoamF4OiBkZWZhdWx0Ci0tLQoKPGJyIC8+CjxiciAvPgoKTm90ZTogSWYgeW91IHdpc2ggdG8gcmVwbGljYXRlIHRoZSBSIGNvZGUgYmVsb3csIHRoZW4geW91IHdpbGwgbmVlZCB0byBjb3B5IGFuZCBwYXN0ZSB0aGUgZm9sbG93aW5nIGNvbW1hbmRzIGluIFIgZmlyc3QgKHRvIG1ha2Ugc3VyZSB5b3UgaGF2ZSBhbGwgdGhlIHBhY2thZ2VzIGFuZCB0aGVpciBkZXBlbmRlbmNpZXMpOgoKYGBge3IgZXZhbCA9IEZBTFNFfQppbnN0YWxsLnBhY2thZ2VzKCJpbXBvcnQiKQojIGluc3RhbGwgdGhlIGltcG9ydCBwYWNrYWdlCgppbXBvcnQ6OmZyb20ocHJhY21hLCBmbWluc2VhcmNoKQojIGltcG9ydCBmbWluc2VhcmNoIGZyb20gdGhlIHByYWNtYSBwYWNrYWdlCmBgYAoKPGJyIC8+CgpUaGlzIGRvY3VtZW50IHdhcyBjcmVhdGVkIHdpdGggcm1hcmtkb3duIDEuMiB1c2luZyB0aGUgZm9sbG93aW5nOgoKKyBSIDMuMy4yICgyMDE2LTEwLTMxKQorIGltcG9ydCAxLjEuMAorIHByYWNtYSAxLjkuNQoKPGJyIC8+CjxiciAvPgoKIlVzZSBSIHRvIHNvbHZlIGZvciB0aGUgZGlzcGxhY2VtZW50cyBhbmQgW3BvdGVudGlhbCBlbmVyZ3kgKFBFKV0oaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvUG90ZW50aWFsX2VuZXJneSkgb2YgdGhlIHR3by1zcHJpbmcgc3lzdGVtLiIgKENoYXByYSAxODEtMTgzKQoKPGJyIC8+CjxiciAvPgoKYGBge3IsIHdhcm5pbmcgPSBGQUxTRSwgbWVzc2FnZSA9IEZBTFNFLCB0aWR5ID0gVFJVRX0KaW1wb3J0Ojpmcm9tKHByYWNtYSwgZm1pbnNlYXJjaCkKIyBpbXBvcnQgZm1pbnNlYXJjaCBmcm9tIHRoZSBwcmFjbWEgcGFja2FnZQoKCnNvdXJjZSgiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2dncm90aGVuZGllY2svZ3N1YmZuL21hc3Rlci9SL2xpc3QuUiIpCgpQRSA8LSBmdW5jdGlvbih4LCBrYSwga2IsIExhLCBMYiwgRjEsIEYyKSB7CmEgPC0gMC41ICoga2EgKiAoc3FydCh4WzFdIF4gMiArIChMYSAtIHhbMl0pIF4gMikgLSBMYSkgXiAyCmIgPC0gMC41ICoga2IgKiAoc3FydCh4WzFdIF4gMiArIChMYiArIHhbMl0pIF4gMikgLSBMYikgXiAyClcgPC0gRjEgKiB4WzFdICsgRjIgKiB4WzJdCnAgPC0gYSArIGIgLSBXCnJldHVybihwKQp9CgprYSA8LSA5OyBrYiA8LSAyOyBMYSA8LSAxMDsgTGIgPC0gMTA7IEYxIDwtIDI7IEYyIDwtIDQKCmxpc3RbeCwgZl0gPC0gZm1pbnNlYXJjaChQRSwgYygtMC41LCAwLjUpLCBrYSwga2IsIExhLCBMYiwgRjEsIEYyKQoKeAoKZgpgYGAKCjxiciAvPgo8YnIgLz4KCiJBdCBlcXVpbGlicml1bSwgdGhlIHBvdGVudGlhbCBlbmVyZ3kgaXMgYHIgcm91bmQoZiwgZGlnaXRzID0gNClgIE4gJFxjZG90JCBjbSAmIHRoZSBjb25uZWN0aW5nIHBvaW50IGlzIGxvY2F0ZWQgYHIgcm91bmQoeFsxXSwgZGlnaXRzID0gNClgIGNtIHRvIHRoZSByaWdodCBhbmQgYHIgcm91bmQoeFsyXSwgZGlnaXRzID0gNClgIGNtIGFib3ZlIGl0cyBvcmlnaW5hbCBwb3NpdGlvbi4iCgo8YnIgLz4KPGJyIC8+CgojIyBXb3JrcyBDaXRlZAoKU3RldmVuIEMuIENoYXByYSwgKkFwcGxpZWQgTnVtZXJpY2FsIE1ldGhvZHMgd2l0aCBNQVRMQUIgZm9yIEVuZ2luZWVycyBhbmQgU2NpZW50aXN0cyosIDJuZCBFZGl0aW9uLCBCb3N0b24sIE1hc3NhY2h1c2V0dHM6IE1jR3Jhdy1IaWxsLCAyMDA4LCBwYWdlcyAxODEtMTgzLgoKV2lraW1lZGlhIEZvdW5kYXRpb24sIEluYy4gV2lraXBlZGlhLCAxNyBKdWx5IDIwMTYsIFtQb3RlbnRpYWwgZW5lcmd5XShodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Qb3RlbnRpYWxfZW5lcmd5KQoKPGJyIC8+CjxiciAvPgoKIyMgRWNvQ14yXlMgTGlua3MKCltFY29DJnN1cDI7UyBIb21lXShpbmRleC5odG1sKQo8YnIgLz4KW0Fib3V0IEVjb0Mmc3VwMjtTXShhYm91dF9lY29jMnMuaHRtbCkKPGJyIC8+CltFY29DJnN1cDI7UyBTZXJ2aWNlc10oKQo8YnIgLz4KW1Byb2R1Y3RzXShodHRwOi8vd3d3LnF1ZXN0aW9udW5pdmVyc2UuY29tL3Byb2R1Y3RzLmh0bWwpCjxiciAvPgpbRWNvQyZzdXAyO1MgTWVkaWFdKG1lZGlhLmh0bWwpCjxiciAvPgpbRWNvQyZzdXAyO1MgUmVzb3VyY2VzXShyZXNvdXJjZXMuaHRtbCkKPGJyIC8+CltSIFRyYWluaW5ncyBhbmQgUmVzb3VyY2VzIHByb3ZpZGVkIGJ5IEVjb0Mmc3VwMjtTIChJcnVja2EgRW1icnksIEUuSS5ULildKHJ0cmFpbmluZy5odG1sKQoKPGJyIC8+CjxiciAvPgoKIyMgQ29weXJpZ2h0IGFuZCBMaWNlbnNlCgpBbGwgUiBjb2RlIHdyaXR0ZW4gYnkgSXJ1Y2thIEVtYnJ5IGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBHUEwtMyAob3IgbGF0ZXIpIGxpY2Vuc2UsIHNlZSB0aGUgW0dOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIChHUEwpIHBhZ2VdKGh0dHBzOi8vZ251Lm9yZy9saWNlbnNlcy9ncGwuaHRtbCkuCgpBbGwgd3JpdHRlbiBjb250ZW50IG9yaWdpbmFsbHkgY3JlYXRlZCBieSBJcnVja2EgRW1icnkgaXMgY29weXJpZ2h0ZWQgdW5kZXIgdGhlIENyZWF0aXZlIENvbW1vbnMgQXR0cmlidXRpb24tU2hhcmVBbGlrZSA0LjAgSW50ZXJuYXRpb25hbCBMaWNlbnNlLiBBbGwgb3RoZXIgd3JpdHRlbiBjb250ZW50IHJlbWFpbnMgYXMgdGhlIGNvcHlyaWdodCBvZiB0aGUgb3JpZ2luYWwgYXV0aG9yKHMpLgoKPHA+PGEgcmVsPSJsaWNlbnNlIiBocmVmPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS1zYS80LjAvIj48aW1nIGFsdD0iQ3JlYXRpdmUgQ29tbW9ucyBMaWNlbnNlIiBzdHlsZT0iYm9yZGVyLXdpZHRoOjAiIHNyYz0iaHR0cHM6Ly9pLmNyZWF0aXZlY29tbW9ucy5vcmcvbC9ieS1zYS80LjAvODh4MzEucG5nIiAvPjwvYT48YnIgLz5UaGlzIHdvcmsgaXMgbGljZW5zZWQgdW5kZXIgYSA8YSByZWw9ImxpY2Vuc2UiIGhyZWY9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LXNhLzQuMC8iPkNyZWF0aXZlIENvbW1vbnMgQXR0cmlidXRpb24tU2hhcmVBbGlrZSA0LjAgSW50ZXJuYXRpb25hbCBMaWNlbnNlPC9hPi48L3A+Cg==