Автор работы: Пользователь скрыл имя, 03 Апреля 2014 в 04:24, реферат
MATLAB предназначен прежде всего для программирования численных алгоритмов. Он разрабатывается уже более 15 лет и возник на основе более ранних прикладных пакетов LINPACK и EIGPACK, созданных в 1970-е гг. в США, и в свою очередь повлиял на появление таких систем, как MathCad, MAPLE и Mathematica. Совершенствование системы MATLAB происходило как в связи с достижениями в вычислительной математике, так и в связи с изменениями в архитектуре персональных компьютеров и развитием общесистемных средств. Со временем MATLAB был дополнен целым рядом уже упоминавшихся приложений (toolboxes), далеко раздвинувших границы его применимости. Далее речь пойдет лишь о ядре MATLAB'а, которое мы будем называть системой, и конкретно о ее версии 5.2, выпущенной фирмой MathWorks в январе 1998 г.
2. Разместить
компоненты для ввода
3. Вывести значения кусочной функции f(x) на заданном интервале [a,b] с шагом h в Command Window.
Создаем папку с Вашими ФИО и номером группы. В Command Window прописываем команду guide и сохраняем файл в созданную папку. Более подробнее о создании интерфейса Вы можете прочитать в Задании №1.
После того, как появляется окно редактора GUI Layout Editor добавляем необходимые нам компоненты.
По заданию необходимо добавить компоненты Edit Text для ввода значений параметров a, b, c, n. Удобнее разместить эти компоненты в Panel . После добавляем кнопку Push Button и область для построения графиков axes .
Результат после добавления всех компонентов на интерфейс можно увидеть на рисунке:
После редактирования интерфейса в меню Inspector внешний вид интерфейса стал следующим:
Код программы записываем под function PushButton.
Для того, чтобы вывести значения из Edit Text воспользуемся командой get и преобразуем формат значений через команду sscanf:
a = get(handles.edit1, 'string');
a = sscanf(a1,'%f')
b = get(handles.edit2, 'string');
b = sscanf(b1,'%f')
c = get(handles.edit3, 'string');
c = sscanf(c1,'%f')
n = get(handles.edit4, 'string');
n = sscanf(n1,'%f')
Следующим действием посчитаем шаг табуляции h. Формула для расчета h
Преобразуем формулу h для среды MATLAB и выведем значение в Static Text:
h = (b-a)/(n-1)
set(handles.text6,'string',h)
Для того, чтобы построить график F(x) нужно:
1) задать диапазон значений x с шагом табуляции
h.
2) написать формулу функции на языке MATLAB.
3) написать команду для
4) оформить график на интерфейсе (построение сетки и изменение цвета графика).
1) По заданию х находится в интервале
[a,b]. В MATLAB диапазон записывается следующим
образом:
x = a:h:b
где a - начало отрезка, b - конец
отрезка, h - шаг табуляции.
так как у нас кусочная функция, то x будет находится в двух интервалах.
x1 = a:h:c
x2 = c:h:b
2)
Формула для F1:
y1 = -(x1+3).^2/2+5
Формула для F2:
y2 = exp(x2/3)-5
3) Для построения графика можно воспользоваться командой plot(variable(x),variable(y))
Так как у нас кусочная функция, то вид команды будет иметь вид:
plot(x1,y1, x2,y2)
После ввода кода в компоненте axes строится графики y1(x1) и y2(x2):
4)
Построение сетки можно осуществить с
помощью команды grid on.
Для изменения цвета графиков нужно после
параметров, которые задают этот график,
в '' написать символ, который отвечает
за параметр Color.
Например:
Для того, чтобы сделать заголовок над компонентом axes, нужно написать команду title('заголовок')
Так выглядит интерфейс после написания кода в файл, интерфейс будет выглядеть так:
1) Для построения более точного графика, нужно увеличить количество узлов n. Соответственно, шаг табуляции h уменьшается и разность между соседними точками уменьшается, тем самым график строится более точно. Пример:
2) Построение графиков
можно производить в Command Window без
интерфейса, что намного упрощает работу.
Например, x находится в интервале [-pi;pi],
функция y=sin(x);
Для построения графика, как уже было описано
выше нужно задать интервал переменной
x, написать функцию на языке MATLAB и записать
команду plot(x,y).
При нажатии Enter в новом окне figure строится
график
3) Если поставить после формулы/значения параметра ; то значение этого параметра не будет выводится в Command Window, но все равно сохраняется в окне Workspace