
1.5. Установка путей
В предыдущем пункте мы сохранили свои файлы в каталоге works, который специально создается для этой цели при инсталляции MATLAB’а. На первых порах можно так и поступать. Однако по прошествии совсем небольшого времени вы обнаружите, что этот каталог окажется переполненным множеством М-файлов самого различного назначения. Поэтому желательно все-таки свои М-файлы хранить в своих собственных каталогах. Причем для каждой новой задачи лучше всего создавать собственный подкаталог. Например, создав в папке D:\Student свою папку D:\Student\Ivanov, вы можете затем создать в ней отдельные подкаталоги для курсовой работы по теории оболочек D:\Student\Ivanov\Shells, для курсовой работы по аэродинамике D:\Student\Ivanov\Aerodyn, для подсчета своих доходов и расходов D:\Student\Ivanov\Financial и т.д. Для создания этих каталогов вы можете использовать Проводник, Norton Commander, Windows Commander или любую другую программу для обслуживания файлов, с которой вы знакомы. С этим у вас не должно возникнуть трудностей.
Однако необходимо разобраться в следующем вопросе: откуда MATLAB узнает, встретив в командной строке, например, слово triangle, что он должен искать М-файл под названием triangle.m именно в вашем каталоге D:\Student\Ivanov? Оказывается без подсказки MATLAB об этом не догадается. И если вы попытаетесь все-таки запустить свой М-файл, находящийся в этой папке, то
>> triangle
??? Undefined function or variable 'triangle'.
MATLAB сообщит, что не нашел ни функции, ни переменной с таким именем.
Для того, чтобы дать указание MATLAB’у заглянуть в вашу личную папку выполните команду File – Set Path. На экране появится диалоговый бокс Set Path (установить путь).
В окошке MATLAB search path (путь поиска MATLAB’а) приведен длинный список папок, в которые MATLAB заглядывает при поиске М-файлов. Тот список, который вы видите на рисунке, создается при инсталляции MATLAB’а и содержит папки с различными встроенными функциями. С некоторыми из этих функций (sin, plot, linspace,…) вы уже знакомы.
К этому списку путей поиска вы имеете право добавить свою папку.
Д
ля
этого надо нажать кнопку Add
Folder…
(добавить папку), в стандартном боксе
«Обзор папок»
найти свою папку и нажать кнопку ОК.
П
осле
этого в списке MATLAB
search
path
вы уведите
на первом месте свою папку. Остается
нажать кнопки Save
(сохранить список) и Close
(закрыть окно). Теперь вы имеете право
указать в командной строке имя любого
файла, находящегося в вашей папке.
Упражнение. Создайте личную папку (если у вас ее еще нет). Перенесите в нее два своих файла (triangle.m и файл с решением квадратного уравнения), которые до этого находились в папке MATLAB\work. С помощью команды File – Set Path добавьте свою папку в список папок, просматриваемых MATLAB’ом. Убедитесь, что ваши файлы успешно выполняются из командной строки.
1.6. Простейший диалог
Учебная программа triangle имеет серьезный недостаток. Во-первых, вы должны не забыть присвоить переменным a и b значения длин катетов, во-вторых, в результате выполнения программы вы увидите следующее.
>> triangle
c =
5
sn =
0.6000
cs =
0.8000
tg =
0.7500
Конечно, сейчас вы хорошо помните, что для гипотенузы вы приняли обозначение c, для синуса sn и т.д. Однако, если вам эта программа понадобится через месяц-другой, то вспомнить, что значат эти обозначения будет нелегко.
Для того, чтобы устранить эти недостатки можно использовать функции MATLAB’а disp и input.
Функция disp предназначена для вывода в командное окно сообщения. Так команда
>> disp(‘Привет!’)
выведет в командное окно слово «Привет!».
Функция input обладает несколько большими возможностями. Она позволяет вывести в командное окно сообщение и присвоить переменной значение. Например, команда
>> x = input(‘Value of X = ‘)
выведет в командное окно текст «Value of X =», дождется, пока вы введете с клавиатуры число, и присвоит набранное число переменной x.
С помощью двух этих простых команд вы можете сделать программу triangle «говорящей». Она сама будет сообщать, для чего она предназначена, какие исходные данные ей нужны и что значат полученные результаты. Вот пример того, как можно усовершенствовать эту программу.
% Расчет треугольника (11 марта 2004)
disp('Определение гипотенузы прямоугольного треугольника')
disp(' и тригонометрических функций одного из его углов')
a = input('Длина первого катета = ');
b = input('Длина второго катета = ');
c = sqrt(a^2+b^2);
sn = b/c;
cs = a/c;
tg = sn/cs;
disp(strcat('Гипотенуза = ',num2str(c)))
disp(strcat('синус = ',num2str(sn)))
disp(strcat('косинус = ',num2str(cs)))
disp(strcat('тангенс = ',num2str(tg)))
В этом примере, кстати, использованы еще две новые функции:
strcat – сливает две строки символов в одну;
num2str – преобразует число в строку символов.
Упражнение. Разобрав предыдущий пример, сделайте диалоговой вашу программу решения квадратного уравнения.