Как записать кусочно заданную функцию

Форум пользователей пакета Mathematica

Модератор: Admin

Rezeda
Сообщения: 5
Зарегистрирован: Вт апр 05, 2011 5:02 pm

Как записать кусочно заданную функцию

Сообщение Rezeda » Вт апр 05, 2011 5:16 pm

Здравствуйте!
Подскажите, пожалуйста, как в Mathematica правильно ввести функцию вида

f(x)=x+1/x, если 0<x<1
f(x)=0, если x=0

То есть записать так, чтобы с ней можно было работать, использовать в дальнейших расчетах.

Пробовала с помощью функции Хевисайда, но при x0=0 не получается f(x0)=0 как хотелось бы.
Спасибо.

Rezeda
Сообщения: 5
Зарегистрирован: Вт апр 05, 2011 5:02 pm

Re: Как записать кусочно заданную функцию

Сообщение Rezeda » Вт апр 05, 2011 5:42 pm

Кажется сама сообразила

Код: Выделить всё

g[x_]:=If[x > 0, x+1/x, 0]

abobroff
Сообщения: 105
Зарегистрирован: Ср янв 19, 2011 4:40 pm
Откуда: карелия

Re: Как записать кусочно заданную функцию

Сообщение abobroff » Вт апр 05, 2011 9:41 pm

вариант

Код: Выделить всё

f[x_] := Piecewise[{{x + 1/x, 0 < x < 1}, {0, x == 0}}, k]

Rezeda
Сообщения: 5
Зарегистрирован: Вт апр 05, 2011 5:02 pm

Re: Как записать кусочно заданную функцию

Сообщение Rezeda » Ср апр 06, 2011 7:47 am

Спасибо!!!
А зачем в конце k? Без него тоже работает)

abobroff
Сообщения: 105
Зарегистрирован: Ср янв 19, 2011 4:40 pm
Откуда: карелия

Re: Как записать кусочно заданную функцию

Сообщение abobroff » Ср апр 06, 2011 8:04 am

Ваше задание:
Rezeda писал(а):f(x)=x+1/x, если 0<x<1
f(x)=0, если x=0
тогда для 0>x && x>=1, какое-то k

Rezeda
Сообщения: 5
Зарегистрирован: Вт апр 05, 2011 5:02 pm

Re: Как записать кусочно заданную функцию

Сообщение Rezeda » Ср апр 06, 2011 9:44 am

Теперь понятно.)

Все оказалось сложнее, чем я думала...
Я решаю численно уравнение в частных производных первого порядка

G(D[F[x,y],x], D[F[x,y],y], F[x,y], x, y)=0

и в качестве второго граниччного условия (по второй переменной) берется функция F[x,3]=f[x], которая и является кусочно заданной функцией.
Вопрос у меня такой, как еще можно записать эту функцию, чтобы можно было использовать при в численном решении.
Сейчас Mathematica "ругается" на неопределенность и переписывает мое выражение.
Раньше я делала сетку значений, экспортировала все это в иксель, добавляла значения ф-ии в нуле и все это импортировала снова в математику, и интерполировала, но это слишком долго и неудобно.

Rezeda
Сообщения: 5
Зарегистрирован: Вт апр 05, 2011 5:02 pm

Re: Как записать кусочно заданную функцию

Сообщение Rezeda » Ср апр 06, 2011 10:58 am

А нет! Все работает, спасибо!!!
:D