2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Задать значения функции в рациональных точках Maple/Mathema
Сообщение11.11.2017, 12:29 
Аватара пользователя


21/09/13
137
Уфа
Доброго времени суток! Подскажите, пожалуйста, как можно задать такую функцию в Mathematica и в Maple
$$
f(x)=\begin{cases}
\frac{m}{n},&\text{если $x$ рациональное;}\\
0,&\text{если $x$ иррациональное;}\\
\end{cases}
$$

 Профиль  
                  
 
 Re: Задать значения функции в рациональных точках Maple/Mathema
Сообщение11.11.2017, 12:40 


21/05/16
4292
Аделаида
А что такое $m$ и $n$?

 Профиль  
                  
 
 Re: Задать значения функции в рациональных точках Maple/Mathema
Сообщение11.11.2017, 14:41 
Аватара пользователя


21/09/13
137
Уфа
$m$ - числитель $n $ - знаменатель. Я в начальном сообщении не стал этого уточнять, думал и так понятно, да и само значение не очень важно. Я не знаю, как написать условие "Если $x$ рациональное".

 Профиль  
                  
 
 Re: Задать значения функции в рациональных точках Maple/Mathema
Сообщение11.11.2017, 14:45 
Заслуженный участник
Аватара пользователя


26/01/14
4845
RikkiTan1 в сообщении #1264302 писал(а):
$m$ - числитель $n $ - знаменатель.
Числитель и знаменатель чего?
Если числа $x$, то почему не написано просто $x$ вместо $m/n$?
Надеюсь, это не функция Римана у Вас? И с какой целью потребовалось вводить её в Maple?

 Профиль  
                  
 
 Re: Задать значения функции в рациональных точках Maple/Mathema
Сообщение11.11.2017, 14:54 


21/05/16
4292
Аделаида
RikkiTan1 в сообщении #1264268 писал(а):
в Mathematica и в Maple

А функция Дирихле там есть? Если есть, пишите x умноженный на эту функцию.

 Профиль  
                  
 
 Re: Задать значения функции в рациональных точках Maple/Mathema
Сообщение11.11.2017, 15:01 


19/05/10

3940
Россия
Так и задать, если тип rational то то, иначе се.
Но тут проблемы, $0.5$ это рациональное число или нет? Мепл считает что нет.

 Профиль  
                  
 
 Re: Задать значения функции в рациональных точках Maple/Mathema
Сообщение11.11.2017, 15:06 
Аватара пользователя


21/09/13
137
Уфа
Числитель и знаменатель числа $x$. Не написал просто $x$, потому что изначально в голове была функция
$$
f(x)=\begin{cases}
\frac{m}{n^3},&\text{если $x$ рациональное;}\\
0,&\text{если $x$ иррациональное;}\\
\end{cases}
$$
и чтобы упростить, убрал в знаменателе куб, а поменять на $x$ не подумал.

 Профиль  
                  
 
 Re: Задать значения функции в рациональных точках Maple/Mathema
Сообщение11.11.2017, 17:06 
Заслуженный участник


25/02/11
1797
Вот некоторый вариант на математике, который будет работать (некоторым образом) и для чисел с плавающей точкой:

f[x_?NumericQ] :=
If[x \[Element] Rationals, Numerator[x]/Denominator[x]^3, 0,
If[x \[Element] Reals, f[Rationalize[x]]]]

 Профиль  
                  
 
 Re: Задать значения функции в рациональных точках Maple/Mathema
Сообщение11.11.2017, 17:11 
Заслуженный участник
Аватара пользователя


26/01/14
4845
RikkiTan1, всё-таки такие функции редко приходится вводить в мат.пакеты, и ещё реже можно доверять получающимся результатам. Поэтому и был вопрос - а для какой цели это нужно? Точно ли нельзя достичь этой цели аналитически на бумаге, или может привести к другой задаче, которую уже проще было бы решать в мат.пакете?

 Профиль  
                  
 
 Re: Задать значения функции в рациональных точках Maple/Mathema
