CFA LogoCFA Logo Computer
Новости Статьи Магазин Драйвера Контакты
Новости
RSS канал новостей
В конце марта компания ASRock анонсировала фирменную линейку графических ускорителей Phantom Gaming. ...
Компания Huawei продолжает заниматься расширением фирменной линейки смартфонов Y Series. Очередное ...
Компания Antec в своем очередном пресс-релизе анонсировала поставки фирменной серии блоков питания ...
Компания Thermalright отчиталась о готовности нового высокопроизводительного процессорного кулера ...
Компания Biostar сообщает в официальном пресс-релизе о готовности флагманской материнской платы ...
Самое интересное
Программаторы 25 SPI FLASH Адаптеры Optibay HDD Caddy Драйвера nVidia GeForce Драйвера AMD Radeon HD Игры на DVD Сравнение видеокарт Сравнение процессоров

АРХИВ СТАТЕЙ ЖУРНАЛА «МОЙ КОМПЬЮТЕР» ЗА 2003 ГОД

Электронная алгебра

А. Д. ТЕТЕРКО aleksisto@mail.ru

Еще лет десять назад заголовок этой статьи воспринимался бы как «масляное масло»... За это время прошло несколько поколений, слушающих музыку, смотрящих фильмы и играющих на компьютере в игры. Только забвением изначального смысла слова computer можно объяснить тот факт, что математические группы и форумы Интернета полны вопросов, как сделать школьное домашнее задание.

Если вы можете не программировать — не программируйте.

Фольклор

И это при том, что таких вопрошателей не очень жалуют. Англоязычная sci.math прямо пишет в своих правилах: «Вы можете задавать вопросы о своем домашнем задании (assignment), но:

1. вы должны указать, что это — домашнее задание;

2. вы должны показать, что вы уже сделали;

3. не надейтесь, что остальное доделают за вас, в крайнем случае вам укажут путь к решению.

Человеку, не указавшему, что у него домашнее задание, сразу говорят, что бесплатно на него не работают!

Нравы русскоязычной fido7.ru.math помягче, но ведь надоедает из года в год показывать, как решать школьные задачи вида

7x+3=10 (1)

Причем каждый второй обязательно попросит полное решение уравнения 6x+3=10!

Сам факт доступа к Интернету вроде бы предполагает доступ к компьютеру. Вот тут-то самое время вспомнить, что он является вычислительным устройством и при наличии соответствующего программного обеспечения может решить все школьные задачи.

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

Нам для поставленных целей нужна программа, которой можно было бы пользоваться, не изучая ее. Это должно быть нечто наподобие ручки — берешь, пишешь, рисуешь, совсем не задумываясь над тем, как это все происходит.

Еще несколько подобных требований:

никакого программирования;

привычная запись формул;

получение ответа в символьном виде;

отсутствие необходимости подготовки документа — вы просто считаете, а не готовите статью в журнал;

все формулы независимы, как на листе бумаги, их связи — в вашей власти.

Имея такую программу, вы просто ее запускаете (предполагается, что это вы умеете :-)), вводите уравнение, даете команду «решить» и получаете ответ.

Уравнения

