русс | укр

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

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

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

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


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

лЕКЦИЯ №6. MATLAB – СПЕЦИАЛЬНЫЕ ПЕРЕМЕННЫЕ И ОПЕРАЦИИ


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


Специальные переменные. Некоторые М-функции возвращают специальные переменные, которые играют важную роль при работе в среде системы MATLAB :

ans Последний результат; если выходная переменная не указана, то MATLAB использует переменную ans.
eps Точность вычислений с плавающей точкой; определяется длиной мантиссы и для PC eps = 2.220446049250313e-016
realmax Максимальное число с плавающей точкой, представимое в компьютере; для PC realmax = 1.797693134862316e+308.
realmin Минимальное число с плавающей точкой, представимое в компьютере; для PC realmin = 2.225073858507202e-308.
pi Специальная переменная для числа p: pi=3.141592653589793e+000.
i, j Специальные переменные для обозначения мнимой единицы
inf Специальная переменная для обозначения символа бесконечности ?
NaN Специальная переменная для обозначения неопределенного значения - результата операций типа: 0/0, inf/inf.
computer Специальная переменная для обозначения типа используемого компьютера; для PC - PCWIN.
flops Специальная переменная для обозначения количества операций с плавающей точкой.
version Специальная переменная для хранения номера используемой версии системы MATLAB.

 

Типы данных.

В системе MATLAB определено шесть базовых типов данных, каждый из которых является многомерным массивом. Шесть классов - это double, char, sparse, uint8, cell, и struct. Двумерные версии этих массивов называются матрицами, откуда MATLAB и получил свое имя МАТричная ЛАБоратория.

 

 

Класс Пример Описание
Double [ 1 2; 3 4] 5 + 6i Числовой массив удвоенной точности (это наиболее распространенный тип переменной в системе MATLAB
Char 'Привет' Массив символов (каждый символ - длиной 16 битов), часто именуется строкой.
Sparse Speye(5) Разреженная матрица удвоенной точности (только двумерная). Разреженная структура применяется для хранения матриц с небольшим количеством ненулевых элементов, что позволяет использовать лишь небольшую часть памяти, требуемой для хранения полной матрицы. Разреженные матрицы требуют применения специальных методов для решения задач.
Cell { 17 'привет' eye (2)} Массив ячеек. Элементы этого массива содержат другие массивы. Массивы ячеек позволяют объединить связанные данные, возможно различных размеров, в единую структуру.
Struct A.day = 12; A.color = 'Red'; A.mat = magic(3); Массив записей. Он включает имена полей. Поля сами могут содержать массивы. Подобно массивам ячеек, массивы записей объединяют cвязанные данные и информацию о них.
Uint8 Uint8 (magic (3)) Массив 8-разрядных целых чисел без знаков. Он позволяет хранить целые числа в диапазоне от 0 до 255 в 1/8 части памяти, требуемой для массива удвоенной точности. Никакие математические операции для этих массивов не определены.
UserObject inline('sin(x)') Тип данных, определяемый пользователем

 



 

Каждому типу данных можно соотнести свои функции и операторы обработки, или другими словами, методы. Дочерние типы данных, расположенные на диаграмме ниже родительского типа, поддержаны также и методами родителя. Следовательно, массив типа double поддержан методами, применяемыми для типа numeric.

 

В таблице приведены некоторые из таких методов:

Класс Метод
Массив array Вычисление размера (size), длины (length), размерности (ndims), объединение массивов ([a b]), транспонирование (transpose), многомерная индексация (subsindex), переопределение (reshape) и перестановка (permute) размерностей многомерного массива.
Массив ячеек cell Индексация с использованием фигурных скобок {e1,…,en} и разделением элементов списка запятыми.
Строка Char Строковые функции (strcmp, lower), автоматическое преобразование к типу double для применения методов класса double.
Double Арифметические и логические операции, математические функции, функции от матриц.
Numeric Поиск (find), обработка комплексных чисел (real, imag), формирование векторов, выделение строк, столбцов, подблоков массива, расширение скаляра.
Sparse Операции над разреженными матрицами.
Массив записей Struct Доступ к содержимому поля .field (разделитель элементов списка - запятая).
Uint8 Операция хранения (чаще всего используется с ППП Image Processing Toolbox)
UserObject Определяется пользователем

Арифметические операторы. При работе с массивом чисел установлены следующие уровни приоритета среди арифметических операций :

уровень 1: поэлементное транспонирование (.'), поэлементное возведение в степень (.^), эрмитово сопряженное транспонирование матрицы ('), возведение матрицы в степень (^);
уровень 2: унарное сложение (+), унарное вычитание (-);
уровень 3: умножение массивов (.*), правое деление (./), умножение матриц (*),
уровень 4: сложение (+), вычитание (-);
уровень 5: оператор формирования массивов (:).

Операторы отношения. В системе MATLAB определено 6 следующих операторов отношения:

  • < Меньше
  • <= Меньше или равно
  • > Больше
  • > = Больше или равно
  • == Равно тождественно
  • ~ = Не равно

 

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

Операторы отношения, как правило, применяется для изменения последовательности выполнения операторов программы. Поэтому они чаще всего используются в теле операторов if, for, while, switch.

Операторы отношения всегда выполняются поэлементно.

Пример 1.

Выполним сравнение двух массивов, используя условие А<B:

A = [2 7 6; 9 0 -1; 3 0.5 6];
B = [8 0.2 0; -3 2 5; 4 -1 7];

А< B
ans =

 

Пример 2.


function [res]=Cell

%----Parameters----

 

%coefficients

A = [3 9 5];

B = [2 1 5];

 

C = A./B.^2

 

 


function [res]=Cell

%----Parameters----

 

%coefficients

a12=1; %coef(2);

a21=-5; %coef(3);

a22=-6; %coef(4);

b2=5; %coef(6);

 

SS=1; %---Step diskret--

%--Initial condition--

x1(1)=0;

x2(1)=0;

 

for i=1:(10/SS)

x1(i+1)=a12*x2(i)*SS+x1(i);

x2(i+1)=a21*SS*x1(i)+a22*x2(i)*SS+x2(i)+b2*SS;

while x1(i) < 1e10

Y(i)=x1(i);

end

if x1(i)>=0

Y(i)=1;

else

Y(i)=0;

end

end;

T=1:SS:10;

plot(T,Y,'b')

res=[Y];

 

while x1(i) < 1e10

Y(i)=x1(i);

end



<== предыдущая лекция | следующая лекция ==>
ЛЕКЦИЯ №5. MATLAB – Основы ПРОГРАММИРОВАНИЯ | Теоретические основы сжатия данных


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


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

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

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


 


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

 
 

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

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