русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Лабораторная работа №1


Дата добавления: 2015-06-12; просмотров: 1583; Нарушение авторских прав


 

Изучение возможностей системы MatLab в режиме калькулятора.

 

Цель работы: Изучение ввода данных различных типов, выполнения вычислений в диалоговом режиме и отображения результатов.

 

1. Работа в среде MatLab в режиме калькулятора.

 

Работа в среде MatLab может осуществляться в двух режимах:

 

· В режиме калькулятора, когда вычисления производятся непосредственно после ввода очередного оператора или команды MatLab; при этом значения результатов вычисления могут присваиваться некоторым переменным, либо результаты получаются непосредственно, без присваивания (как в обычных калькуляторах).

· Путем вызова программы, составленной на языке MatLab и записанной на диске. Программа содержит все необходимые команды, обеспечивающие вод данных, организацию вычислений и вывод результатов на экран (программный режим).

 

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

После запуска системы MatLab на экране появляется основное окно, состоящее из следующих окон: Current Directory/Workspace, Command History и Command Window.

 

 

Окно Current Directory/Workspace показывает заголовки файлов, которые находятся в текущем каталоге MatLab (вкладка Current Directory), или таблицу всех переменных, объявленных в текущем сеансе работы (вкладка Workspace). В таблице находятся описания всех переменных. Содержание таблицы можно редактировать: изменять идентификатор, размер, текущее значение. В окне Command History система MatLab хранит все команды сеанса, которые сохраняются после выхода из системы. Окно Command Window служит для выполнения вычислений в диалоговом режиме. В каждый момент времени активным может быть только одно из трех окон. Для активизации нужного окна необходимо «щелкнуть» по нему правой кнопкой «мыши». Над содержимым активного окна можно выполнять стандартные действия (очистить содержимое, вставить строку, найти нужную строку и т. п.). Если дважды «щелкнуть» правой кнопкой «мыши» по выбранной строке в окне Command History, то эта строка скопируется в окно Command Window.



Окно Command Window является основным в MatLab. В нем отображаются команды, которые набираются пользователем на клавиатуре, результаты выполнения этих команд, тексты исполняемых программ, а также информация об ошибках в выполнении команд и программ, распознанных системой.

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

Работа с системой в режиме прямых вычислений носит диалоговый характер и происходит по правилу «задал вопрос, получил ответ». Пользователь набирает на клавиатуре вычисляемое выражение, редактирует его (если нужно) в командной строке и завершает ввод нажатием клавиши ENTER. Таким образом, для выполнения простейших действий в системе MATLAB достаточно усвоить следующие правила:

  • для указания ввода исходных данных используется символ »;
  • данные вводятся с помощью простейшего строчного редактора;
  • для блокировки вывода результата вычислений некоторого выражения после него надо установить знак; (точка с запятой);
  • если не указана переменная для значения результата вычислений, то MATLAB назначает такую переменную с именем ans;
  • знаком присваивания является привычный математикам знак равенства =, а не комбинированный знак :=, как во многих других языках программирования и математических системах;
  • результат вычислений выводится в строках вывода (без знака »);
  • встроенные функции (например, sin) записываются строчными буквами, и их аргументы указываются в круглых скобках;
  • диалог происходит в стиле «задал вопрос — получил ответ».

Ниже приводятся примеры ввода чисел в командную строку и выполнения арифметических действий над ними.

 

>> 33+66

ans =

>> 4.5^2*7.23-pi*10.4

ans =

113.7349

>>

 

Результат действия последнего выполненного оператора выводится как значение системной переменной ans.

Особенностью системы MATLAB как калькулятора является возможность использования символических имен переменных для записи в память результатов промежуточных вычислений, а также окончательного результата. Символические имена переменных подчиняются общеизвестным правилам, используемым в различных языках программирования. Ниже приводятся примеры объявления переменных, присваивания им различных значений и выполнения вычислений. Правила записи арифметических выражений не отличаются от общепринятых (приоритет операций, скобки и т. п.).

 

>> Velocity = 10;

>> Time = 5;

>> accelration = 0.5;

>> distance = Velocity*Time+(accelration*Time^2)/2

distance =

56.2500

>> Velocity = 5;

>> distance = Velocity*Time+(accelration*Time^2)/2

distance =

31.2500

>>

 

В системе MATLAB возможно выполнение вычислений над комплексными числами. Комплексные числа вводятся в привычном для математики виде:

 

>> (3+4i) - (5-j)

ans =

-2.0000 + 5.0000i

>> z1 = 2+i;

>> z2 = 3-j;

>> z3 = z1*z2

z3 =

7.0000 + 1.0000i

>> z3 = z3 / z2

z3 =

2.0000 + 1.0000i

>>

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

 

<Имя результата > = < Имя функции > (<Список имен аргументов или их значений>)

Ниже приводятся примеры работы с элементарными функциями:

 

>> y = sin(pi/4)

y =

0.7071

>> arg = pi/6;

>> y = (sin(arg))^2 + (cos(arg))^2

y =

>>

 

