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, Супермодераторы



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

Сейчас этот форум просматривают: DariaRychenkova


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

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