Университет города Переславля Дистанционный курс "Математические вычисления в системе MuPAD" С.В.Дужин, duzhin@u-aizu.ac.jp Урок 3. Графики функций 23.04.96 Сегодня я расскажу вам, как рисовать графики функций при помощи MuPAD'а и задам несколько задач, относящихся к этой теме. Надо сказать, что я сам только вчера научился строить графики в MuPAD'е, и я не уверен, что делаю это наилучшим образом. Если кто-нибудь найдет какие-то более простые команды, то научите и меня. К началу работы над этим уроком я располагал следующими знаниями: 1. Основное английское слово, обозначающее график -- plot. 2. В системах Maple и Mathematica команда построения графика включает слово plot. Начав с вопроса >> ?plot; я постепенно выяснил, что MuPAD-команда, необходимая для построения графика функции одной переменной y=f(x), - это plot2d, т.е. plot двумерный. Я, конечно, не стал читать полностью объяснение этой команды, которое появилось в окошке. Кто же читает длинные и скучные учебники без особой нужды? Я вместо этого подумал: какие данные нужны, чтобы построить график? Ясно: формулу, задающую функцию, и отрезок, на котором строится график. И я попробовал так: >> plot2d(x^2,x=-1..1); -- не вышло. Потом так: >> plot2d(x^2,x=[-1,1]); -- опять не получилось. Тогда я все-таки прочел (частично) документацию и выяснил, что в MuPAD'е команда построения графика в минимальном виде выглядит примерно так (пример для функции y=x^2 на отрезке [-1,1]): >> plot2d([Mode=Curve,[x,x^2],x=[-1,1]]); Попробуйте! Если вы правильно введете эту команду, появится два дополнительных окна: в одном будет график, а в другом система управления этим графиком, напоминающая приборную панель в рубке самолета. В отличие от самолета, на все кнопки можно нажимать, меняя параметры и наблюдая, что при этим происходит с графиком. Если вы хотите, чтобы сделанные изменения возымели действие, нажмите мышкой кнопку Plot в верхнем правом углу панели управления. Первая полезная вещь, которую я рекомендую сделать, это увеличить число узлов, понажимав стрелку "вверх" рядом со словом Grid. Того же эффекта можно добиться сразу, задавая команде plot2d дополнительный параметр: >> plot2d([Mode=Curve,[x,y],x=[-1,1], Grid=[40]]); Поупражнявшись с передним щитком самолета, вы с интересом сможете читать теперь help по команде plot2d и находить в нем новые интересные параметры. Попробуйте ввести другие функции. Это можно делать прямо из кресла пилота (найдите, где и как), а можно вот как. Допустим, вам надо построить график функции y=f(x) на отрезке [a,b]. Вы пишете: >> y:= ... ; >> a:= ... ; >> b:= ... ; где вместо точек подставляете то, что вам надо, а потом исполняете универсальную команду: >> plot2d([Mode=Curve,[x,y],x=[a,b], Grid=[40]]); Задание 3-2. Изложите письменно свои наблюдения, сделанные ~~~~~~~~~~~ во время всех этих упражнений. Потренировавшись немного, давайте теперь посмотрим на некоторые примеры, интересные с точки зрения математики. Задание 3-3. Придумайте какую-нибудь функцию, график которой ~~~~~~~~~~~ пересекает ось x в точках 0, 1, 2, 3, 4. Задание 3-4. Посмотрите на графики функций 2*x^2 - 1, 4*x^3 - 3*x, ~~~~~~~~~~~ 8*x^4 - 8*x^2 + 1. Они обладают таким замечательным свойством: график целиком лежит в полосе -1>plot2d([Mode=Curve, [2*cos(t)+cos(5*t),2*sin(t)+sin(5*t)],t=[0,2*PI]]); Если вы выполните эту команду, вы увидите на экране цветок с 4 округлыми лепестками. Чтобы лепестки были действительно круглыми, вам придется добавить в скобках подходящее значение параметра Grid. Задание 3-6. Объясните, почему число 5 в предыдущей формуле дает ~~~~~~~~~~~ цветок не с 5, а с 4 лепестками. Придумайте и пришлите мне MuPAD-формулу для цветка с 5 лепестками. Ну и, наконец, я вам скажу, как обращаться с трехмерной графикой. Основная команда: plot3d. В минимальном виде она должна содержать указание Mode=Surface, если вы строите поверхность, или Mode=Curve, если вы строите пространственную кривую; затем уравнения для x,y,z через u,v в квадратных скобках и, наконец, диапазон изменения параметров u и v. Например, чтобы построить сферу, можно взять ее уравнения в сферических координатах (u = географическая широта, v = долгота): x = cos(u)*cos(v), y = cos(u)*sin(v), z = sin(u). и составить такую команду: >> plot3d([Mode=Surface,[cos(u)*cos(v),cos(u)*sin(v),sin(u)],u=[-PI,PI],v=[0,2*PI]]); Разные прочие параметры можно сюда добавлять по вкусу. Например, можно увеличить разрешение, чтобы сфера была более круглая: >> plot3d([Mode=Surface,[cos(u)*cos(v),cos(u)*sin(v),sin(u)],u=[-PI,PI],v=[0,2*PI],Grid=[50,50]]); Или можно сделать так, чтобы поверхность смотрелась как сплошная, а не как сделанная из проволоки. Если вы спросите help на plot3d, вы увидите много интересных примеров, с разными параметрами. Попробуйте их ввести и посмотреть. Помните, что внутри команды plot3d обязательно должно быть то, что я перечислил выше, а остальное можно варьировать. Задание 3-7. Подберите параметры так, чтобы сфера смотрелась ~~~~~~~~~~~ как можно лучше. Задание 3-8. Нарисуйте какую-нибудь поверхность второго порядка ~~~~~~~~~~~ из тех, что мы проходили на 1-м курсе. Например, конус, седло или однополостный гиперболоид. Задание 3-9. Придумайте и пришлите мне какую-нибудь красивую поверхность ~~~~~~~~~~~ на собственный вкус. Можете составить ее из нескольких разных формул, как это сделано в некоторых примерах, имеющихся в Help'е. Можете также увить вашу поверхность какими-нибудь изящными кривыми. Примечание: задания пронумерованы, начиная с номера 2, так как первая задача 3-го задания была в моем предыдущем письме. Срок отправки решений: 3 мая (по Internet-штемпелю). Во всех ответах необходимо приводить точные команды на языке MuPAD и пояснения к ним.