Elettracompany.com

Компьютерный справочник
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Переменные в matlab

Нейронные сети в matlab

Login

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

При длительной сессии программы MATLAB может быть нелегко запомнить имена и типы всех переменных, которые вы задали.
Вы можете ввести команду whos, чтобы просмотреть общий список имен и
типов, или классов, ваших заданных на текущий момент переменных. Но перед тем
как сделать это, произведите присвоения а = pi, b = ‘pi ‘, с = (‘pi’), а затем
введите whos. Ниже показан вывод результатов сессии программы MATLAB,
отображенной в этой главе.

Переменным A, X, Y, Z, а и d были присвоены числовые значения и они
обозначены как «двойной массив». Это означает, что они являются массивами чисел с
двойной точностью; в данном случае массивы a и d имеют размер 1х1, то есть,
являются скалярами. Столбец Bytes (Байты) показывает, сколько компьютерной
памяти занимает каждая переменная. Переменная ans также является числовой,
поскольку последний вывод был вектором 1Х2. Переменная b является строкой,
обозначенной как char array (Символьный массив), так как переменные с, u, v, w,
х, у являются символьными. Наконец, мы видим также два массива обработки
функции и два массива встроенных объектов, соответствующие парам
анонимных функций и встроенных функций.
Команда whos показывает сведения обо всех заданных переменных, но эта
команда не показывает значения переменных. Чтобы увидеть значение переменной,
достаточно просто ввести название переменной и нажать клавишу Fnterl.

При вводе командам программы MATLAB требуются определенные классы
данных, и очень важно знать, какой именно класс данных требуется данной команде;
справочный текст по команде обычно содержит класс или классы, которые
требуются при вводе. Неверный класс ввода обычно приводит к появлению
сообщения об ошибке или к неожиданному результату. Например, введите команду sin( ‘pi ‘), чтобы увидеть, к какому результату может привести добавление строки в
функцию, которая не приемлет строк.
Чтобы очистить все заданные Matlab переменные, введите clear или clear all.
Вы можете также ввести, например, clear x у, чтобы очистить только
переменные х и у.

Puc. 2.2. Рабочий стол с окном Workspace (Рабочее пространство)

Обычно следует очищать переменные перед началом новых вычислений.
В противном случае значения из предыдущих вычислений могут случайно
попасть в новые. Окно Workspace (Рабочее пространство) предоставляет
графическую альтернативу команде whos. Вы можете активировать это окно, щелкнув
мышью на вкладке Workspace (Рабочее пространство) в окне Current Directory (Текущий каталог), или введя команду workspace в командной строке. На Рис. 2.2 показан
Рабочий стол, в котором окна Command Window (Командное окно) и Workspace
(Рабочее пространство) содержат ту же самую информацию, которая отображена
выше.

Поэтому из выше всего сказанного можно сделать вывод, что вам необходимо просмотреть много дополнительной информации и альтернатив!

Документация

Создание и редактирование переменных

Создание переменных

Рабочая область MATLAB ® состоит из переменных, которые вы создаете и храните в памяти во время сеанса работы с MATLAB. Можно создать новые переменные в рабочей области запуском кода MATLAB или использованием существующих переменных.

Чтобы создать новую переменную, введите имя переменной в Командном окне, сопровождаемом знаком «равно» ( = ) и значение вы хотите присвоить переменной. Например, если вы запускаете эти операторы, MATLAB добавляет эти три переменные x A , и I к рабочей области:

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

Если вы не заканчиваете оператор присваивания точкой с запятой ( ; ), MATLAB отображает результат в Командном окне. Например,

Если вы явным образом не присваиваете выход оператора к переменной, MATLAB обычно присваивает результат зарезервированному слову ans . Значение ans изменения с каждым оператором, который возвращает выходное значение, которое не присвоено переменной. Например,

Чтобы просмотреть и отредактировать переменные, используйте браузер Рабочей области и Редактор Переменных. (Некоторые опции редактирования не доступны в MATLAB Online .)

Просмотр содержимого рабочей области

