2016-10-22 2 views
1
integral <- function(x) {2.393794315*((3320)*(x/2.24581)^5+(-1613880/11)*(x/2.24581)^4+(171163181/66)*(x/2.24581)^3+(-7563546913/330)*(x/2.24581)^2+(835541173981/8250)*(x/2.24581)+(-2953570085669/16500))*(((483793.161846485)*x^8+(-76823340.9717028)*x^7+(5337025908.822)*x^6+(-211866341077.587)*x^5+(5256530719898.47)*x^4+(-83466263852549.1)*x^3+(828318375700455)*x^2+(-4697211251008830)*x+(11653475160809900))^0.5)} 

integrate(integral, lower=19.538547, upper=20.3245805) 

Это дало мнеИнтеграция в R дает «не-конечное значение функции»

Error in integrate(integral, lower = 19.538547, upper = 20.3245805) : non-finite function value

Я не знаю, что делать. Было бы здорово, если бы кто-то мог ввести интеграл в такое программное обеспечение, как Maple, чтобы узнать, работает ли оно - или, давая ответ на то, как обойти эту ошибку, тоже будет замечательно: P

Заранее благодарим!

EDIT:

Функция, которую я пытаюсь вращаться вокруг оси х является:

у = 2,393794315 * ((3320) (х/2,24581)^5 + (- 1613880/11) (x/2.24581)^4 + (171163181/66) (x/2.24581)^3 + (- 7563546913/330) (x/2.24581)^2 + (835541173981/8250) * (x/2.24581)) + (- 2953570085669/16500))

Когда построены с пределами {19,538547 < < х 20.3245805}:

enter image description here

Как и в ссылке, предоставленной @StephenWade (в комментарии), чтобы найти площадь поверхности, мне нужен (F '(х))^2 + 1. С помощью Wolfram, Alpha, я вычисленного этого не более:

(f '(x))^2 + 1 = (483793.161846485) * x^8 + (- 76823340.9717028) * x^7 + (5337025908.822) * x^6 + (- 211866341077.587) * x^5 + (5256530719898,47) * х^4 + (- +83466263852549,1) * х^3 + (828318375700455) * х^2 + (- 4697211251008830) * х + (11653475160809900)

Plotting это, без ограничений, дает:

enter image description here

Однако вычисления это на R, я получил сообщение об ошибке:

enter image description here

Мой вклад в R был следующим:

2,393794315 * ((3320) (х/2.24581)^5 + (- 1613880/11) (x/2.24581)^4 + (171163181/66) (x/2.24581)^3 + (- 7563546913/330) (x/2.24581)^2 + (835541173981)/8250) (x/2.24581) + (- 2953570085669/16500)) (((483793.1) +61846485) * х^8 + (- +76823340,9717028) * х^7 + (5337025908,822) * х^6 + (- +211866341077,587) * х^5 + (+5256530719898,47) * х^4 + (- 83466263852549,1) * х^3 + (828318375700455) * x^2 + (- 4697211251008830) * x + (11653475160809900))^0,5)

Мне просто нужна разумная оценка площади поверхности ... Любые идеи?

+2

'integ (20)' дает ǸaN. –

+0

У Maple есть проблемы с его интеграцией. Я попробовал Derive и устал ждать его прекращения, хотя, когда я попросил приближение интеграла, он дал предупреждение, что результат будет иметь «сомнительную точность». Вам нужно как-то перемасштабировать. Возможно, изменение переменных, например, это интеграл от функции с меньшими коэффициентами в большем диапазоне. Возможно, вам придется проконсультироваться с экспертом по численному анализу, поскольку наивные решения (даже если они возвращают значение) могут столкнуться с сомнительной точностью, которую предупреждает Derive. –

+0

@JohnColeman Спасибо за вашу попытку на клен. Я ученик средней школы, и не знаю, как я могу продолжить. Я пытался вращать полином пятого порядка вокруг оси х, чтобы найти площадь поверхности ... любая разумная оценка интеграла будет работать; не могли бы вы мне помочь? – StopReadingThisUsername

ответ

2

Я бы применил его, используя пакет polynom, который может рассчитать производную для нас, а затем применить формулу от Wolfram.

revol_coef <- 2.393794315 * c(-2953570085669/16500, 
           835541173981/(8250 * 2.24581), 
           -7563546913/ (330 * 2.24581^2), 
           171163181/(66 * 2.24581^3), 
           -1613880/(11 * 2.24581^4), 
           3320/2.24581^5) 
y <- polynomial(revol_coef) 
y_d <- deriv(y) 

f <- function(x) { 
    2 * pi * predict(y, x) * sqrt(1 + predict(y_d, x)^2) 
} 


integrate(f, lower = 19.538547, upper = 20.3245805) 

Выход я получаю

-45.71118 with absolute error < 0.0017 

Ответ отрицательный, в связи с поверхностью, устанавливается в нижнем правом квадранте плоскости х-у (в соответствии с вашим участком). Чтобы исправить это, возьмите отрицательный номер прилагаемого номера, чтобы получить площадь поверхности.

Перевод формул Wolfram Alpha, манипулирование ими, а затем размещение их в R может легко включать в себя ошибку.

В этом случае я бы рекомендовал выполнять большую часть работы внутри R, так как инструменты/функции для выполнения необходимых вычислений и упрощений легко доступны.

+0

Я не могу поблагодарить вас за это! Хорошего дня! :) – StopReadingThisUsername

+0

Удостоверьтесь, что вы понимаете каждый шаг, так как каждый (включая меня) может ошибаться. Я не пытался проверить свой ответ. – stephematician

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