Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Расположение формул в несколько строк и вывод матриц




Разумеется, вывод формул в несколько строк возможен при помощи создания нескольких текстовых объектов при помощи функции text. Однако, использование одного текстового объекта и интерпретатора LaTeX дает определенные преимущества, например при наборе матриц. Для вывода формулы в несколько строк следует использовать окружение array, в котором указываются: способ выравнивания (c - по центру, l - по левому краю и r - по правому краю), разделители в строке символом & и концы строк символами \\

\begin{array}{lll}формула & формула & формула \\формула & формула & формула \\формула & формула & формула\end{array}

Например, команды

figurehT=text('Position', [0.1 0.5], 'Interpreter', 'latex', 'String',... '$$\begin{array}{lll} 2x+3y&=&5 \\ 4x+y&=&5 \end{array}$$', 'FontSize', 20)

приводят к появлению двух формул (одного текстового объекта), в которых выравнивание сделано по знаку равенства

При включенном интерпретаторе LaTeX, функция text требует в качестве значения свойства String строку или строковую переменную, которую можно сформировать из нескольких строк для того, чтобы обращение к функции text не занимало слишком длинную строку. Предыдущий текстовый объект можно было вывести, разбив строку с формулой на две части, записав их в переменные s1 и s2 и сцепить их затем, например при помощи квадратных скобок или функции horzcat:

figures1 = '$$\begin{array}{lll} 2x+3y&=&5 \\';s2 = '4x+y&=&5 \end{array}$$';text('Position', [0.1 0.5], 'Interpreter', 'latex', 'String', [s1 s2], 'FontSize', 20)

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

figures1='$$\left\{\begin{array}{lll} 2x+3y&=&5 \\'s2='4x+y&=&5 \end{array}\right.$$'hT=text('Position', [0.1 0.5], 'Interpreter', 'latex', 'String',... [s1 s2], 'FontSize', 20)

приводит к системе

Окружение array позволяет набирать и более сложные формулы, например матрицы. Операторы

figures1='$$A=\left(\begin{array}{llll} a_{11}&a_{12}&\ldots&a_{1n}\\'s2='a_{21}&a_{22}&\ldots&a_{2n}\\'s3='\vdots&\vdots&\ddots&\vdots\\'s4='a_{m1}&a_{m2}&\ldots&a_{mn}'s5='\end{array}\right)$$'s=[s1 s2 s3 s4 s5]hT=text('Position', [0.1 0.5], 'Interpreter', 'latex', 'String', s, 'FontSize', 20)

выводят в графическое окно следующую матрицу

В результате получается один текстовый объект, который позволяет применить к нему свойства текстового объекта, описанные в разделе Изменение вида текстового объекта, например можно изменить цвет фона и шрифта

set(hT,'Color','y','BackgroundColor','k')

В качестве примера автоматизации этого процесса для матриц, содержащих числовые значения, приведем простую функцию mat2tex, которая по заданной матрице формирует соответствующую строку для интерпретатора LaTeX (слишком длинные строки интерпретатор MATLAB не может обработать):

function s=matr2tex(A,fmt)[m,n]=size(A);s='$$\left(\begin{array}';s=[s '{' repmat('l',1,n) '}'];for i=1:m-1 for j=1:n-1 s=[s num2str(A(i,j),fmt) '\,' '&']; end s=[s num2str(A(i,j),fmt) '\\']; endfor j=1:n-1 s=[s num2str(A(m,j),fmt) '\,' '&']; ends=[s num2str(A(m,n),fmt) '\end{array}\right)$$'];

Ее входные аргументы: A - матрица и fmt - строка с форматом представления числа или количество значащих цифр, например:

figureA=rand(5)s=matr2tex(A,'%11.2f')hT=text('Position', [0.1 0.5], 'Interpreter', 'latex', 'String',s, 'FontSize', 15)

приводит к

Преобразование формулы в рисунок (объект Image)

На сайте http://www.mathworks.com/matlabcentral/ в File Exchange > Graphics > Specialized Plot and Graph Types можно скачать функцию teximage, которая по заданной строке с формулой в формате LaTeX создает рисунок, т.е. объект Image. Это оказывается полезным, при размещении формул не на осях, а на других графических объектах, например, кнопках.

ЧАСТЬ 2




Поделиться с друзьями:


Дата добавления: 2015-06-04; Просмотров: 370; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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