Чтобы просмотреть список переменных в вашей рабочей области, используйте браузер Рабочей области.

Чтобы открыть браузер Рабочей области, если он в данный момент не отображается, выполните одно из следующих действий:

На вкладке Home, в разделе Environment, нажимают Layout. Затем под Show выберите Workspace.

Введите workspace в командном окне.

По умолчанию браузер Рабочей области отображает базовое рабочее пространство. Также можно просмотреть функциональные рабочие области, если MATLAB находится в режиме отладки. Для получения дополнительной информации смотрите Основные и Функциональные Рабочие области.

Читать еще:  Архитектура приложения php

Чтобы отобразить дополнительные столбцы, такие как размер и область значений, в строке заголовка браузера Рабочей области, нажатии кнопки , и затем нажимают Choose Columns. В MATLAB Online™ выберите, какие столбцы отобразиться путем щелчка правой кнопкой по строке заголовка браузера Рабочей области и выбора или очистки требуемого столбца называет.

Также можно использовать who команда в Командном окне, чтобы просмотреть список переменных. Чтобы перечислить информацию о размере и классе, используйте whos команда. Например, если у вас есть переменные x A , и I в вашей рабочей области можно запустить who и whos команды, чтобы просмотреть ваше содержимое рабочей области:

MATLAB Language Типы данных

пример

В MATLAB имеется 16 основных типов данных или классов. Каждый из этих классов имеет форму матрицы или массива. За исключением дескрипторов функций, эта матрица или массив является как минимум размером 0 на 0 и может вырасти до n-мерного массива любого размера. Функциональный дескриптор всегда скалярный (1 на 1).

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

Если переменная уже существует, MATLAB заменяет исходные данные на новую и при необходимости выделяет новое пространство для хранения.

Основные типы данных

Основные типы данных: числовые, logical , char , cell , struct , table и function_handle .

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

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

MATLAB поддерживает 1-, 2-, 4- и 8-байтовые хранилища для целочисленных данных. Вы можете сохранить память и время выполнения для своих программ, если вы используете наименьший целочисленный тип, который поддерживает ваши данные. Например, для хранения значения 100 вам не нужно 32-разрядное целое число.

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

Массивы символов обеспечивают хранение текстовых данных в MATLAB. В соответствии с традиционной терминологией программирования массив (последовательность) символов определяется как строка. В розничных выпусках MATLAB нет явного строкового типа.

логические: логические значения 1 или 0, соответственно соответствуют true и false. Используется для реляционных условий и индексации массивов. Поскольку это только TRUE или FALSE, размер 1 байт.

состав. Массив структуры — это тип данных, который группирует переменные разных типов данных с использованием контейнеров данных, называемых полями . Каждое поле может содержать любые типы данных. Доступ к данным в структуре с использованием точечной нотации формы structName.fieldName.

Чтобы получить доступ к значению 1, каждый из следующих синтаксисов эквивалентен

Мы можем явно получить доступ к полю, которое, как мы знаем, будут существовать с помощью первого метода или передать строку или создать строку для доступа к полю во втором примере. Третий пример — это демонстрация того, что нотация дескрипторов точек принимает строку, которая является той же самой, что и в переменной поля1.

переменные таблицы могут быть разных размеров и типов данных, но все переменные должны иметь одинаковое количество строк.

клетка. Это очень полезный тип данных MATLAB: массив ячеек — это массив, каждый из которых может иметь разные типы и размер данных. Это очень сильный инструмент для управления данными по вашему желанию.

Функция handles хранит указатель на функцию (например, на анонимную функцию). Он позволяет передать функцию другой функции или вызвать локальные функции извне основной функции.

Существует множество инструментов для работы с каждым типом данных, а также встроенные функции преобразования типа данных ( str2double , table2cell ).

Читать еще:  Натуральный логарифм matlab

Дополнительные типы данных

Существует несколько дополнительных типов данных, которые полезны в некоторых конкретных случаях. Они есть:

Дата и время: массивы для представления дат, времени и продолжительности. datetime(‘now’) возвращается 21-Jul-2016 16:30:16 .

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

Контейнеры карт представляют собой структуру данных, которая обладает уникальной способностью индексировать не только любые скалярные числовые значения, но и вектор символов. Индексы в элементы Карты называются ключами. Эти ключи вместе со значениями данных, связанными с ними, сохраняются в пределах Карты.

Временные ряды — это векторы данных, отобранные во времени, по порядку, часто через регулярные промежутки времени. Полезно хранить данные, связанные с timesteps, и у него есть много полезных методов для работы.

Переменные в matlab

5. Видимость имён переменных и имён функций.

Локальные и глобальные переменные. Функция располагает собственным, изолированным от рабочего пространства системы MATLAB, пространством переменных. Поэтому, если перед вызовом M-функции в командном окне MATLABа была определена переменная с именем, например, varName1, то нельзя рассчитывать на то, что переменная в теле функции с этим же именем уже имеет некоторое значение. Это совсем другая переменная ( хотя у неё и то же самое имя varName1 ) и располагается она в памяти машины в другой области памяти.

Переменные, которые используются в теле M-функции и не совпадают с именами формальных параметров этой функции, называются локальными. По-другому говорят, что они видимы лишь в пределах M-функции. Извне они не видны ( не достижимы ). Внутри функции не видны переменные, определённые в командном окне MATLABа — они являются внешними по отношению к функции и не видны в ней.

Аналогично, локальные внутри некоторой функции переменные не видны внутри другой M-функции.

Одним из каналов передачи информации из командного окна системы MATLAB в M-функцию и из одной функции в другую является механизм параметров функции. Другим таким механизмом являются глобальные переменные.

Чтобы рабочая область системы MATLAB и несколько M-функций могли совместно использовать переменную с некоторым именем, её всюду нужно объявить как глобальную с помощью ключевого слова global. К примеру, переменная glVarS, участвующая в вычислениях в рабочем пространстве и в функции FuncWithGlobVar является одной и той же переменной ( единственный участок памяти ) повсюду — поэтому её можно использовать в функции без дополнительного присваивания её какого-либо значения:

Так как у глобальных переменных «глобальная» область действия, то чтобы случайно ( по ошибке ) не переопределить её где-либо, желательно давать таким переменным более мнемонические ( более длинные и осмысленные ) имена.

Теперь рассмотрим вопрос о видимости имён функций. Если мы сохранили функцию с некоторым именем в файле с этим же именем и расширением m, и кроме того если системе MATLAB известен путь к этому файлу на диске, то эту функцию можно вызывать как из командного окна, так и из других функций.

Однако в тексте M-функции можно поместить опеределения нескольких функций, причём только одна из них может совпадать по имени с именем файла. Именно эта функция и будет видна из командного окна и других функций. Все остальные функции будут внутренними — их могут вызывать только функции из того же файла.

Например, если в файле ManyFunc.m будет содержаться следующий текст

function ret1 = ManyFunc( x1, x2 )

ret1 = x1 .* x2 + AnotherFunc( x1 )

function ret2 = AnotherFunc( y )

ret2 = y .* y + 2 * y + 3;

состоящий из определений двух функций с именами ManyFunc и AnotherFunc, то извне можно вызывать только функцию ManyFunc. По-другому можно сказать, что извне видны только функции с именами, совпадающими с именами M-файлов. Остальные функции должны вызываться этой функцией и другими внутренними функциями.

Простые переменные и основные типы данных в MatLab

Основы программирования в MatLab

Наместников С.М. / Сборник лекций: УлГТУ, Ульяновск. — 2011

Оглавление

Глава 1. Структура программы. Основные математические операции и типы данных

1.1. Структура программы пакета MatLab

1.2. Простые переменные и основные типы данных в MatLab

1.3. Арифметические операции с простыми переменными

1.4. Основные математические функции MatLab

1.5. Векторы и матрицы в MatLab

1.6. Операции над матрицами и векторами

1.7. Структуры в MatLab

1.8. Ячейки в MatLab

Глава 2. Условные операторы и циклы в MatLab

Читать еще:  Matlab руководство на русском

2.1. Условный оператор if

2.2. Условный оператор switch

2.3. Оператор цикла while

2.4. Оператор цикла for

Глава 3. Работа с графиками в MatLab

3.1. Функция plot

3.2. Оформление графиков

3.3. Отображение трехмерных графиков

3.4. Отображение растровых изображений

Глава 4. Программирование функций в MatLab

4.1. Порядок определения и вызова функций

4.2. Область видимости переменных

Глава 5. Работа с файлами в MatLab

5.1. Функции save и load

5.2. Функции fwrite и fread

5.3. Функции fscanf и fprintf

5.4. Функции imread и imwrite

Введение

Среди множества существующих математических пакетов, таких как Mathematica, MathCad и др., система MatLab занимает лидирующее место благодаря удобному встроенному языку программирования для реализации самых разнообразных математических алгоритмов и задач математического моделирования. Кроме того, данный пакет имеет дополнительно инструмент визуального моделирования Simulink, позволяющий строить и исследовать математические модели, не прибегая к их программированию.

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

Глава 1. Структура программы. Основные математические операции и типы данных

Первым шагом на пути создания математических алгоритмов является изучение структуры программы и набора математических операций, доступных языку программирования. В частности, в данной главе будут рассмотрены математические операции и функции пакета MatLab, связанные с обработкой как скалярных, так и матричных переменных.

Структура программы пакета MatLab

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

function Lab1
a = 5;
b = 2;
c = a*b;

Данная программа заключена в функции с именем Lab1 и вычисляет произведение двух переменных а и b. При сохранении программы в m-файл рекомендуется указывать имя файла, совпадающее с именем функции, т.е. в данном случае – Lab1.

Следует отметить, что в одном m-файле можно задавать множество дополнительных функций. Для этого достаточно написать в конце листинга основной программы еще одно ключевое слово function и задать ее имя, например,

function Lab1
a = 5;
b = 2;
c = a*b;
out_c(c); % вызов функции out_c()

function out_c(arg_c) % определение функции out_c()
disp(arg_c);

Обратите внимание, что функцию out_c() можно вызывать в основной программе до ее определения. Это особенность языка MatLab, позволяющая не беспокоиться программисту о последовательности задания функций. В приведенном примере функция out_c() имеет один входной параметр с именем arg_c, который выводится на экран (в командное окно MatLab) с помощью встроенной функции disp(). В итоге, при выполнении приведенной программы в командном окне MatLab будет отображено значение переменной c.

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

При выполнении функции Lab1 система MatLab вызовет функцию square из файла square.m. Это будет сделано автоматически, т.к. встроенные функции языка MatLab определены также и вызываются из файлов, имена которых, как правило, соответствуют именам вызываемых функций. Обратите также внимание на то, что функция square() не только принимает два аргумента a и b, но и возвращает их произведение с помощью переменной res. Представленный синтаксис следует использовать всякий раз, когда требуется возвратить результат вычислений основной программе. В четвертой главе данного пособия более подробно изложены конструкции вызова функций для реализации разнообразных алгоритмов.

Простые переменные и основные типы данных в MatLab

Создание программы, как правило, начинается с определения переменных и способа представления данных. Следовательно, чтобы правильно организовать описание данных программы, необходимо знать как задавать переменные в MatLab и какие виды переменных возможны.

Самый простой и наиболее распространенный тип данных – это число. В MatLab число хранится в переменной, которая имеет некоторое уникальное имя, например,

задает переменную с именем a и присваивает ей значение 5. По умолчанию переменная а является вещественной (тип double), т.е. может принимать дробные значения, например,

задает значение переменной а равное -7,8. Изменить тип переменной можно, указав тип присваиваемого числа с помощью соответствующего ключевого слова, например,

выполнит присваивание числа 5 как целочисленного 16-битового значения. В результате выполнения такой операции тип переменной a будет соответствовать int16.

Типы данных, доступные в MatLab, представлены в табл. 1.1.

Ссылка на основную публикацию
Adblock
detector