2013-02-13 7 views
2

Я чрезвычайно новичок в R, поэтому решение этого, вероятно, относительно просто. У меня есть следующие функции для расчета тормозного пути для среднестатистического автомобиля:Когда функция равна определенному значению

distance <- function(mph){(2.0*(mph/60))+(0.062673*(mph^1.9862))} 

И я черчения проездом расстояния от 1 м до 60 миль в час:

range = distance(1:60) 

Но мне нужно, чтобы отметить, где остальное расстояние равно 120 футам. Я не знаю, как это делается в R, но я бы хотел написать функцию, где для остановки stop (x) я получаю максимальную скорость автомобиля в MPH , Какую функцию я должен использовать, и есть ли простой способ проверить, равна ли значение расстояния (x) (как написано выше) равным определенному значению?

+0

Вы можете иметь несколько вопросов там. Вы упомянули о построении графика и поиске, где расстояние остановки составляет 120 футов, но это только для сюжета? Вы спрашиваете, как найти этот момент? Вы спрашиваете, как нарисовать вертикальную линию на графике на этом этапе? И то и другое? –

ответ

4

Один из способов сделать это было бы найти, когда функция -120 равна 0:

distance <- function(mph, dist=0){(2.0*(mph/60))+(0.062673*(mph^1.9862))-dist} 
uniroot(distance, c(1, 60), dist=120) 
## $root 
## [1] 44.63998 
## 
## $f.root 
## [1] -5.088982e-06 
## 
## $iter 
## [1] 6 
## 
## $estim.prec 
## [1] 6.103516e-05 

И чтобы увидеть, если он работал:

distance(44.63998) 
## [1] 120 
+1

Точно, что я искал, вы спасатель жизни! –

Смежные вопросы