Из систем компьютерной алгебры символьных вычислений указанным требованиям удовлетворяет Derive 5 (http://www.derive.com). Даже ранние версии программы, работая в DOS'е с дискеты, решали все задачи школьного курса математики.

Для начала решим уравнение (1). Вводим

Знак умножения (* — звездочка) можно не писать, Derive понимает! Говорим: Решить (Solve), получаем ответ:

Обозначения вида #1: — это номера строк, которые Derive распределяет сама. Эти номера можно использовать в любых формулах — Derive подставит соответствующую строку на указанное место. Эту особенность можно использовать для решения уравнения вручную (допустим, вам так захотелось):

Вводим

т.е. вычитаем с обеих сторон по 3:

Даем команду Упростить (Simplify):

Делим обе части на 7:

Знак / означает деление и дробную черту — кстати, у меня в школе так и было, а потом нас долго «пересаживали» на черту горизонтальную!

Упрощаем:

Линейные уравнения мы уже можем решать. Для полноты картины перейдем к квадратным. Степень обозначается знаком подъема строки ^, например, x в квадрате — это x^2:

Решаем (Solve):

Если в ответе должны будут появиться комплексные корни, то Derive покажет их, возможно, использовав обозначение #i вместо мнимой единицы. Знаете, что такое мнимая единица — получайте ответ, не знаете — считайте, что решений нет. Пример:

Здесь SQRT(34) — корень квадратный из 34, он может изображаться и иначе.

Лирическое отступление: если система компьютерной алгебры вернула заданную ей строку в качестве ответа, это означает, что она с ней сделать ничего не может, а не то, что ответа нет.

Что там еще делают в школе? Например:

(y-16)/(2y)+(8y-3)/(y^2), (2)

Упростить. Так и вводим:

Упрощаем:

Еще пример. Решить уравнение:

3/(x^2+4x+4)+4/(x^2-4)=1/(x-2) (3)

Получаем:

Знак inf означает положительную бесконечность!? Что ж, такие решения есть (в пределе).

Как это все проверить? Отмечаем уравнение, требуем Подставить (Substitute), тогда Derive спрашивает переменную и ее значение, а затем показывает подстановку без упрощения. Как всегда, команда Упростить (Simplify) выполняет упрощение.

Кратко опишем решение уравнения (3) вручную, как учили в школе:

вычесть 1/(x-2): #1-1/(x-2)

упростить, получим нечто вроде #6: (1-x)/(x+2)^2=0;

Дальше все и так понятно.

Системы уравнений

Отложим неравенства и рисование графиков, а пока перейдем к системам уравнений. Итак, система уравнений:

{x+y =2

< (4)

{9x+y=6

Вы можете ее ввести вручную, например так:

Решаем (Solve):

Просто и ясно... Упомяну еще систему с параметром; усложним систему (4):

{ax+y =2

< (5)

{9x+ay=6

И этот ответ верен, если только a =/= –3. Когда же a= –3, мы видим, подставив это значение в систему (Derive помогла), что решения нет. Но вот что интересно: подставим в систему a=3 и попробуем решить:

Derive говорит, что x и у могут быть любыми! Неудивительно, ведь два уравнения системы по существу тождественны — они описывают одну и ту же прямую.

Остались системы нелинейных уравнений. Здесь решение — больше искусство, чем наука. Но новые версии Derive могут решать такие уравнения и системы! Старые — сами не могут, но если вы им поможете... Опять пример:

{3xy-y^2=20

< (6)

{2x+y =10

Новый Derive решает его, не задумываясь:

Здесь ^ означает «и» (AND), т.е. найдены два решения: (3,4) и (4,2). Старый Derive решений не находит, но мы можем ему помочь:

потребуем найти x из второго уравнения системы (6);

подставим это значение x в первое уравнение:

решим его:

подставим каждое из полученных значений в #2 и найдем соответствующие значения x.

В последнем примере старый Derive выступал скорее как калькулятор, выполняющий рутинную работу и не допускающий ошибок.

Разложение на множители

Еще встречаются задачи о разложении на множители, но это уже совсем просто:

Итак, Разложить (Factor) — когда Derive спрашивает, на какие множители, то отвечайте, что на рациональные (Rational).

Если же вы хотите разложить на множители целое число, то так и пишите:

Опять требуйте разложить (Factor).

Прогрессии

Чтобы совсем распрощаться с темой решения уравнений, пробуем решить более сложную задачу.

Определить геометрическую прогрессию f(n), если f(2)–f(5)= 78, f(3)+f(4)+f(5)= –117.

Для начала скажем Derive, что f(n) — геометрическая прогрессия:

Значок := означает равенство по определению. Теперь у нас есть система:

Упростим ее.

Тупо делим второе уравнение на первое — старый Derive не решает такое сам! Новый же сразу дает решение:

Но мы добиваем старый, делая:

где sub — это нижний индекс, он же номер уравнения в записи строки #3. У нас на экране:

Решаем это уравнение:

Опять делаем подстановку сразу в систему (#3) и находим (Solve) a:

Графики

Добив старый Derive, переходим к неравенствам и рисованию графиков, которые тесно связаны и будут рассматриваться вместе.

Вот что гарантированно может рисовать Derive на плоскости xOy:

функции f(x);

уравнения вида y=f(x);

(оба эти выражения означают одно и то же — рисуется график функции)

уравнения вида f(x)=g(x), при этом рисуются вертикальные прямые в корнях этого уравнения;

уравнения вида f(y)=g(y), аналогично предыдущему, только прямые горизонтальны;

общие уравнения вида f(x,y)=g(x,y), которые Derive пытается сначала решить, а затем построить график решения.

Например, можно построить график решения уравнения

x^2+y^2=3sin(xy) (7)

Расскажу, как получить вид этого графика в окрестности нуля. Будем использовать дифференциальное исчисление (Calculus) и разложим синус в ряд Тейлора в окрестности нуля, взяв только два члена:

Упростив, получим:

Решив его по x (можно и по y, разницы никакой), получим два решения:

Получается, что в окрестности нуля наш график распадается на две прямые — это легко видеть на картинке, построенной Derive.

Неравенства

Остались одни неравенства. Пробуем.

Рекомендуется сначала нарисовать левую часть, а то и ее числитель. Новый Derive рисует и неравенства целиком. Решаем (Solve), получаем нечто удивительное:

Derive пытался исключить точку x=1, но так и не исключает — почему? Да просто в этой точке –inf<=0, он ее и оставил! В школе бы потребовали написать:

[ 1< x<=4

[ (10)

[-2<=x<1,

это не система, а «совокупность». Но Derive (новый тоже!) считает, что x=1 — верное решение.

Системы неравенств

Решения систем неравенств в старом и новом Derive отличаются. В старом лучше задавать системы, соединяя их связками «и» (AND) и «или» (OR). Ответ при этом получается иногда в странном виде, но Derive считает, что такой вид самый простой — он в чем-то прав!

В новом Derive'е вид приближен к школьному.

Пример:

–3< (3-4x)/5 <=1 (11)

В старом Derive придется задать так:

Решение получается простое:

На этом можно и завершить статью. Главное, было показано, что человек, имеющий компьютер, не остается один на один со школьными задачами.

Рекомендуем ещё прочитать:






Данную страницу никто не комментировал. Вы можете стать первым.

Ваше имя:
Ваша почта:

RSS
Комментарий:
Введите символы или вычислите пример: *
captcha
Обновить





Хостинг на серверах в Украине, США и Германии. © sector.biz.ua 2006-2015 design by Vadim Popov