В вопросе N 4393 обсуждался ,как можно одной формулой задать функцию определенной на отрезке , чтобы с помощью компьютерной программы построить график . Вот мне стало интересно, а как можно построить с помощью компьютерной программы график кусочно-заданной функции,(предпологается, что невозможно на одном рисунке показывать графики нескольких функций). Например функцию вида ,

$%y=\begin{cases} f(x),при x<a \\ g(x),при a\le x\le b \\ h(x),при x>b \end{cases}$%

я задала приведенной ниже длинной формулой. Вопрос в том, что нельзя ли улучшить эту формулу в смысле , чтобы была более короткой и при возможности чтобы сохранилась определенность функции в точках $%a$% и $%b.$%
alt text

задан 21 Июн '13 15:24

изменен 21 Июн '13 15:48

10|600 символов нужно символов осталось
1

С помощью компьютерной программы все строится (находится) в данном случае очень просто. Для этого нужно использовать команду ветвления. Что касается приведенной формулы, то в ней используется модуль, реализация которого в языках программирования осуществляется с использованием команды ветвления (встроенная функция). В распространенных программах построения графиков это можно сделать следующим образом:

1) Выполнить команду "Добавить график".

2) Указать диапазон изменения независимой переменной для соответствующей функции.

В Maple можно попробовать следующее:

alt text

ссылка

отвечен 21 Июн '13 18:43

изменен 21 Июн '13 20:33

У меня возникала несколько раз трудность при построении графиков такого типа в Maple. Было бы полезно узнать, как её можно обойти. Скажем, если я пишу процедуру-функцию, где в программе для неё используется условный оператор, а потом пытаюсь к ней применить команду plot, то при этом ничего не происходит. Скорее всего, там есть какие-то стандартные обходные пути, но я не знаю, как это полагается делать правильно. Было бы полезно узнать.

(21 Июн '13 18:48) falcao

Может быть я не правильно формулировала мой вопрос . Мне не интересует как составить программу.А как можно задать функцию одной формулой, чтобы уже существующая программа , скажем wolframalpha или Goegebra правильно построила график.

(21 Июн '13 22:49) ASailyan
10|600 символов нужно символов осталось
1

Если честно, то график можно построить и по первой указанной вами формуле благодаря условному ветвлению. Т. е. в программе будет примерно так (я напишу на C++):

<code>int i = Left; while (i < Right) { if (i < a) Draw(f,i); else if (i < b) Draw(g,i); else Draw(h,i); i++; }</code>

Здесь предполагается, что мы строим график на отрезке $%[Left,Right]$%.

Можно записать ещё короче: <code>i < a ? Draw(f,i) : i < b ? Draw(g,i) : Draw(h,i)</code>

ссылка

отвечен 21 Июн '13 18:45

Может быть я не правильно формулировала мой вопрос . Мне не интересует как составить программу.А как можно задать функцию одной формулой, чтобы уже существующая программа , скажем wolframalpha или Goegebra правильно построила график.

(21 Июн '13 22:49) ASailyan
10|600 символов нужно символов осталось
1

Для Geogebra вкратце выглядит так: y=if(x<b,if(x<a,f(x),g(x)),h(x))

ссылка

отвечен 30 Май '15 0:15

изменен 30 Май '15 0:19

10|600 символов нужно символов осталось
Ваш ответ

Если вы не нашли ответ, задайте вопрос.

Здравствуйте

Математика - это совместно редактируемый форум вопросов и ответов для начинающих и опытных математиков, с особенным акцентом на компьютерные науки.

Присоединяйтесь!

отмечен:

×152

задан
21 Июн '13 15:24

показан
4495 раз

обновлен
30 Май '15 0:19

Отслеживать вопрос

по почте:

Зарегистрировавшись, вы сможете подписаться на любые обновления

по RSS:

Ответы

Ответы и Комментарии

Дизайн сайта/логотип © «Сеть Знаний». Контент распространяется под лицензией cc by-sa 3.0 с обязательным указанием авторства.
Рейтинг@Mail.ru