Seite 1 von 1

Gleichung lösen für vorgegebenen Wert

Verfasst: Sa Dez 02, 2017 3:58 pm
von sadikoner
Guten Tag alle zusammen,

ich habe eine Funktion für eine Spannungsberechnung aus mehreren Funktionen in Abhängigkeit von der Höhe definiert.
Nun würde ich gerne diese Gleichung, in dem Fall Sigma_crit1(h), für eine gewisse Spannung gelöst haben. Also die Höhe bei der sich eine Spannung von 4.267 kN/cm^2 einstellt.
Hier mal ein kleines Beispiel :

Code: Alles auswählen

########### Variablen ###################
h <- 15
b <- 15 #cm
E <- (2/3)*1100 #kN/cm^2
G <- (2/3)*69   #kN/cm^2
lef <- 450
########### Querschnittswerte in Abhängigkeit von h ###############
I_z <- function(h) ((b^3)*h)/12
v <- h/b
Beiwert <- function(n,h) (1/(2*n+1))*(tanh(((2*n+1)*(pi/2)*(h/b))))
alpha_t <- function(h) (1/3)-(64/(pi^5*(h/b)))*Beiwert(0,h)
print(alpha_t)
I_t <- function(h) alpha_t(h)*h*b^3
w_y <- function(h) ((h^2)*b)/6
############ Spannungsberechnung ######################
############ genaues Verfahren  ######################
Sigma_crit1 <- function(h) pi*sqrt(E*(I_z(h)*G*I_t(h)))/(lef*(w_y(h)))
########### vereinfachtes Verfahren ##################
Sigma_crit2 <- function(h) 0.78*b^2*E/(h*lef)
########### Differenz der Verfahren  #################
Sigma_crit_diff <-function(h) Sigma_crit2(h)-Sigma_crit1(h)
########### Darstellung ################
curve(Sigma_crit1,10,100,100, col="red")
abline(h=4.267, col="pink")
curve(Sigma_crit2,h,10*h,100, add=TRUE,col="green")

curve(Sigma_crit_diff,h,10*h,100, add=FALSE,col="blue")
abline(v=26.5, col="pink")
Danke im vorraus für eure Hilfe.
Grüße

Re: Gleichung lösen für vorgegebenen Wert

Verfasst: Sa Dez 02, 2017 4:58 pm
von jogo
Hallo Sadikoner,

willkommen im Forum!
Du kannst z.B. uniroot() verwenden:

Code: Alles auswählen

uniroot(function(h) 4.267 - Sigma_crit1(h), c(40,80))
Gruß, Jörg

Re: Gleichung lösen für vorgegebenen Wert

Verfasst: So Dez 03, 2017 12:05 pm
von sadikoner
Vielen Dank für die schnelle Hilfe. Da wäre ich mit der Dokumentation nicht drauf gekommen.

Grüße