Иллюстрированный самоучитель по Matlab


Основные функции символьных данных


В основе представления символов в строках лежит их кодирование с помощью сменных

таблиц кодов.

Такие таблицы ставят в однозначное соответствие каждому символу некоторый код со значением от 0 до 255.

Вектор, содержащий строку символов, в системе MATLAB задается следующим образом:

  • S= 'Any Characters' — вектор, компонентами которого являются числовые коды, соответствующие символам [

    Символ  внутри такой строки дублируется (заменяется на ''). — Примеч. ред.

    ].

Первые 127 чисел — это коды ASCII, представляющие буквы латинского языка, цифры и спецзнаки. Они образуют основную таблицу кодов. Вторая таблица (коды от 128 до 255) является дополнительной и может использоваться для представления символов других языков, например русского. Длина вектора S соответствует числу символов в строке, включая пробелы. Апостроф внутри строки символов должен вводиться как два апострофа ' '.

К основным

строковым функциям

относятся следующие:

  • char (X) — преобразует массив X положительных целых чисел (числовых кодов от 0 до 65 535) в массив символов системы MATLAB (причем только первые 127 кодов — английский набор ASCII, со 128 до 255 — расширенный набор ASCII) и возвращает его, на платформе Windows при значении выше 65 535 выдает предупреждение об ошибке, но возвращает русскую букву я (я повторяется так же, как char(255+256rt), где п — целые неотрицательные числа) [

    Результат char(x) при х>65535 зависит от платформы, русификации и т. д. — Примеч. ред.

    ];

Пример:

» X=reshape(32:127,32,3); 

» S= char(X')

S=

!"#$*&'()*+.-./0123456789::<=>? 

(aABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_

 "abcdefghijklmnopqrstuvwxyz{|}-[]

» t1=

'

computer'

» t2='for';

» t3='home':

» t4='users':

» S = Char(tl.t2.t3.t4)

S =

computer

for

home

users

  • char (С) — преобразует каждый элемент строкового массива ячеек в ряды массива символов, если строки массива ячеек разного размера, к ним в конце добавляются пробелы (осуществляется набивка (padding) в терминах MATLAB) так чтобы в каждом ряде массива символов было одинаковое число символов;




    Начало  Назад  Вперед