Система MATLAB специально предназначена для работы с векторами и матрицами. Под вектором в MATLAB понимается одномерный массив чисел, а под матрицей – двумерный массив. При этом по умолчанию предполагается, что любая заданная переменная является вектором или матрицей. Например, простую переменную, или число, программа воспринимает как матрицу размером [1×1], а вектор – строку с N элементами – как матрицу размером [1× N].

Сказанное иллюстрируется содержимым рабочей области, которое показано ниже.

 

Исходные значения векторов можно задавать с клавиатуры путем поэлементного ввода. Для этого в строке следует указать имя вектора, затем – оператор присваивания, далее – открывающую квадратную скобку, а за ней ввести требуемые значения элементов вектора, отделяя их пробелами или запятыми. Завершается строка закрывающей квадратной скобкой.

 

>> V1 = [1 2 3 4];

>> V2 = [5 6 7 8];

>> V3 = [V1 V2]

V3 =

1 2 3 4 5 6 7 8

 

В данном примере вектор V3 представляет собой результат конкатенации векторов V1 и V2.

 

Следующие примеры поясняют сказанное на примере операций с векторами:

 

» Vl=[2 4 6 8]

V1=
2 4 6 8

» V2=[l 2 3 4]

V2=
1 2 3 4

» V1*V2 (1)

ans=
2
» V1.*V2 (2)

ans=
2 8 18 32

» V1./V2 (3)

ans=
2 2 2 2

Следует отметить, что в строке (1) перемножаются не вектора, а первые их элементы. Для выполнения операций над элементами векторов первый операнд дополняется символом точка, как в строках (2) и (3).

Рассмотренным выше способом осуществляется ввод вектора – строки. Ввод вектора – столбца производится аналогично, но значения элементов отделяются друг от друга точкой с запятой:

 

>> V = [3;5;7;9]

V =

>>

Ввод значений элементов матрицы производится в квадратных скобках «по строкам». При этом элементы строки матрицы отделяются друг от друга пробелом или запятой, а строки отделяются друг от друга точкой с запятой:

 

>> M = [1,2;3,5;6,-2]

M =

1 2

3 5

6 -2

>>

Очень часто необходимо произвести формирование упорядоченных числовых последовательностей. Такие последовательности нужны для создания векторов или значений абсциссы при построении графиков. Для этого в MATLAB используется оператор двоеточие:
Начальное_значение:Шаг:Конечное_значение
Данная конструкция порождает возрастающую последовательность чисел, которая начинается с начального значения, идет с заданным шагом и завершается конечным значением. Если Шаг не задан, то он принимает значение 1. Если конечное значение указано меньшим, чем начальное значение, — выдается сообщение об ошибке. Примеры применения оператора двоеточие даны ниже:

 

>> 1:5

ans =

1 2 3 4 5

 

>> j = 10:-2:2

j =

10 8 6 4 2

>>

 

 

>> V = 0:pi/4:2*pi

V =

Columns 1 through 7

0 0.7854 1.5708 2.3562 3.1416 3.9270 4.7124

Columns 8 through 9

5.4978 6.2832

 

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

· При сложении или вычитании матриц они должны иметь одинаковые размеры;

· При умножении матриц число столбцов первого множителя должно совпадать с числом строк второго множителя.

Невыполнение этих условий приведет к появлению сообщения об ошибке в командном окне. Для транспонирования матрицы применяется оператор апостроф, как это показано на примере.

 

>>M =

1 2

3 5

6 -2

>> M'

ans =

1 3 6

2 5 -2

 

Для обращения квадратной матрицы нужно использовать функцию inv:

 

>> C = [-40,115;-94,299]

C =

-40 115

-94 299

>> inv (C)

ans =

-0.2600 0.1000

-0.0817 0.0348

>> inv (ans)

ans =

-40.0000 115.0000

-94.0000 299.0000

 

Рассмотренные примеры показывают, что в диалоговом режиме результаты вычислений выводятся автоматически. Это эквивалентно выполнению оператора disp, параметром которого является переменная, или текстовая константа.

>> disp ('Первый вектор');

Первый вектор

>> disp (V);

2 4 6 8 10

Для вывода информации в графическом виде используется функция plot:

>> V = [0:pi/4:2*pi];

>> F = sin(V);

>> plot (F)

 

 

В приведенном примере вычисляются значения синусов элементов вектора V, которые помещаются в вектор F, а затем выводятся в виде графика в отдельном окне. По желанию график может быть сохранен в файле с расширением .fig, а также повергнут редактированию.

 

2. Порядок выполнения лабораторной работы.

2.1. Изучить правила работы с системой MATLAB в командном режиме.

2.2. Выполнить в системе MATLAB задания, сделанные в ручном режиме. Сравнить полученные результаты.

2.3. По заданию преподавателя разработать алгоритм решения задачи и реализовать его в системе MATLAB.

3. Содержание отчета.

Отчет о выполненной работе должен содержать последовательность выполненных действий с краткими комментариями.



<== предыдущая лекция | следующая лекция ==>
Решение задачи 2 с использованием пакета Scilab-5.3.3 | Лабораторная работа №2


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.121 сек.