Сообщение11.11.2017, 17:22 


11/07/16
825
Vince Diesel
Не так все просто:
Код:
f[Sqrt[2] + 0.5]
$IterationLimit::itlim: Iteration limit of 4096 exceeded.
Hold[If[1.91421\[Element]\[DoubleStruckCapitalQ],Numerator[1.91421]/Denominator[1.91421]^3,0,If[1.91421\[Element]\[DoubleStruckCapitalR],f[Rationalize[1.91421]]]]]

 Профиль  
                  
 
 Re: Задать значения функции в рациональных точках Maple/Mathema
Сообщение11.11.2017, 17:27 
Заслуженный участник


25/02/11
1797
Тогда так:

f[x_?NumericQ] :=
If[x \[Element] Rationals, Numerator[x]/Denominator[x]^3, 0,
If[x \[Element] Reals, f[RootApproximant[x, 1]]]]

 Профиль  
                  
 
 Re: Задать значения функции в рациональных точках Maple/Mathema
Сообщение11.11.2017, 17:38 


11/07/16
825
Опять не то:
Код:
f[Pi + 0.4]
71056599/8076392678233088411579


-- 11.11.2017, 16:45 --

Мой вариант в Мэйпле:
Код:
f := proc (x) if is(x, rational) then numer(convert(x, rational))*(1/denom(convert(x, rational))) else 0 end if end proc:
f(sqrt(2)+.5);
                               0
f(.6^50);

                         1/123719307602
f(sqrt(2)^sqrt(2));
                               0
f(exp(ln(sqrt(4))));
                               2


Поскольку иррациональность некоторых конкретных действительных чисел не установлена, то полагаю, что требуемую функцию запрограммировать принципиально невозможно.

 Профиль  
                  
 
 Re: Задать значения функции в рациональных точках Maple/Mathema
Сообщение11.11.2017, 17:58 
Заслуженный участник


25/02/11
1797
Markiyan Hirnyk в сообщении #1264391 писал(а):
Опять не то:
Цитата:
f[Pi + 0.4]
71056599/8076392678233088411579


Работает, там поставлен куб знаменателя, как в последнем варианте ТС.

Markiyan Hirnyk в сообщении #1264391 писал(а):
Поскольку иррациональность некоторых конкретных действительных чисел не установлена, то полагаю, что требуемую функцию запрограммировать принципиально невозможно.


И не только принципиально, но и практически - для рациональных чисел, если выражение достаточно сложное, чтобы программа не справилась с определением рациональности.

 Профиль  
                  
 
 Re: Задать значения функции в рациональных точках Maple/Mathema
Сообщение11.11.2017, 18:01 
Аватара пользователя


21/09/13
137
Уфа
Поводом к тому, чтобы в Mathematica задавать такие функции была задача (просто задача из брошюры):
проверить дифференцируемость в нуле и иррациональных точка функции
$$
f(x)=\begin{cases}
\frac{m}{n^3},&\text{если $x=\frac{m}{n}$ несократимое рациональное;}\\
0,&\text{если $x$ иррациональное;}\\
\end{cases}
$$
Решить я её не мог. Поэтому подумал, что задам её в Mathematica, построю график, буду подставлять различные значения, вдруг что-нибудь прояснится. У меня ничего не получилось, в help'e примеров я найти не мог; но все равно полагал, что это должно быть легко, поэтому в названии приписал еще и Maple. Тему предполагал, как просто помощь в синтаксисе.
P.S. Задачу сам не решил. Посмотрел решение.
Vince Diesel
Markiyan Hirnyk
Спасибо!

 Профиль  
                  
 
 Re: Задать значения функции в рациональных точках Maple/Mathema
Сообщение11.11.2017, 18:02 


11/07/16
825
Поскольку $\pi+0.4$ является иррациональным числом, то результат должен быть $0$ .

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 23 ]  На страницу 1, 2  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group