cell2sym

Преобразуйте массив ячеек в символьный массив

Описание

пример

S = cell2sym(C) преобразует массив ячеек C к символьному массиву S. Элементы C должно быть конвертируемым к символьным объектам.

Если каждый элемент входного массива ячеек C скаляр, затем size(S) = size(C), и S(k) = sym(C(k)) для всех индексов k. Если массив ячеек C содержит нескалярные элементы, затем содержимое C должен поддержать конкатенацию в N-мерный прямоугольник. В противном случае результаты не определены. Например, содержимое ячеек в том же столбце должно иметь одинаковое число столбцов. Однако у них не должно быть одинакового числа строк. Смотрите фигуру.

пример

S = cell2sym(C,flag) использует метод, заданный флагом для преобразования чисел с плавающей запятой к символьным числам.

Примеры

свернуть все

Преобразуйте массив ячеек только скалярных элементов к символьному массиву.

Создайте массив ячеек скалярных элементов.

C = {'x','y','z'; 1 2 3}
C=2×3 cell array
    {'x'}    {'y'}    {'z'}
    {[1]}    {[2]}    {[3]}

Преобразуйте этот массив ячеек в символьный массив.

S = cell2sym(C)
S = 

(xyz123)

cell2sym не создает символьные переменные xY, и z в рабочей области MATLAB®. Получить доступ к элементу S, используйте круглые скобки.

S(1,1)
ans = x

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

Создайте массив ячеек, элементами которого является скаляр, вектор-строка, вектор-столбец и матрица.

C = {'x' [2 3 4]; ['y'; sym(9)] [6 7 8; 10 11 12]}
C=2×2 cell array
    {'x'    }    {[   2 3 4]}
    {2x1 sym}    {2x3 double}

Преобразуйте этот массив ячеек в символьный массив.

S = cell2sym(C)
S = 

(x234y6789101112)

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

Создайте массив ячеек pi с двумя элементами: значение с двойной точностью постоянного pi и точное значение pi.

C = {pi,sym(pi)}
C=1×2 cell array
    {[3.1416]}    {[pi]}

Преобразуйте этот массив ячеек в символьный массив. По умолчанию, cell2sym использует рациональный режим преобразования. Таким образом, результаты, возвращенные cell2sym без флага совпадают с результатами, возвращенными cell2sym с флагом 'r'.

S = cell2sym(C)
S = (ππ)
S = cell2sym(C,'r')
S = (ππ)

Преобразуйте тот же массив ячеек в символьный массив с помощью флагов 'd'E, и 'f'. Смотрите раздел Input Arguments для получения дополнительной информации о методах преобразования.

S = cell2sym(C,'d')
S = (3.1415926535897931159979634685442π)
S = cell2sym(C,'e')
S = 

(π-198eps359π)

S = cell2sym(C,'f')
S = 

(884279719003555281474976710656π)

Входные параметры

свернуть все

Введите массив ячеек в виде массива ячеек. Элементы C должно быть конвертируемым к символьным объектам.

Метод преобразования в виде одного из символов перечислен в этой таблице.

'r'В рациональном режиме, cell2sym преобразует числа с плавающей запятой, полученные путем выполнения выражений формы p/q, p*pi/q, sqrt(p), 2^q, и 10^q для скромных размерных целых чисел p и q к соответствующей символьной форме. Этот подход эффективно компенсирует ошибку округления, вовлеченную в исходную оценку, но не может представлять значение с плавающей точкой точно. Если cell2sym не может найти простое рациональное приближение, затем оно использует тот же метод, как оно использовало бы с флагом 'f'.
'd'В десятичном режиме, cell2sym берет количество цифр от текущей установки digits. Преобразования меньше чем с 16 цифрами теряют некоторую точность, в то время как больше чем 16 цифр не могут быть гарантированы. Например, cell2sym({4/3},'d') с 10-разрядной точностью возвращает 1.333333333, в то время как с 20-разрядной точностью это возвращает 1.3333333333333332593. Последний не заканчивает в 3s, но это - точное десятичное представление числа с плавающей запятой, самого близкого к 4/3.
'e'В оценочном ошибочном режиме, cell2sym добавляет результат, полученный в рациональном режиме термином, включающим переменную eps. Этот термин оценивает различие между теоретическим рациональным выражением и его фактическим значением с плавающей точкой. Например, cell2sym({3*pi/4},'e') возвращает (3*pi)/4 - (103*eps)/249.
'f'В режиме с плавающей точкой, cell2sym представляет все значения в форме N*2^e или -N*2^e, где   N >= 0 и e целые числа. Например, cell2sym({1/10},'f') возвращает 3602879701896397/36028797018963968. Возвращенное рациональное значение является точным значением числа с плавающей запятой, которое вы преобразуете в символьное число.

Выходные аргументы

свернуть все

Получившийся символьный массив, возвращенный как символьный массив.

Смотрите также

| | |

Введенный в R2016a