MapleSoft: решения обратной задачи - PullRequest
0 голосов
/ 12 мая 2018

Я должен найти обратную функцию, которая выглядит следующим образом: T: = -> x (x) ^ 0.5 / (x ^ 0.5 + (1-x) ^ 0.5) ^ 2. Как видно из полинома, у нас есть 4 решения при решении y = f (x). В клене я подошел для обратного T (х) V: = x-> решить (t = T (x), x, useassumptions = true), предполагая, что 0 <= t <= 1. </strong> и я могу оценить V, то есть клен может сделать V (0) = 0 V (1) = 1 и т. д. Однако, как обсуждалось, существует четыре решения для обратной функции, выход V является последовательностью выражений, которая выглядит следующим образом (решение1, решение2, решение3, решение4).

В более поздней части задачи я должен найти производную от V (x) и интегрировать ее. Когда я применяю diff (V (x), x), maple выдает ошибку, говоря, что V (x) недопустим. Так как V (x) является последовательностью выражений. Я пытался использовать функцию D (V), но все равно не повезло.

Мои вопросы: как бы я смог обработать этот V (x) как последовательность выражений, чтобы завершить остальную часть задачи? Является ли V (x) кусочной функцией? Если это так, как бы я мог преобразовать эту последовательность выражений в кусочную функцию.

С уважением,

1 Ответ

0 голосов
/ 12 мая 2018
restart:
T := proc (x) options operator, arrow; sqrt(x)/(sqrt(x)+sqrt(1-x))^2 end proc:
V := proc (x) options operator, arrow; solve(x = T(y), y) end proc:
sol := [allvalues(V(x))]:# Extract 4 solution, with command op(1, sol)->Only first solution is correct.

plot([x, T(x), op(1, sol)], x = 0 .. 2, legend = [typeset("Curve: ", "x"), 
typeset("Curve: ", "T(x)"), typeset("Curve: ", "V(x)")]);

enter image description here

VV := proc (x) options operator, arrow; evalf(op(1, sol)) end proc;
eval(VV(x), x = 1/2); #Inverse function at point x=1/2
eval(diff(VV(x), x), x = 1/2);# Derivative of inverse function  at point x=1/2
int(VV(x), x = 1/10 .. 1/2, numeric);# Integral of inverse function at range (1/10..1/2)

Решение Mathematica 11.3:

enter image description here

...