производная функции

Я использую D для получения производных функции. Однако R не упрощает выражение при возврате производной. Я должен выяснить, имеет ли функция производную, которая может быть выражена в общем. Есть ли некоторый путь в R для упрощения выражения?

> D(expression(sqrt(1 - x^2)), 'x')
-(0.5 * (2 * x * (1 - x^2)^-0.5))
> D(D(expression(sqrt(1 - x^2)), 'x'), 'x')
-(0.5 * (2 * (1 - x^2)^-0.5 - 2 * x * (-0.5 * (2 * x * (1 - x^2)^-1.5))))

Во-вторых, существует ли путь в R, чтобы сделать численное интегрирование?

16
задан user236215 27 July 2010 в 04:10
поделиться

2 ответа

library(Ryacas)
x <- Sym("x")
Simplify(deriv(sqrt(1 - x^2),x,2))  # return the result simplified

дает

expression((x^2 - 1 - x^2)/root(1 - x^2, 2)^3)

Вы также можете попробовать

PrettyForm(Simplify(deriv(sqrt(1 - x^2),x,2)))

который дает

   2        2  
  x  - 1 - x   
---------------
              3
    /      2 \ 
Sqrt\ 1 - x  / 

Что касается численной интеграции, попробуйте дать это, чтобы увидеть, что доступно

library(sos)
findFn('{numerical+integration}')
14
ответ дан 30 November 2019 в 22:43
поделиться

Насколько я знаю, R не будет упрощать результат D(). Звучит так, будто вам нужна подходящая система компьютерной алгебры, а R определенно не является полноценной CAS. Mathematica и Maple являются наиболее известными, но есть также ряд альтернатив с открытым исходным кодом (как обсуждалось в этом посте SO).

R может выполнять численное интегрирование - для такого рода вопросов стоит сначала поискать на страницах справки R (например, help.search('integrate')). Вы можете использовать integrate() в пакете stats. Существует также area() в пакете MASS, но он намного проще (т.е. для демонстрационных целей).

2
ответ дан 30 November 2019 в 22:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: