Классы данных MATLAB


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

В этой книге в основном используются следующие типы данных: числа с плавающей точкой, символьные выражения, ряды символов, дескрипторы функций и встроенные функции. В главе 2 мы рассматривали каждый из этих типов. В Табл. 4.1 представлен каждый тип данных, соответствующий этому типу класс (получен посредством команды whos), а также способ создания этого типа.

Табл. 4.1. Классы данных программы MATLAB

Классы данных MATLAB картинка

Массив можно представить в виде двухразмерной системы данных. Простое число (или символьное выражение) рассматривается в программе MATLAB как массив 1x1, иногда называемый скаляром. Массив l x n называется строчным вектором, а массив mxl называется столбцовым вектором. (В сущности, строка представляет собой вектор символов.) Массив чисел mxn называется матрицей (см. раздел «Дополнительно о матрицах» ниже). Класс и размер массива каждой заданной вами переменной вы можете увидеть в окне Workspace (Рабочая область), или введя команду whos (см. раздел «Управление переменными» в главе 2). Набор параметров переменной, отображаемый с помощью команды whos, называется рабочей областью.

Для эффективного использования команд программы MATLAB вы должны уделять повышенное внимание классу данных, использование которых каждая команда допускает в качестве входных и возвращаемых параметров. Входные параметры могут иметь один и более аргументов, отделенных друг от друга запятыми; некоторые аргументы являются необязательными. Некоторые команды, например, команда whos, не требуют какого-либо входных параметров. Текст справки (см. раздел «Онлайновая справка» в главе 1) для каждой команды обычно содержит информацию о том, какие классы входных параметров ожидаются при запуске команды, а также каковы классы возвращаемых параметров.

Когда вы вводите пару слов, например, hold on, программа MATLAB интерпретирует второе слово в качестве аргумента, имеющего класс «строка», для команды, заданной первым словом; таким образом, выражение hold on будет эквивалентно выражению hold ( 'on').

Многие команды рассчитаны более чем на один класс входных параметров, хотя иногда в онлайновой справке отмечается только один класс. Такая гибкость может быть удобна в некоторых случаях, но может приводить к ошибкам в других. Например, интегрирующая команда int допускает входные параметры класса «строка», также как и класса «символьный», хотя в тексте справки упоминается только класс «символьный». С другой стороны, предположим, что вы уже задали a=10, b=5 и сейчас пытаетесь разложить на множители выражение а^2-b^2, отбросив ваши предыдущие определения, и что вам необходимо объявить переменные символьными:

Классы данных MATLAB картинка

При этом вы не получите сообщение об ошибке, и причина в том, что команда factor - это команда, которая разлагает целые числа на простые, также как и разлагает выражения на множители. Так как а^2-b^2 = 75 = 3 * 52, то числовая версия команды factor выполняется. Вывод будет совсем не таким, как вы ожидали. При применении других серий команд будьте осторожны, чтобы такие неожиданные выходные параметры не ввели вас в заблуждение.

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

Иногда вам будет необходимо преобразовать один класс данных в другой, чтобы заставить выходные параметры одной команды послужить в качестве входных параметров для другой. Например, мы использовали команду double, чтобы преобразовать символьные выражения в числа с плавающей точкой, и команду sym, чтобы преобразовать числа или строки в символьные выражения. Команды num2str и str2num производят преобразование между числами и строками, а команда char преобразует в строку символьное выражение. Вы можете также использовать команду vectorize для преобразования символьного выражения в векторизованную строку; это потребует добавлять символ точки (.) перед операторами *, / и ^ в выражениях.

Эта статья из раздела-взаимодействие с программой matlab, которая посвящена теме-классы данных matlab. Надеюсь вы по достоинству оцените ее!

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


Добавить комментарий


Защитный код
Обновить

Сайт создан в Seo-Dubna.ru