русс | укр

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

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

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

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


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

Характеристика системы MATLAB


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


Литература

ArrayList - класс

Следующий код не приведет к ошибке

Следующий код приведет к ошибке

Array – класс

Использование библиотеки классов .NET Framework (Visual C#).

Раздел 2. Часть 2.

Предоставляет методы для создания, изменения, поиска и сортировки массивов, то есть выступает в роли базового класса для всех массивов в среде CLR. Явно наследовать класс Array может только система и компиляторы. Пространство имен: System.

public abstract class ArrayMember of System

Модификатор abstractможет использоваться с классами, методами, свойствами, индексаторами и событиями. Модификатор abstract в объявлении класса указывает, что класс предназначен только для использования в качестве базового класса для других классов. Создавать экземпляры абстрактного класса нельзя. Конструктора нет. Создавать переменные типа Array можно.Метод CreateInstance, используется вместо открытых конструкторов. Пример

static void Main(string[] args)

{

Array myArr = Array.CreateInstance(typeof(Int32), 3);

foreach (int i in myArr)

{

Console.Write("\t{0}", i);

}

Console.WriteLine();

myArr.SetValue(1, 1);

foreach (int i in myArr)

{

Console.Write("\t{0}", i);

}

}

Array myArr = Array.CreateInstance(typeof(Int32), 3);

myArr[1] = 8;

foreach (int i in myArr)

{

Console.Write("\t{0}", i);

}

Ошибка 1 Невозможно применить индексирование через [] к выражению типа "System.Array"

 

int[] myArr = new int[3] { 11, 12, 13 };

myArr[1]=99;

foreach (int i in myArr)

{

Console.Write("\t{0}", i);

}

Console.WriteLine();

Массивы являются ссылочными типами, производными от абстрактного базового типа Array.



static void Main(string[] args)

{

int[] myArr = new int[3] {11,12,13 };

myArr.SetValue(88, 1);

foreach (int i in myArr)

{

Console.Write("\t{0}", i);

}

Console.WriteLine();

}

В C# во всех массивах можно использовать итерацию foreach.

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

Интерфейс IList представляет неуниверсальную коллекцию объектов с индивидуальным доступом, осуществляемым при помощи индекса.

Пространство имен: System.Collections Список IList с переменным размером позволяет выполнять добавление, удаление и изменение элементов. Доступ к элементам этой коллекции осуществляется с помощью целочисленного индекса. Индексы в этой коллекции начинаются с нуля. Конструктор есть.

Пример создания и инициализации

using System;

using System.Collections;

namespace ConsoleApplication2

{

class Program

{

static void Main(string[] args)

{

ArrayList myAL = new ArrayList();

myAL.Add("Hello");

myAL.Add("World");

myAL.Add("!");

Console.WriteLine(" Count: {0}", myAL.Count);

Console.WriteLine(" Capacity: {0}", myAL.Capacity);

myAL[1] = "??????????";

foreach (Object obj in myAL)

Console.Write(" {0}", obj);

Console.WriteLine();

}

}

}

Пример

using System;

using System.Collections;

namespace ConsoleApplication2

{

class Class1

{

int s;

int a;

public Class1(int s, int a)

{

this.s = s;

this.a = a;

}

public override string ToString()

{

return String.Format("{0} {1}", s, a);

}

}

class Program

{

static void Main(string[] args)

{

Class1[] g = new Class1[3];

g[0] = new Class1(1, 4);

g[1] = new Class1(2, 8);

g[2] = new Class1(5, 4);

foreach (Class1 i in g)

Console.WriteLine(i);

ArrayList a = new ArrayList();

a.Add(new Class1(2, 4));

a.Add(new Class1(4, 17));

a.Add(new Class1(3, 8));

for (int i = 0; i < a.Count; i++)

Console.WriteLine("{0:d}", a[i]);

}

}

}

Пример. Используя метод Array.Sort отсортировать массив. Настроить порядок сортировки массива.

using System;

using System.Collections;

 

namespace ConsoleApplication5

{

 

class Program : IComparer

{

 

int IComparer.Compare(Object x, Object y)

{

int x1 = (int)x;

int y1 = (int)y;

return y1.CompareTo(x1);

}

 

static void Main(string[] args)

{

 

Program g = new Program();

int[] a = new int[7] { 2, 5, 1, 7, 9, 4, 3 };

IComparer mm = new Program();

Array.Sort(a, mm);

for (int i = 0; i < a.Length; i++)

Console.WriteLine("{0:d}", a[i]);

 

}

}

}

1. Дьяконов В. MATLAB 6/5.SP1/7+Simulink 5/6. Основы применения. М.: СОЛОН-Пресс, 2005. 800 с.

2. Дьяконов В. Simulink 4. Специальный справочник. СПб: Питер, 2002. 528 с.

3. Дьяконов В., Абраменкова И. MATLAB. Обработка сигналов и изображений. Спец. справочник. СПб: Питер, 2002. 608 с.

4. Солонина А. и др. Основы цифровой обработки сигналов: курс лекций. СПб: БХВ -Петербург, 2003. 608 с.

5. Сергиенко А. Цифровая обработка сигналов. Учебник для ВУЗОВ, СПб: Питер, 2003. 608 с.

6. Черных И. В. SIMULINK. Среда создания инженерных приложений. М.: ДИАЛОГ-МИФИ, 2003. – 495 с.

Система MATLAB построена на расширенном представлении и применении матричных операций. MATLAB = Matrix Laboratory (Лаборатория Матриц).

Достоинства:

§ Матричная математика обеспечивает очень высокую скорость математических действий. Примерно в 10 раз выше, чем в Mathcad.

§ Язык программирования высокого уровня математико-ориентированный на технические вычисления, близкий к широко распространенным языкам Delphi и Basic.

§ Имеется поддержка двумерной и трехмерной графики.

§ Большое количество встроенных математических функций (Несколько тысяч для различных областей).

§ Возможность создания собственных функций в виде М-файлов.

§ Имеются средства разработки графического пользовательского интерфейса.

§ Встроенная система имитационного моделирования блочно организованных систем Simulink.

Недостатки:

§ Программирование не на языке математики.

§ Нет достаточной поддержки работы с радиотехническими компонентами.

Особенности:

§ Относится к классу интерпретаторов, что позволяет облегчить отладку программных модулей (M-файлов).

§ M-файлы могут быть исполнены только в среде системы MATLAB. Полностью исполняемые файлы с расширением *.exe система не создает.

§ Реализует все известные средства программирования, с том числе объектно-ориентированное и визуальное программирование.

§ Имеются дополнительные пакеты прикладных программ (Symbol Mathematics Toolbox, Control System Toolbox, Signal Processing Toolbox, Mat lab Application Toolbox, Notebook).

5.2 Состав системы

MATLAB состоит из следующих частей:

 

MATLAB Products Продукты MATLAB. Содержат наборы универсальных функций.
Products Simulink Продукты Simulink. Содержат наборы универсальных блоков, методов и функций.
Toolboxes Инструментальные пакеты (»100) - расширения MATLAB. Содержат наборы функций для предметной области.
Blocksets Наборы компонент Simulink - расширения Simulink. Содержат наборы блоков, методов и функций для предметной области.

 

5.3 Свойства и возможности системы

В области вычислений:

§ матричные и логические операции,

§ элементарные функции,

§ полиномиальная арифметика,

§ специальные функции,

§ многомерные массивы, структуры и массивы структур,

§ строки в формате Unicod (2 байта на символ).

В области численных методов:

§ поиск корней нелинейных уравнений,

§ оптимизация функций,

§ многомерная интерполяция,

§ решение дифференциальных уравнений,

В области символьной математики:

§ символьные преобразования выражений,

§ решение нелинейных уравнений,

§ решение дифференциальных уравнений.

В области мультимедиа:

§ двумерные и трехмерные графики,

§ анимация,

§ 24-битный цвет, 16-битный стереозвук,

§ создание графического интерфейса GUI,

§ редактор графических объектов с удобным графическим интерфейсом.

В области программирования:

§ редактор/отладчик M-файлов в виде М-файлов ( * .m ).

§ создание своих функций,

§ свыше 500 встроенных функций.

§ применение программ на С и Fortran,

§ создание HTML файлов, прямой выход в Интернет.

В области моделирования:

§ Simulink – имитационное моделирование.

 

5.3.1. Операционная среда системы MATLAB

Информационная среда системы MATLAB включает в себя:

§ Диалог с пользователем через командное окно.

§ Просмотр рабочей области и путей доступа.

§ Редактор/отладчик М-файлов.

§ Работа с файлами.

§ Экспорт и импорт данных.

§ Интерактивный доступ к справочной информации.

§ Динамическое взаимодействие с внешними системами.

§ Традиционный интерфейс Windows.

Сеанс работы с MATLAB называется - сессия.

Сессия начинается работой в окне командного режима.

Возможны файлы:

.m М-файл Функция MATLAB
.mat Mat-файл Workspace
.mex Script-файл Из других языков
.txt   Фрагмент сессии

Форма представления сессии – текстовый редактор. В его строках могут находиться:

§ Приглашение для ввода >>.

§ Вывод результата.

§ Сообщение об ошибке.

Сессия – текущий документ MATLAB.

Для сохранения результатов используются:

Команда Что? Файл?
save сохранить .mat
load загрузить .mat

 

5.4 Окна MATLAB

В MATLAB определены окна:

Окно Назначение
1. MATLAB Главное окно системы. Документ, может включать окна 2...7
2. Command Window Командное окно
3. Command History История команд
4. Current Directory Текущий каталог–менеджер файлов
5. Workspace Рабочая область
6. Help Справка
7. Profilier Оптимизация М-файлов
8. M-File Редактор/отладчик М-файла
9. Figure # Графическое окно, # - номер окна
10. Model Окно модели Simulink
11. Simulink Lib Browser Браузер библиотек комплект Simulink
12. Graphic User Interface Графический пользовательский интерфейс

MATLAB,главное окно

В главном окне размещено 5 дочерних окон.

Командное окно
Кнопки установки в главном окне
Рабочая область
Текущий каталог
Главное окно
Профилировщик
История команд

При старте пользователь видит док - главное окно 1, в котором размещаются до 5 дочерних окон (2...5, 7), число и список которых можно регулировать. Дочерние окна отображаются в панелях дока (их до 4). Если число окон в доке больше 4, то используются вкладки в панелях. Меню и содержание панели инструментов дока совпадает с меню и панелью инструментов окна, выбранного пользователем для работы. С помощью пункта меню Desktop можно отображать необходимые окна. Каждое из дочерних окон можно выделить из дока, как автономное, и разместить произвольно.

Command Window (Командное окно)

В этом окне обычно начинается работа в MATLAB.

В окне выводится поясняющий текст для пользователя и символ >> «приглашения» продолжить, за которым пользователь должен писать командную строку, исполняемую после нажатия клавиши <Enter>.

Например:

>> sin(pi/2);

Command History (История команд)

В окне отображается история команд в сеансе.

Для каждой команды указываются дата и имя.

 

Workspace (Рабочая область)

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

Для каждой переменной указываются:

§ Name – имя.

§ Value – значение.

§ Size – размер массива.

§ Bytes – размер в байтах.

§ Class – класс (тип).

Если сеанс не начинался, переменных нет, то и окно пустое.

При создании новой переменной из меню MATLAB командойFile=>New=>Variable в этом окне появляется новая переменная с именем unnamed (безымянная).

 

 

Current Directory (Текущий каталог)

Окно используется для отображения файлов в текущей папке.

Для каждого файла указываются:

§ MATLAB Files. //Имя файла.

§ File Type // Тип файла.

§ Last Modified. // Дата и время последней модификации.

§ Description. // Описание.

 

 

Profilier (профилировщик)

Окно используется для «профилирования» файла (оптимизации М-файлов).

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

 

 

Help – Справка

Окно справки имеет сложную структуру и поэтому выводится командой Help главного меню MATLAB всегда в автономном окне.

Окно справки содержит два поля:

§ Help Navigator - Навигатор справки слева. Эта панель содержит 4 вкладки для выбора режима навигации (содержание, индексы, поиск, фавориты).

§ Информация о найденном вопросе справа.

 

 

Редактор, отладчик М-файла

Используется для создания или редактирования М-файлов.

Для вызова окна используется команда меню MATLAB File=>New=>M-file.

Figure (Графическое окно)

В MATLAB графики отображаются в автономных окнах. Для вызова окна используется команда меню MATLAB File=>New=>Figure. Окно содержит:

§ Панели инструментов.

§ Объект Axes (Оси) с графиками

 

 

Model (Модель Simulink)

В MATLAB встроена система имитационного моделирования блочно организованных систем Simulink.

Модель создается в автономном окне, для вызова которого используется команда меню MATLAB File=>New=>Model. Генерируется пустое окно.

Модель составляется из заранее запрограммированных блоков путем их переноса из библиотеки в окно модели. Доступ к библиотекам обеспечивается браузером, окно которого вызывается командой Library Browser из меню модели.

Окно браузера содержит две панели:

§ В левой находится оглавление библиотек.

§ В правой - содержимое выбранного раздела.

После заполнения блоками окно модели видоизменяется.

 

GUI (Графический пользовательский интерфейс)

Для создания графического интерфейса предназначен специальный редактор GUIDE, вызываемый командой меню MATLAB File=>New=>GUI.

При вызове появляется окно запуска инструмента, в котором на вкладке выбора шаблонов можно из списка выбрать подходящую заготовку.

В примере можно анализировать вид графика поверхности при использовании разных типов графика и данных.

6.0 Основные объекты MATLAB

6.1. Математические выражения

Выражения задают то, что должно быть вычислено в численном или символьном виде.

Строятся на основе чисел, констант, переменных, операторов, функций, спецзнаков. Примеры математических выражений:

2+3;

2.3*sin(x);

4+exp(3)/5;

sqrt(y)/2;

sin(pi/2);

6.2 Числа

Целые, дробные, с фиксированной и плавающей точкой. Примеры задания чисел:

Действительные Комплексные

2 3i

-3 2j

2.301 2+3i

0.0001 -3.131i

123.45е-20 -12.34+3.7е-3i

 

6.3 Константы и системные переменные

Константы определенное числовое или символьное значение, представленное уникальным именем. Системные переменные задаются системой при ее загрузке и могут переопределяться.

Основные системные переменные:

i или j мнимая единица

pi число p=3,1415926…

eps погрешность операций над числами с плавающей точкой (2-52)

inf значение машинной бесконечности

ans переменная, хранящая результат последней операции.

Примеры:

>> 2*pi

ans =

6.2832

>> eps

ans =

2.2204e-016

6.4 Текстовые комментарии

Текстовые пояснения в программу вводятся, как комментарий. Он начинается с символа %, который располагается в первой позиции строки.

Комментарий – это текст! В него символы операций не включаются. Например:

% ввод исходных данных

% вывод графиков

6.5 Переменные и присваивание им значений

Переменные – это имеющие имена объекты, способные хранить некоторые данные. В зависимости от этих данных переменные могут быть:

- числовые,

- символьные,

- векторные,

- матричные.

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

<Имя_перемнной> = <Выражение>

Типы переменных заранее не декларируются. Они определяются выражением, значение которого присваивается переменной. Если выражение вектор или матрица, то и переменная будет векторной или матричной.

Требования к идентификаторам:

- длина любая (но идентифицируется только 31начальный символ),

- начинается с буквы,

- содержит любые буквы латинского алфавита,

- можно использовать символ подчеркивания,

- не содержит пробелов и специальных знаков,

- имя должно быть уникальным.

Значения символьных переменных заключаются в апострофы, например: ′Demo′.

6.6 Уничтожение определений переменных

Для очистки рабочей области, занимаемой под переменную, используется функция clear в разных форматах, например:

clear – уничтожение определений всех переменных;

clear x – уничтожение определения переменной х;

clear a,b,c – уничтожение определений нескольких переменных.

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

6.7. Двойственность операторов, команд и функций в MATLAB

Для языка системы MATLAB различие между командами и операторами является условным, т.к. они могут выполняться как из программы, так и в режиме прямых вычислений. Оператор – это специальное обозначение для определенной операции над данными – операндами.

Функция преобразует одни данные в другие. Функции возвращают значения в ответ на обращение к ним с указанием списка входных параметров – аргументов:

- численное,

- символьное (формулу),

- вектор или матрицу.

Двойственность операторов и функций: многие операторы имеют свои аналоги в виде функций. Записываются функции строчными буквами в виде:

f_name(список_параметров)

6.8 Арифметические матричные операторы и функции MATLAB

 

Оператор Функция Описание
A + B plus(A,B) Сложение. A, B должны быть одинакового размера.
+ A uplus(A) Унарный плюс.
A – B minus(A,B) Вычитание. A, B должны быть одинакового размера.
– A uminus(A) Унарный минус.
A * B mtimes(A,B) Матричное умножение.
A .* B times(A,B) Поэлементное умножение массивов.
A / B mrdivide(A,B) Деление матриц слева на право. A делится на B. Тот же результат дает A*inv(B).
A ./ B rdivide(A,B) Поэлементное деление массивов слева на право. (A/B)
A \ B mldivide(A,B) Обратное деление матриц справа на лево. B делится на A.. Тот же результат дает inv(A)*B.
A .\ B ldivide(A,B) Поэлементное деление массивов справа на лево. (B/A)
A ^ B mpower(A,B) Возведение матрицы в степень. A возводится в степень B.
A .^ B power(A,B) Поэлементное возведение массива в степень.
A ′ ctranspose(A) Транспонирование матрицы.
A . ′ transpose(A) Транспонирование массива.
A:H:B A: B colon(A,H,B) colon(A,B) Список от A до B с шагом H. Список от A до B с шагом 1.

Примеры:

>> A=[1 2 3]; % Задание вектора A

>> B=[4 5 6]; % Задание вектора B

>> B–A % Вычитание двух векторов

ans =

3 3 3

>> minus(B,A)

ans =

3 3 3

>> A.^2 % Поэлементное возведение в степень вектора А

ans =

1 4 9

>> A.\B

ans =

4.0000 2.5000 2.0000

При вычислении:

- Для ввода исходных данных используется символ >>

- Данные вводятся с клавиатуры в редактор

- Для блокировки вывода результата вычислений выражения после него надо установить знак ;(точка с запятой)

- Если не указана переменная со значением результата вычислений, то система именует ее ans

- Знаком присвоения является знак =

- Встроенные функции записываются строчными латинскими буквами и их аргументы указываются в круглых скобках

- Диалог происходит в силе «задал вопрос - получил ответ».

6.9 Встроенные функции

Со списком функций можно ознакомиться, выполнив команды:

help elfun элементарные функции,

help specfun специальные функции.

Встроенные функции хранятся в откомпилированном ядре системы MATLAB и выполняются предельно быстро.

 

Тригонометрические функции

Функция Описание
sin(X) Синус
cos (X) Косинус
tan(X) Тангенс
cot (X) Котангенс
sec(X) Секанс
csc(X) Косеканс

 



<== предыдущая лекция | следующая лекция ==>
Доступ к элементам массива. | Степени, корни, логарифмы


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


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

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

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


 


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

 
 

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

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