Back to site
Since 2004, our University project has become the Internet's most widespread web hosting directory. Here we like to talk a lot about web development, networking and server security. It is, after all, our expertise. To make things better we've launched this science section with the free access to educational resources and important scientific material translated to different languages.

Асноўная інфармацыя MATLAB

MATLAB (матрычная алгебра)

Matlab з'яўляецца камерцыйным "Матрыца Лабараторыя" пакет, які працуе як інтэрактыўная серада праграмавання. Яна з'яўляецца асновай лінейкі праграмнага забеспячэння матэматычнага факультэта, а таксама даступны для PC і Макінтошы, і можа быць знойдзена на CIRCA VAXes. Matlab добра прыстасаваны да лікавых эксперыментаў, так як асноўныя алгарытмы для функцый ад Matlab убудаваныя і пастаўляюцца м-файлаў на аснове стандартных бібліятэк LINPACK і EISPACK.

Matlab праграмы і файлы сцэнарыяў заўсёды маюць імёны, якія сканчаюцца на "м".; Мова праграмавання з'яўляецца выключна простым, так як амаль кожны аб'ект дадзеных, мяркуецца, што масіў. Графічны выснову можна дапоўніць лікавых вынікаў.

Інтэрнэт абслугоўванне прадастаўляецца Matlab радка (падвойная стрэлка), як правіла (спіс усіх даступных каманд):

 >> Дапамажыце [доўгі спіс частак пра даведку варта] 
і для канкрэтных каманд:
 >> Дапамажыце БПФ [падказку на функцыю БПФ варта]. 
Папера дакументацыя знаходзіцца на шэльфе ў дакуменце кампактным чорным кніг і лакальна згенераваных навучальныя дапаможнікі даступныя і выкарыстоўваюцца ў курсах.

Як кінуць Matlab

Адказ на самы папулярны пытанне ў дачыненнi да любой праграмы заключаецца ў наступным: пакідайце сесіі Matlab, увёўшы
 выхад 
або увёўшы
 выхад 
у Matlab радка.

Пакетныя заданні

Matlab найбольш часта выкарыстоўваецца ў інтэрактыўным рэжыме, але "партыя" ці "фон" працоўных месцаў можа быць выкананая гэтак жа. Адладка вашага каманды ў інтэрактыўным і захаваць іх у файл (`script.m ', напрыклад). Для пачатку фон сесіі з вашага зыходнага файла і паставіць вытворчасць і паведамленні пра памылкі ў іншы файл (`script.out ', напрыклад), увядзіце наступны радок у камандным радку:

 добры MATLAB <script.m> & & script.out 

Затым можна выканаць іншую працу на машыне або з выхадам у той час як Matlab перамолвае вашы праграмы. Вось тлумачэнне паслядоўнасці каманд вышэй.

    павінны зрабіць гэта для неінтерактівных сесій Matlab з-за нагрузкі, што лік - храбусценне ставіць на цэнтральны працэсар.
  1. "<Script.m" азначае, што ўваход для чытання з файла script.m.
  2. "> & Script.out" з'яўляецца інструкцыяй для адпраўкі выхаду праграмы і вывад памылак у файл script.out. (Важна для падлучэння першага амперсанда (&), так што паведамленні пра памылкі накіроўваюцца на ваш файл, а не на экране - калі апусціць амперсанда то вашы паведамленні аб памылках могуць з'явіцца на экранах іншых людзей, і ваша папулярнасць будзе падаць. )
  3. Нарэшце, заключным амперсанда (&), ставіць усю працу ў фонавым рэжыме.
(Вядома, імёны файлаў, які выкарыстоўваецца вышэй, не важна - гэта ўсяго толькі прыклады, якія ілюструюць фармат каманднага радка.)

Кароткая інструкцыя па Matlab даступны ў наступным вузле інфармацыя ў гэтым файле. (Touch "н", каб перайсці туды цяпер, ці вярнуцца да меню ў верхні вузел для гэтага файла.)

MATLAB Падручнік

MATLAB Падручнік (заснавана на працы Р. Сміт, лістапада 1988 і пазней)

Гэта інтэрактыўнае ўвядзенне ў MATLAB. Я прадставіў паслядоўнасць каманд для ўводу цалі пазначэнне RET азначае, што вы павінны ўвесці "вяртанне" ключ, гэта невідавочнае пасля каманды.

Выхаваць з MATLAB з радка аперацыйнай сістэмы

 Лабараторыя% 
Вы павінны ўвесці MATLAB
 Лабараторыя% MATLAB RET 
Гэта будзе сапраўдны радку
 >> 
Цяпер вы знаходзіцеся ў MATLAB.

Калі вы выкарыстоўваеце сістэмы X Window на працоўных станцыях дэпартамента матэматыкі, то вы таксама можаце пачаць MATLAB з галоўнага меню, абраўшы "MATLAB" ад "Math прыкладання" падменю. Акно павінна з'явіцца і пачаць MATLAB. Пры запуску MATLAB пад акном сістэмы, будзь вы пачынаеце з меню або запрашэнне сістэмы, маленькі лагатып MATLAB з'явіцца ўсплывальнае акно, пакуль праграма загрузкі і знікае, калі MATLAB гатовы да выкарыстання.

Калі вы будзеце гатовыя выйсці, тыпу выхаду

 >> Выхад RET 
У ходзе кіраўніцтва, калі вы затрымаліся на тым, што каманда азначае тып
 >> Дапамажыце <command name> RET 
, А затым паспрабуйце каманду.

Вы павінны запісаць вынікі каманды і эксперыменты ў запісной кніжцы.

Заўвага: У залежнасці ад інфармацыі чытача Вы выкарыстоўваеце для навігацыі гэтага кіраўніцтва вы зможаце выразаць і ўстаўляць шмат прыкладаў непасрэдна ў Matlab.

Будаўніцтва Матрыцы

Matlab мае шмат тыпаў матрыц, якія ўбудаваныя ў сістэму. 7 на 7 матрыца са выпадковымі запісаў вырабляецца шляхам уводу
 рандаў (7) 

Вы можаце згенераваць выпадковых матрыц іншых памераў і атрымаць даведку па камандзе рандаў ў MATLAB:

 рандаў (2,5) дапамагчы рандаў 

Іншая адмысловая матрыца, званая матрыцай Гільберта, з'яўляецца стандартным прыкладам у лікавым лінейнай алгебры.

 Hilb (5) дапамагчы Hilb 

5 на 5 магічны квадрат даецца наступная каманда:

 магія (5) дапамогу магію 
Магічны квадрат ўяўляе сабой квадратную матрыцу якая мае роўныя сумы па ўсіх яе радкоў і слупкоў. Мы будзем выкарыстоўваць матрычнага множання, каб праверыць гэта ўласцівасць крыху пазней.

Некаторыя з стандартных матрыц з лінейнай алгебры лёгка выраблена:

  eye(6)    zeros(4,7)    ones(5)  

Вы таксама можаце будаваць матрыцы самастойна з любой запісы, якія вы захочаце.

 [1 2 3 5 Ліпеня 9] [1, 2, 3, 4, 5, 6, 7, 8, 9] [1 2 3 4 RET RET чэрвеня 5] 

[Звярніце ўвагу, што калі вы выкарыстоўваеце выразаць і ўставіць асаблівасцямі аконнай сістэмы ці рэдактара, каб скапіяваць гэтыя прыклады ў Matlab, то вы не павінны выкарыстоўваць выразання і ўстаўкі і апошняй радкі вышэй. Тып яе ад рукі, дакранаючыся клавішу Увод, дзе вы бачыце RET і праверце, ці ёсць зварот карэткі мае ніякага значэння ў выхадны Matlab.]

Matlab сінтаксісам зручна для заблакаваных матрыц:

 [Глаз (2); нулі (2)] [вачэй (2); нулі (3)] [вачэй (2), з іх (2,3)] 

Хто-небудзь з апошніх трох прыкладаў вырабляюць паведамленні аб памылках? У чым праблема?

Зменныя

Matlab мае убудаваныя зменныя, як пі, EPS, і ANS. Вы можаце даведацца пра іх значэнні ад перакладчыка Matlab.
 пі EPS EPS дапамагчы 

У любы час вы хочаце ведаць, актыўных зменных, якія вы можаце выкарыстоўваць, які:

, Якія дапамагаюць хто 

Пераменная анс будзе сачыць за апошні выхад, які не быў прызначаны на іншую зменную.

 магія (6) анс х = анс х = [х, вока (6)] х 

Так як вы стварылі новую зменную х, ён павінен з'явіцца ў якасці актыўных зменных.

 хто 

Каб выдаліць зменную, паспрабуйце наступнае:

 ясна хх хто 

Функцыі

= Магіі (4)

Вазьміце транспонированная:

"

Заўважым, што калі матрыца мае комплексных лікаў у выглядзе запісаў, то функцыя Matlab прымаючы да 'будзе вылічыць транспонированная спалучанае а не транспонированная А.

Іншыя арыфметычныя аперацыі лёгка выканаць.

3 *

-

+ (-Ла)

б = тах ()

макс (б)

Некаторыя Matlab функцыі могуць вяртаць больш аднаго значэння. У выпадку max інтэрпрэтатар вяртае максімальнае значэнне, а таксама індэкс слупка, дзе адбываецца максімальнае значэнне.

[Т, я] = тах (б)

мін ()

б = 2 * тыя ()

* Б


Мы можам выкарыстоўваць матрычнага множання і праверыць "чароўныя" ўласцівасці магічных квадратаў.
 = Магіі (5)

    Коммерсанта = тыя (5,1)

    * Б

    V = тыя (1,5)

    у *

Matlab мае канвенцыі, у якой кропкай перад аперацыяй звычайна змяняецца аперацыі. У выпадку множання, a.*b будзе выконваць пачатковага шляхам уводу множанне замест звычайнага матрычнага множання.

a.*b  (there is a dot there!)

x = 5

x^2

a*a

a^2

a.^2   (another dot) Triu () трлн (а) дыяганаль () дыяганаль (дыяганаль (а)) з = рандаў (4,5) памеру (с) [т, п] = памер (с) м
d=.5-c

There are many functions which we applyдля Скалярыя, Matlab можа прымяняцца як да Скалярыя і матрыц.

грэх (г)

ехр (г)

часопіс (г)

ABS (г)

Matlab мае функцыі для акруглення лікаў з якая плавае коскі ў цэлыя лікі. Яны round , fix, ceil , and floor. The next few examples work through this set of commands and яшчэ пару арыфметычных аперацый.

F = [-. 5 0,1 0,5]

тура (е)

Fix (F)

столі (е)

паверх (е)

сума (е)

прадуктаў (е)

Адносіны і лагічныя аперацыі

У гэтым раздзеле вы павінны думаць аб 1, як "праўдзівай" і 0 as "false." The notations &, |, ~ stand for "and,""or," and "not," respectively. The notation == is a check for equality.
a=[1 0 1 0]

b=[1  1  0  0]

a==b

a<=b

~a

a&b

a & ~a

a | b

a | ~a

Існуе функцыя дазваляе вызначыць, калі матрыца мае па крайняй меры адзін ненулявое элемент, any, а таксама функцыю, каб вызначыць, калі усе запісы выдатныя ад нуля, all.

a

any(a)

c=zeros(1,4)

d=ones(1,4)

any(c)

all(a)

all(d)

e=[a',b',c',d']

any(e)

all(e)

any(all(e))

Калон Пазначэнні

Matlab прапануе некалькі магутных метадаў стварэння масіваў і для прыняцця іх на часткі.
x=-2:1

length(x)

-2:.5:1

-2:.2:1

a=magic(5)

a(2,3)

Цяпер мы будзем выкарыстоўваць абазначэнне тоўстай кішкі, каб выбраць калонку a.

a(2,:)

a(:,3)

a

a(2:4,:)

a(:,3:5)

a(2:4,3:5)

a(1:2:5,:)

Вы можаце змясціць вектар у радку ці слупку пазіцыі ў a.

a(:,[1 2 5])

a([2 5],[2 4 5])

Вы таксама можаце зрабіць прысвойвання выкарыстаннем вектара або матрыцы.

b=rand(5)

b([1 2],:)=a([1 2],:)

a(:,[1 2])=b(:,[3 5])

a(:,[1 5])=a(:,[5 1])

a=a(:,5:-1:1)

Калі вы ўставіць 0-1 вэктару ў калонцы пазіцыі, то калоны, якія адпавядаюць 1, адлюстроўваюцца.

v=[0 1 0 1 1]

a(:,v)

a(v,:)

Гэта быў прыклад з асноўных функцый MATLAB і метады матрыцы маніпуляцыі. У канцы падручніка ёсць спіс функцый. Функцыі, якія вы мелі ў распараджэнні будзе некалькі адрознівацца ад версіі да версіі MATLAB. Увёўшы


help

Вы атрымаеце доступ да апісанняў ўсіх функцый Matlab.

Рознае Асаблівасці

Вы, магчыма, выявілі, што ў цяперашні час MATLAB адчувальная да рэгістра, гэта значыць

"a" is not the same as "A." 
Калі гэта апынецца раздражненне, каманды
casesen
будзе перамыкаць рэгістр і выключэнні.

Дысплей MATLAB паказвае толькі 5 лічбаў у рэжыме па змаўчанні. Справа ў тым, што MATLAB заўсёды трымае і вылічаецца ў падвойнай дакладнасцю 16 знакаў пасля коскі і акругляе дысплей 4 лічбы. Каманда

format long
пераключыцца на паказ ўсіх 16 лічбаў і
 Фармат кароткіх
вернецца ў кароткія праглядаў. Акрамя таго, можна пераключацца назад і наперад у навуковых дысплей з пазначэннямі каманд
 Фармат кароткіх электроннай
і
 Фармат доўга электроннай

Гэта не заўсёды неабходна для MATLAB для адлюстравання вынікаў каманды на экран. Калі вы не жадаеце матрыцы адлюстроўваецца, паставіць кропку з коскай пасля яго,;. Калі MATLAB гатовы прыступіць, радкі>> з'явіцца. Паспрабуйце гэта на матрыцы прама цяпер.

Часам вы патрацілі шмат часу на стварэнне матрыц падчас сеансу MATLAB, і вы хацелі б выкарыстоўваць гэтыя ж матрыцы ў вашай наступнай сесіі. Вы можаце захаваць гэтыя значэнні ў файл, увядзіце

 захаванне файла

Гэта стварае файл

 filename.mat 
, Які змяшчае значэння зменных з вашай сесіі. Калі вы не хочаце, каб захаваць усе зменныя Ёсць два варыянты. Адзін з іх, каб ачысціць ад зменных з дапамогай каманды
 ясна ABC
якія здымуць зменных, У, С. Іншы варыянт складаецца ў выкарыстанні каманды
 захаваць хуг
што дазволіць зэканоміць зменных х, у, г у файле filename.mat. Зменныя могуць быць перагружаны ў адной з будучых сесій, увёўшы
 нагрузкі файла

Калі вы будзеце гатовыя, каб раздрукаваць вынікі сесіі, вы можаце захаваць вынікі ў файл і раздрукаваць файл з аперацыйнай сістэмы з дапамогай "друк" каманда падыходзіць для вашай аперацыйнай сістэмы. Файл ствараецца з дапамогай каманды

 Дзённік файла

Пасля таго, як імя файла было ўстаноўлена вы можаце перамыкацца дзённік з камандамі
 дзённіку
і
 Дзённік з
Гэта будзе капіяваць усё, што ідзе на экране (акрамя графікі) ва ўказаны файл. Так як гэта звычайны тэкставы файл, вы можаце адрэдагаваць яго пазней. Абмеркаванне раздрукаваць графікі адкладаецца на праект "Графіка", дзе MATLAB ў графічныя каманды прадстаўлены.

Некаторыя з вас могуць быць пашчасціла выкарыстоўваць Macintosh або кампутара Сонца з аконную сістэму, што дазваляе хутка ўваходзіць і выходзіць з MATLAB для рэдагавання, друку або іншых працэсаў на сістэмным узроўні. Для тых з вас, хто не так пашанцавала, MATLAB мае асаблівасць, якая дазваляе зрабіць некаторыя з гэтых задач прама з MATLAB. Давайце выкажам здагадку, што вы хочаце адрэдагаваць файл з імем myfile.m і што ваш рэдактар выконваецца на каманду-е выд. Каманда MATLAB

!ed myfile.m
Адкрыецца рэдактар і зараз вы можаце працаваць у ёй, як вы гэта звычайна робіце. Відавочна, што клічнік найважнейшай асаблівасцю тут. Калі вы скончыце рэдагаванне, выйдзеце з рэдактара, як вы гэта звычайна робіце, і вы выявіце, што вы вярнуліся ў сеансе MATLAB. Вы можаце выкарыстоўваць! са шматлікімі камандамі аперацыйнай сістэмы.

Праграмаванне ў MATLAB

MATLAB з'яўляецца мовай праграмавання. Ствараючы файл з пашырэннем. М вы можаце лёгка пісаць і запускаць праграмы. Калі б вы стваралі myfile.m файл праграмы ў MATLAB мову, то вы можаце зрабіць каманду MyFile з MATLAB і яна будзе працаваць, як і любы іншы функцыі MATLAB. Вам не трэба скампіляваць праграму з MATLAB з'яўляецца тлумачэння (не кампілюецца) мова. Такі файл называецца м-файл.

Я збіраюся апісаць асноўныя канструкцыі праграмавання. Існуюць і іншыя канструкцыі даступныя, калі Вы авалодаеце гэтым вы зможаце пісаць зразумелыя праграмы.

Прызначэнне

Прызначэнне з'яўляецца метад дае значэнне зменнай. Вы ўжо бачылі гэта ў інтэрактыўным рэжыме. Будзем пісаць х = даць значэнне ў значэнне x. Вось кароткая праграма, ілюструе выкарыстанне заданне.

Калі Вашай функцыі r = Mod (r)

% r = Mod (, r). Калі і r цэлыя лікі, то
% r з'яўляецца цэлалікавых астатак пасля
% Дзяленне на d. Калі а і Коммерсанта цэлалікавых матрыц,
%, То г-матрыца рэшткі ад дзялення
% Да адпаведнага запісаў. Параўнайце з REM.

r =- r.* паверх (а / дз);

Вы павінны зрабіць файл з імем mod.m і ўвядзіце гэтую праграму менавіта так, як яно напісана. Цяпер назначце некаторага цэлага значэння і d. Працаваць

 мода (г)
Гэта павінна працаваць, як і любы ўбудаванай функцыі MATLAB. Тып
 дапамагчы мода
Гэта павінна вырабляць пяць радкоў каментароў, якія ідуць% знакі. % Знакі ў цэлым сведчаць аб тым, што ў далейшым гэтая лінія каментар, які будзе праігнаравана, калі праграма выконваецца. MATLAB выводзіць на экран каментары, якія ідуць «функцыя» дэкларацыі ў верхняй часткі файла пры дапамозе каманды выкарыстоўваецца. Такім чынам, вы можаце спрыяць дапамагчы, закладзенага MATLAB, каб хутка вызначыць паводзіны функцыі. Тып
 Тып мода
Гэта будзе спіс з усяго файла для вашага звесткі. Што гэта праграма онлайн значыць? Першая радок "аб'яву функцыі". У ёй імя функцыі (які заўсёды такой жа, як імя файла без пашырэння. М), ўваходных зменных (у дадзеным выпадку і г), і выхадныя зменныя (у дадзеным выпадку г) былі абвешчаныя. Далей ідуць "дапаможа каментары", які мы ўжо абмяркоўвалі. Нарэшце, мы падыходзім да мяса праграмы.

Зменнай т у цяперашні час прысвойваецца значэнне аб'явы.* паверх (а / д); аперацыі на правым баку прызначэння мае тое значэнне, якое вы толькі што практыкуе (/ з'яўляецца дзяленне) з "". значэнне пачатковага мудры аперацыя, у адрозненне ад матрыцы аперацыі. Нарэшце, ";" прадухіляе друк адказу на экране да заканчэння выканання. Можна паспрабаваць замяніць "," з "," і запусціць праграму зноў толькі, каб убачыць розніцу.

Разгалінаванне

Галінаванне будаўніцтва

 калі <condition>, <program> канца

Умова функцыі MATLAB звычайна, але не абавязкова са значэннямі 0 або 1 (пазней я распавяду, калі мы можам вар'іраваць ад такога патрабавання), і ўся канструкцыя дазваляе выкананне праграмы, на ўсялякі выпадак значэнне стану не роўна 0. Калі гэта значэнне роўна 0, кіраванне пераходзіць да наступнай праграмы будаўніцтва. Вы павінны мець на ўвазе, што MATLAB тычыцца == б і <= Ь як функцыі са значэннямі 0 або 1.

Часта гэтая канструкцыя распрацавана з

 калі <condition1>, <program1> яшчэ <program2> канца
У гэтым выпадку, калі ўмова роўна 0, то program2 выконваецца.

Іншы варыянт

 калі <condition1>, <program1> 
ElseIf <condition2>, <program2>
канец
Цяпер, калі условие1 не роўна 0, то program1 выконваецца, калі условие1 роўны 0, а калі Условие2 не роўна 0, то program2 выконваецца, а ў адваротным выпадку кіраванне перадаецца на наступную канструкцыю. Вось кароткая праграма, каб паказаць галінавання.

function b=even(n)

% b=even(n). If n is an even integer, then b=1
% otherwise, b=0.

if mod(n,2)==0,
   b=1;
   else b=0;
end

Для Завесы

За цыкл будаўніцтва форму

для я = 1: п, <program>, канец

Тут мы будзем паўтараць праграму адзін раз для кожнага значэння індэкса i. Вось некалькі прыкладаў праграм. Першая матрыца дадатак.

function c=add(a,b)

% c=add(a,b). This is the function which adds 
% the matrices a and b. It duplicates the MATLAB 
% function a+b.

[m,n]=size(a);
[k,l]=size(b);
if m~=k | n~=l,
   r='ERROR using add: matrices are not the same size';
   return, 
end
c=zeros(m,n);
for i=1:m,
   for j=1:n,
      c(i,j)=a(i,j)+b(i,j);
   end
end

Наступная праграма перемножения матрыц.

function c=mult(a,b)

% c=mult(a,b). This is the matrix product of 
% the matrices a and b. It duplicates the MATLAB 
% function c=a*b.

[m,n]=size(a);
[k,l]=size(b);
if n~=k, 
   c='ERROR using mult: matrices are not compatible 
      for multiplication',
   return,
end,
c=zeros(m,l);
for i=1:m,
   for j=1:l,
      for p=1:n,
         c(i,j)=c(i,j)+a(i,p)*b(p,j);
      end
   end
end

Для абодвух гэтых праграм, якія вы павінны былі заўважыць філіяла канструкцыю, якая сочыць за памерам справаздачнасці. Яна ўключана ў якасці паведамленні аб памылцы. У выпадку дадання, зробленая памылка, калі мы паспрабуем дадаць матрыцамі розных памераў, а ў выпадку мульт гэта з'яўляецца памылкай, калі памножыць матрыцу на левыя не маюць аднолькавы лік слупкоў, што колькасць Радкі матрыцы справа. Калі б гэтыя паведамленні не былі ўключаны і была дапушчана памылка, MATLAB перадалі б іншае паведамленне пра памылку сказаўшы, што паказчык перавышае памеры матрыцы. Вы заўважыце, у паведамленні пра памылку выкарыстанне адзінарных двукоссяў. Словы, акружаныя каціроўкі будуць разглядацца як тэкст і адправіў на экран у якасці значэння зменнай c. Пасля паведамлення вяртання каманды, якая з'яўляецца дырэктывай для адпраўкі кіраванне назад у функцыю, якая называецца дадаць ці вяртанне да каманднага радку. Я звычайна рэкамендую выкарыстоўваць толькі вяртання каманды ў кантэксце паведамленне пра памылку. Большасць MATLAB рэалізацыі маюць функцыю паведамлення аб памылцы, альбо errmsg або памылкі, якія вы, магчыма, аддадуць перавагу выкарыстоўваць.

У будаўніцтве

for i=1:n, <program>, end 
індэкс г можа (на самай справе звычайна робіць), сустракаюцца ў некаторых істотным чынам ўнутры праграмы. MATLAB дазволіць вам паставіць любы вектар замест вектара 1: N у гэтым будаўніцтве.

Такім чынам, будаўніцтва

 для я = [2,4,5,6,10], <program>, канец 

цалкам законна. У гэтым выпадку праграма будзе выконвацца 5 разоў, а значэння зменнай я падчас выканання, паслядоўна, 2,4,5,6,10. MATLAB распрацоўнікі пайшлі яшчэ далей. Калі вы можаце пакласці вектару, чаму б не паставіць матрыцу? Так, напрыклад,
 для г = магіі (7), <program>, канец 
Таксама законна. Зараз праграма будзе выконвацца 7 (= лік слупкоў) разы, а значэння я, якія выкарыстоўваюцца ў праграме будзе паслядоўна калоны магіі (7).

Хоць цыклы

У той час як цыкл будаўніцтва форму

 у той час як <condition>, <program>, канец

дзе ўмова функцыі MATLAB, як і галінаванне будаўніцтва. Праграма Праграма будзе выконвацца паслядоўна, пакуль значэнне ўмовы не роўна 0. Хоць завесы насіць няяўнай небяспека ў тым, што няма ніякай гарантыі, у цэлым, што вы будзеце выходзіць з цыклу. Вось прыклад праграмы, якая выкарыстоўвае у той час як цыкл.

function l=twolog(n)

% l=twolog(n). l is the floor of the base 2
% logarithm of n.

l=0;
m=2;
while m<=n
   l=l+1;
   m=2*m;
end

Рекурсия

Рекурсия вакольнымі канструкцыю, якая дазваляе функцыя выклікае сама сябе. Вось просты прыклад рекурсии

function y=twoexp(n)

% y=twoexp(n). This is a recursive program for computing
% y=2^n. The program halts only if n is a nonnegative integer.

if n==0, y=1;
   else y=2*twoexp(n-1);
end

Праграма мае галінаванне будаўніцтва ўбудаванымі Многія рэкурсіўных праграм робяць. Умова п == 0 з'яўляецца базай рекурсии. Гэта адзіны спосаб атрымаць праграму, каб спыніць, якая называе сябе. "Іншая" частка рекурсии. Звярніце ўвагу, як twoexp (п-1) адбываецца прама ў праграме, якая з'яўляецца вызначальным twoexp (п)! Сакрэт у тым, што ён называе меншае значэнне, п-1, і ён будзе працягваць рабіць гэта, пакуль не дабярэцца да п = 0. Паспяховае рекурсии кліча меншае значэнне.

Ёсць некалькі небяспек з дапамогай рекурсии. Першае, што, як у той час як завесы, гэта магчыма для функцыі называць сябе назаўсёды і ніколі не вяртацца адказ. Па-другое, рекурсия можа прывесці да залішняй разлікі, якія, хоць яны могуць спыніць, можа заняць шмат часу. Трэцяя небяспека ў тым, што ў той час як рэкурсіўнае праграмы працуе, яно мае патрэбу ў дадатковым прасторы для размяшчэння накладных расходаў рекурсии. У лікавых разліках на вельмі вялікіх сістэм памяці раўнанняў часта ў вялікай пашане, і яно не павінна быць выдаткавана на праграму накладныя выдаткі. З улікам усіх гэтых магчымасцяў, чаму дрэнна выкарыстоўваць рекурсию? Гэта не заўсёды дрэнна, і толькі ў руках неспрактыкаванага карыстача. Рэкурсіўнае праграмы можа быць прасцей пісаць і чытаць, чым нерекурсивных праграм. Некаторыя з будучых праектаў ілюструюць добрае і дрэннае выкарыстанне рекурсии.

Розныя нататкі па праграмаванні

Можна змясціць матрыцу функцыя як умова галінавання будаўніцтва або якое-то час цыклу. Такім чынам, ўмова можа быць матрыцай, як тыя, (2), нулі (2), ці вока (2). Як бы канструкцыю, падобную на

if <condition>, < program1>, 
else <program2>, end
паводзіць сябе, калі ўмова = вачэй (2)? Program1 будзе выконвацца, калі усе запісы стану не 0. Такім чынам, калі ўмова = магіі (2), program1 будзе выконвацца ў той час як пры выкананні ўмовы = вачэй (2) кантроль пяройдзе да "другой" бакі і program2 будзе выконвацца.

Праблематычна будаўніцтва адбываецца, калі ў вас ёсць

 калі ~ = B, <program>, канец.
Вы хацелі б праграмы для выканання, калі матрыцы А і У адрозніваюцца на некаторыя запісы. Згодна з канвенцыяй, праграмы будзе выконвацца толькі калі яны адрозніваюцца ад усіх запісаў. Існуюць розныя спосабы абыйсці гэта. Адным з іх з'яўляецца будаўніцтва
 калі A == B яшчэ <program>, канец
якая перадасць кіраванне "яшчэ" частка, калі А і Ў адрозніваюцца па крайняй меры адну запіс. Іншая складаецца ў пераўтварэнні == B ў двайковай функцыі, выкарыстоўваючы ўсе (усе (== B)). Усярэдзіне ўсё стварае бінарны вектар, я - ай запіс 1, толькі калі я - й слупок такі ж, як я - м слупку B. па-за ўсіх вырабляе 1, калі ўсе элементы матрыцы вектарныя 1. Такім чынам, калі А і Ў адрозніваюцца па крайняй меры адзін запіс, то ўсё (усе (== B)) = 0. Будаўніцтва
 калі ~ усе (усе (== B)), <program>, канец
то паводзіць сябе жаданым чынам.

Па сутнасці, тое ж самае справядліва і для канвенцыі ў той час як будаўніцтва.

 у той час як <condition>, <program>, канец.
Праграма Праграма будзе выконвацца паслядоўна тых часоў, пакуль кожная запіс у стан не 0, і кіраванне перадаецца з цыклу, калі хаця б адзін запіс стану роўны 0.

Іншая праблема ўзнікае, калі ў вас ёсць конъюнкция умоў, як у

 калі <condition1> & <Условие2>, 

<program>, канец
Вядома, праграма будзе выконвацца, калі абодва условие1 і Условие2 выдатныя ад нуля. Выкажам здагадку, што условие1 = 0 і Условие2 прычыны паведамленні аб памылцы. Гэта можа адбыцца,
 я <= M & A (I, J) == 0 
дзе т-лік слупкоў матрыцы А. Калі я> т, то вы хацелі б прайсці кантроль, але так як (I, J) не мае сэнсу, калі я> т памылцы будзе выпуклыя ўверх. Тут Вы можаце укладваць умовах.

if i<=m,
   if A(i,j)==0,
      <program>

   end
end

Сцэнарыі

Скрыпт м-файл без абвяшчэння функцыі ў верхняй частцы. Скрыпт вядзе сябе па-рознаму. Пры ўводзе які вы атрымліваеце спіс зменных, якія ўступілі ў сілу на працягу бягучай сесіі. Выкажам здагадку, што х з'яўляецца адной з гэтых пераменных. Калі вы пішаце праграму з выкарыстаннем функцыі файл, і вы выкарыстоўваеце зменную х ўнутры праграмы, то праграма не будзе выкарыстоўваць значэння х з вашай сесіі (калі толькі х быў адным з ўваходных значэнняў у функцыі), а х будзе Значэнне адпаведнай праграмы. Больш таго, калі вы аб'яўляеце новага значэння для х, праграма не будзе змяняць значэнне х з сесіі. Гэта вельмі зручна, бо гэта азначае, што вы не павінны занадта турбавацца аб зменных сеансу у той час як ваша праграма выконваецца. Усё гэта адбылося з-за аб'явы функцыі. Калі вы не робіце, што абвяшчэнне функцыі, то зменныя ў сесіі могуць быць зменены. Часам гэта вельмі карысна, але я звычайна рэкамендую выкарыстоўваць функцыю файлаў.

Прапановы

Гэтыя некалькі саветаў аб праграмаванні і праграмаванне ў MATLAB, у прыватнасці.

1) Я заклікаю вас выкарыстаць водступ стыль, які вы бачылі ў названых праграм. Гэта робіць праграмы больш зручным для чытання, праграма сінтаксіс лягчэй праверыць, і гэта прымушае вас думаць з пункту гледжання пабудовы вашай праграмы ў блокі.

2) Паставіць шмат каментароў у вашай праграме, каб распавесці чытачу ў простым англійскай мове, што адбываецца. Калі-небудзь, што чытач будзе вам, і вы будзеце здзіўляцца, што вы зрабілі.

3) Змесціце паведамленні аб памылках у праграмах, як тыя вышэй. Па меры праходжання праз дадзенае кіраўніцтва, вашыя праграмы будуць будаваць адзін на аднаго. Паведамленні аб памылках дапамогуць вам адладкі будучых праграм.

4) Заўсёды структуры, на выхадзе, як быццам гэта будзе ўваход іншай функцыі. Напрыклад, калі ваша праграма «так-не" вытворчасці, не маюць яго вяртанне словы «так» і «не», а вяртаць 1 або 0, так што ён можа быць выкарыстаны ў якасці ўмовы для філіяла або ў той час як цыкл будаўніцтва ў будучыні.

5) У MATLAB, старайцеся пазбягаць цыклаў ў вашых праграмах. MATLAB аптымізавана для працы ўбудаваных функцый. Для параўнання, убачыць, наколькі хутчэй * На працягу мульт (A, B). Вы будзеце здзіўлены тым, колькі эканоміка можа быць дасягнута з дапамогай функцый MATLAB.

6) Калі ў вас узніклі праблемы напісаць праграму, атрымаць невялікую яго частка працуе і спрабуюць пабудаваць на гэтым. Са спасылкай на 5), напісаць праграму першага з завесамі, пры неабходнасці, а затым вярнуцца і палепшыць яго.

MATLAB дэманстрацый

Matlab пастаўляецца з некалькімі дэманстрацыйная праграма. Выкарыстоўвайце help demos, каб даведацца больш аб гэтых (колькасць дэма будзе залежаць ад версіі Matlab ў вас ёсць).

Некаторыя з стандартнага дэма можа быць асабліва карысна для карыстальнікаў, якія з'яўляюцца пачаткоўцамі ў лінейнай алгебры:

Некаторыя MATLAB ўбудаваных функцый

Гэта спіс функцый, даступных у Matlab па стане на 1984 г., якія павінны быць прыняты ў якасці хуткага напамін аб самых асноўных інструментаў. Глядзіце дапамогай Matlab экранаў і вытрымкі з гэтых экранаў перадрукаваны ў раздзеле Некаторыя апісання функцый MATLAB. У любым выпадку, ваша версія Matlab могуць нязначна адрознівацца.

intro    <        chol     end      function lu       quit     sprintf  
help     >        clc      eps      global   macro    qz       sqrt     
demo     =        clear    error    grid     magic    rand     startup  
[        &        clg      eval     hess     max      rcond    string   
]        |        clock    exist    hold     memory   real     subplot  
(        ~        conj     exit     home     mesh     relop    sum      
)        abs      contour  exp      ident    meta     rem      svd      
.        all      cos      expm     if       min      return   tan      
,        ans      cumprod  eye      imag     nan      round    text     
;        any      cumsum   feval    inf      nargin   save     title    
%        acos     delete   fft      input    norm     schur    type     
!        asin     det      filter   inv      ones     script   what     
:        atan     diag     find     isnan    pack     semilogx while    
'        atan2    diary    finite   keyboard pause    semilogy who      
+        axis     dir      fix      load     pi       setstr   xlabel   
-        balance  disp     floor    log      plot     shg      ylabel   
*        break    echo     flops    loglog   polar    sign     zeros    
\        casesen  eig      for      logop    prod     sin      
/        ceil     else     format   ltifr    prtsc    size     
^        chdir    elseif   fprintf  ltitr    qr       sort     


acosh        demo         hankel       membrane     print        table1 
angle        demolist     hds          menu         quad         table2 
asinh        dft          hilb         meshdemo     quaddemo     tanh    
atanh        diff         hist         meshdom      quadstep     tek     
bar          eigmovie     histogram    mkpp         rank         tek4100 
bench        ergo         hp2647       movies       rat          terminal
bessel       etime        humps        nademo       ratmovie     toeplitz
bessela      expm1        idft         nelder       readme       trace   
besselh      expm2        ieee         neldstep     residue      translate
besseln      expm3        ifft         nnls         retro        tril  
blanks       feval        ifft2        null         roots        triu   
cdf2rdf      fft2         info         num2str      rot90        unmkpp 
census       fftshift     inquire      ode23        rratref      vdpol  
citoh        fitdemo      int2str      ode45        rratrefmovie versa  
cla          fitfun       invhilb      odedemo      rref         vt100  
compan       flipx        isempty      orth         rsf2csf      vt240  
computer     flipy        kron         pinv         sc2dc        why   
cond         funm         length       plotdemo     sg100        wow   
conv         gallery      log10        poly         sg200        xterm  
conv2        gamma        logm         polyfit      sinh         zerodemo
corr         getenv       logspace     polyline     spline       zeroin 
cosh         ginput       matdemo      polymark     sqrtm        
ctheorem     gpp          matlab       polyval      square       
dc2sc        graphon      mean         polyvalm     std          
deconv       hadamard     median       ppval        sun          


addtwopi buttap   cov      fftdemo  freqz    kaiser   specplot 
bartlett butter   decimate filtdemo fstab    numf     spectrum 
bilinear chebap   denf     fir1     hamming  readme2  triang   
blackman chebwin  detrend  fir2     hanning  remez    xcorr    
boxcar   cheby    eqnerr2  freqs    interp   remezdd  xcorr2   
                                                      yulewalk 

Некаторыя апісання функцый MATLAB

Гэтыя спісы будуць скапіяваныя з дапамогай экранаў для MATLAB версіі 4.2c (ад 23 лістапада 1994). Толькі нешматлікія з рэзюмэ Гэта - выкарыстанне даведачнай сістэме Matlab, каб убачыць больш.

>> help


HELP topics:

matlab/general       -  General purpose commands.
matlab/ops           -  Operators and special characters.
matlab/lang          -  Language constructs and debugging.
matlab/elmat         -  Elementary matrices and matrix manipulation.
matlab/specmat       -  Specialized matrices.
matlab/elfun         -  Elementary math functions.
matlab/specfun       -  Specialized math functions.
matlab/matfun        -  Matrix functions - numerical linear algebra.
matlab/datafun       -  Data analysis and Fourier transform functions.
matlab/polyfun       -  Polynomial and interpolation functions.
matlab/funfun        -  Function functions - nonlinear numerical methods.
matlab/sparfun       -  Sparse matrix functions.
matlab/plotxy        -  Two dimensional graphics.
matlab/plotxyz       -  Three dimensional graphics.
matlab/graphics      -  General purpose graphics functions.
matlab/color         -  Color control and lighting model functions.
matlab/sounds        -  Sound processing functions.
matlab/strfun        -  Character string functions.
matlab/iofun         -  Low-level file I/O functions.
matlab/demos         -  The MATLAB Expo and other demonstrations.
toolbox/chem         -  Chemometrics Toolbox
toolbox/control      -  Control System Toolbox.
fdident/fdident      -  Frequency Domain System Identification Toolbox
fdident/fddemos      -  Demonstrations for the FDIDENT Toolbox
toolbox/hispec       -  Hi-Spec Toolbox
toolbox/ident        -  System Identification Toolbox.
toolbox/images       -  Image Processing Toolbox.
toolbox/local        -  Local function library.
toolbox/mmle3        -  MMLE3 Identification Toolbox.
mpc/mpccmds          -  Model Predictive Control Toolbox
mpc/mpcdemos         -  Model Predictive Control Toolbox
mutools/commands     -  Mu-Analysis and Synthesis Toolbox.: Commands directory
mutools/subs         -  Mu-Analysis and Synthesis Toolbox -- Supplement
toolbox/ncd          -  Nonlinear Control Design Toolbox.
nnet/nnet            -  Neural Network Toolbox.
nnet/nndemos         -  Neural Network Demonstrations and Applications.
toolbox/optim        -  Optimization Toolbox.
toolbox/robust       -  Robust Control Toolbox.
toolbox/signal       -  Signal Processing Toolbox.
toolbox/splines      -  Spline Toolbox.
toolbox/stats        -  Statistics Toolbox.
toolbox/symbolic     -  Symbolic Math Toolbox.
toolbox/wavbox       - (No table of contents file)
simulink/simulink    -  SIMULINK model analysis and construction functions.
simulink/blocks      -  SIMULINK block library.
simulink/simdemos    -  SIMULINK demonstrations and samples.
toolbox/codegen      -  Real-Time Workshop 

For more help on directory/topic, type "help topic".

>> help elmat

 Elementary matrices and matrix manipulation.

 Elementary matrices.
   zeros       - Zeros matrix.
   ones        - Ones matrix.
   eye         - Identity matrix.
   rand        - Uniformly distributed random numbers.
   randn       - Normally distributed random numbers.
   linspace    - Linearly spaced vector.
   logspace    - Logarithmically spaced vector.
   meshgrid    - X and Y arrays for 3-D plots.
   :           - Regularly spaced vector.

 Special variables and constants.
   ans         - Most recent answer.
   eps         - Floating point relative accuracy.
   realmax     - Largest floating point number.
   realmin     - Smallest positive floating point number.
   pi          - 3.1415926535897....
   i, j        - Imaginary unit.
   inf         - Infinity.
   NaN         - Not-a-Number.
   flops       - Count of floating point operations.
   nargin      - Number of function input arguments.
   nargout     - Number of function output arguments.
   computer    - Computer type.
   isieee      - True for computers with IEEE arithmetic.
   isstudent   - True for the Student Edition.
   why         - Succinct answer.
   version     - MATLAB version number.

 Time and dates.
   clock       - Wall clock.
   cputime     - Elapsed CPU time.
   date        - Calendar.
   etime       - Elapsed time function.
   tic, toc    - Stopwatch timer functions.

 Matrix manipulation.
   diag        - Create or extract diagonals.
   fliplr      - Flip matrix in the left/right direction.
   flipud      - Flip matrix in the up/down direction.
   reshape     - Change size.
   rot90       - Rotate matrix 90 degrees.
   tril        - Extract lower triangular part.
   triu        - Extract upper triangular part.
   :           - Index into matrix, rearrange matrix.

>> help specmat

 Specialized matrices.

   compan      - Companion matrix.
   gallery     - Several small test matrices.
   hadamard    - Hadamard matrix.
   hankel      - Hankel matrix.
   hilb        - Hilbert matrix.
   invhilb     - Inverse Hilbert matrix.
   kron        - Kronecker tensor product.
   magic       - Magic square.
   pascal      - Pascal matrix.
   rosser      - Classic symmetric eigenvalue test problem.
   toeplitz    - Toeplitz matrix.
   vander      - Vandermonde matrix.
   wilkinson   - Wilkinson's eigenvalue test matrix.

>> help elfun

 Elementary math functions.

 Trigonometric.
   sin         - Sine.
   sinh        - Hyperbolic sine.
   asin        - Inverse sine.
   asinh       - Inverse hyperbolic sine.
   cos         - Cosine.
   cosh        - Hyperbolic cosine.
   acos        - Inverse cosine.
   acosh       - Inverse hyperbolic cosine.
   tan         - Tangent.
   tanh        - Hyperbolic tangent.
   atan        - Inverse tangent.
   atan2       - Four quadrant inverse tangent.
   atanh       - Inverse hyperbolic tangent.
   sec         - Secant.
   sech        - Hyperbolic secant.
   asec        - Inverse secant.
   asech       - Inverse hyperbolic secant.
   csc         - Cosecant.
   csch        - Hyperbolic cosecant.
   acsc        - Inverse cosecant.
   acsch       - Inverse hyperbolic cosecant.
   cot         - Cotangent.
   coth        - Hyperbolic cotangent.
   acot        - Inverse cotangent.
   acoth       - Inverse hyperbolic cotangent.

 Exponential.
   exp         - Exponential.
   log         - Natural logarithm.
   log10       - Common logarithm.
   sqrt        - Square root.

 Complex.
   abs         - Absolute value.
   angle       - Phase angle.
   conj        - Complex conjugate.
   imag        - Complex imaginary part.
   real        - Complex real part.

 Numeric.
   fix         - Round towards zero.
   floor       - Round towards minus infinity.
   ceil        - Round towards plus infinity.
   round       - Round towards nearest integer.
   rem         - Remainder after division.
   sign        - Signum function.

>> help specfun

 Specialized math functions.

   besselj     - Bessel function of the first kind.
   bessely     - Bessel function of the second kind.
   besseli     - Modified Bessel function of the first kind.
   besselk     - Modified Bessel function of the second kind.
   beta        - Beta function.
   betainc     - Incomplete beta function.
   betaln      - Logarithm of beta function.
   ellipj      - Jacobi elliptic functions.
   ellipke     - Complete elliptic integral.
   erf         - Error function.
   erfc        - Complementary error function.
   erfcx       - Scaled complementary error function.
   erfinv      - Inverse error function.
   expint      - Exponential integral function.
   gamma       - Gamma function.
   gcd         - Greatest common divisor.
   gammainc    - Incomplete gamma function.
   lcm         - Least common multiple.
   legendre    - Associated Legendre function.
   gammaln     - Logarithm of gamma function.
   log2        - Dissect floating point numbers.
   pow2        - Scale floating point numbers.
   rat         - Rational approximation.
   rats        - Rational output.
   cart2sph    - Transform from Cartesian to spherical coordinates.
   cart2pol    - Transform from Cartesian to polar coordinates.
   pol2cart    - Transform from polar to Cartesian coordinates.
   sph2cart    - Transform from spherical to Cartesian coordinates.

>> help matfun

 Matrix functions - numerical linear algebra.

 Matrix analysis.
   cond        - Matrix condition number.
   norm        - Matrix or vector norm.
   rcond       - LINPACK reciprocal condition estimator.
   rank        - Number of linearly independent rows or columns.
   det         - Determinant.
   trace       - Sum of diagonal elements.
   null        - Null space.
   orth        - Orthogonalization.
   rref        - Reduced row echelon form.

 Linear equations.
   \ and /     - Linear equation solution; use "help slash".
   chol        - Cholesky factorization.
   lu          - Factors from Gaussian elimination.
   inv         - Matrix inverse.
   qr          - Orthogonal-triangular decomposition.
   qrdelete    - Delete a column from the QR factorization.
   qrinsert    - Insert a column in the QR factorization.
   nnls        - Non-negative least-squares.
   pinv        - Pseudoinverse.
   lscov       - Least squares in the presence of known covariance.

 Eigenvalues and singular values.
   eig         - Eigenvalues and eigenvectors.
   poly        - Characteristic polynomial.
   polyeig     - Polynomial eigenvalue problem.
   hess        - Hessenberg form.
   qz          - Generalized eigenvalues.
   rsf2csf     - Real block diagonal form to complex diagonal form.
   cdf2rdf     - Complex diagonal form to real block diagonal form.
   schur       - Schur decomposition.
   balance     - Diagonal scaling to improve eigenvalue accuracy.
   svd         - Singular value decomposition.

 Matrix functions.
   expm        - Matrix exponential.
   expm1       - M-file implementation of expm.
   expm2       - Matrix exponential via Taylor series.
   expm3       - Matrix exponential via eigenvalues and eigenvectors.
   logm        - Matrix logarithm.
   sqrtm       - Matrix square root.
   funm        - Evaluate general matrix function.

>> help general

 General purpose commands.
 MATLAB Toolbox  Version 4.2a 25-Jul-94

 Managing commands and functions.
   help        - On-line documentation. 
   doc         - Load hypertext documentation.
   what        - Directory listing of M-, MAT- and MEX-files.
   type        - List M-file.
   lookfor     - Keyword search through the HELP entries.
   which       - Locate functions and files.
   demo        - Run demos.
   path        - Control MATLAB's search path.

 Managing variables and the workspace.
   who         - List current variables.
   whos        - List current variables, long form.
   load        - Retrieve variables from disk.
   save        - Save workspace variables to disk.
   clear       - Clear variables and functions from memory.
   pack        - Consolidate workspace memory.
   size        - Size of matrix.
   length      - Length of vector.
   disp        - Display matrix or text.

 Working with files and the operating system.
   cd          - Change current working directory.
   dir         - Directory listing.
   delete      - Delete file.
   getenv      - Get environment value.
   !           - Execute operating system command.
   unix        - Execute operating system command & return result.
   diary       - Save text of MATLAB session.

 Controlling the command window.
   cedit       - Set command line edit/recall facility parameters.
   clc         - Clear command window.
   home        - Send cursor home.
   format      - Set output format.
   echo        - Echo commands inside script files. 
   more        - Control paged output in command window.

 Starting and quitting from MATLAB.
   quit        - Terminate MATLAB.
   startup     - M-file executed when MATLAB is invoked.
   matlabrc    - Master startup M-file.

 General information.
   info        - Information about MATLAB and The MathWorks, Inc.
   subscribe   - Become subscribing user of MATLAB.
   hostid      - MATLAB server host identification number.
   whatsnew    - Information about new features not yet documented.
   ver         - MATLAB, SIMULINK, and TOOLBOX version information.

>> help funfun

 Function functions - nonlinear numerical methods.

   ode23       - Solve differential equations, low order method.
   ode23p      - Solve and plot solutions.
   ode45       - Solve differential equations, high order method.
   quad        - Numerically evaluate integral, low order method.
   quad8       - Numerically evaluate integral, high order method.
   fmin        - Minimize function of one variable.
   fmins       - Minimize function of several variables.
   fzero       - Find zero of function of one variable. 
   fplot       - Plot function.

 See also The Optimization Toolbox, which has a comprehensive
 set of function functions for optimizing and minimizing functions.

>> help polyfun

 Polynomial and interpolation functions.

 Polynomials.
   roots       - Find polynomial roots.
   poly        - Construct polynomial with specified roots.
   polyval     - Evaluate polynomial.
   polyvalm    - Evaluate polynomial with matrix argument.
   residue     - Partial-fraction expansion (residues).
   polyfit     - Fit polynomial to data.
   polyder     - Differentiate polynomial.
   conv        - Multiply polynomials.
   deconv      - Divide polynomials.

 Data interpolation.
   interp1     - 1-D interpolation (1-D table lookup).
   interp2     - 2-D interpolation (2-D table lookup).
   interpft    - 1-D interpolation using FFT method.
   griddata    - Data gridding.

 Spline interpolation.
   spline      - Cubic spline data interpolation.
   ppval       - Evaluate piecewise polynomial.

>> help ops   

 Operators and special characters.

  Char    Name                         HELP topic

   +      Plus                         arith
   -      Minus                        arith
   *      Matrix multiplication        arith
  .*     Array multiplication         arith
   ^      Matrix power                 arith
  .^     Array power                  arith

   \      Backslash or left division   slash
   /      Slash or right division      slash
  ./     Array division               slash
   kron   Kronecker tensor product     kron

   :      Colon                        colon

   ( )    Parentheses                  paren
   [ ]    Brackets                     paren

  .      Decimal point                punct
  ..     Parent directory             punct
  ...    Continuation                 punct
  ,      Comma                        punct
   ;      Semicolon                    punct
   %      Comment                      punct
   !      Exclamation point            punct
   '      Transpose and quote          punct
   =      Assignment                   punct

   ==     Equality                     relop
   <,>    Relational operators         relop
   &      Logical AND                  relop
   |      Logical OR                   relop
   ~      Logical NOT                  relop
   xor    Logical EXCLUSIVE OR         xor

 Logical characteristics.
   exist       - Check if variables or functions are defined.
   any         - True if any element of vector is true.
   all         - True if all elements of vector are true.
   find        - Find indices of non-zero elements.
   isnan       - True for Not-A-Number.
   isinf       - True for infinite elements.
   finite      - True for finite elements.
   isempty     - True for empty matrix.
   isreal      - True for real matrix.
   issparse    - True for sparse matrix.
   isstr       - True for text string.
   isglobal    - True for global variables.

>> help lang  

 Language constructs and debugging.

 MATLAB as a programming language.
   script      - About MATLAB scripts and M-files.
   function    - Add new function.
   eval        - Execute string with MATLAB expression.
   feval       - Execute function specified by string.
   global      - Define global variable.
   nargchk     - Validate number of input arguments.
   lasterr     - Last error message.

 Control flow.
   if          - Conditionally execute statements.
   else        - Used with IF.
   elseif      - Used with IF.
   end         - Terminate the scope of FOR, WHILE and IF statements.
   for         - Repeat statements a specific number of times.
   while       - Repeat statements an indefinite number of times.
   break       - Terminate execution of loop.
   return      - Return to invoking function.
   error       - Display message and abort function.

 Interactive input.
   input       - Prompt for user input. 
   keyboard    - Invoke keyboard as if it were a Script-file.
   menu        - Generate menu of choices for user input.
   pause       - Wait for user response.
   uimenu      - Create user interface menu.
   uicontrol   - Create user interface control.

 Debugging commands.
   dbstop     - Set breakpoint.
   dbclear    - Remove breakpoint.
   dbcont     - Resume execution.
   dbdown     - Change local workspace context.
   dbstack    - List who called whom.
   dbstatus   - List all breakpoints.
   dbstep     - Execute one or more lines.
   dbtype     - List M-file with line numbers.
   dbup       - Change local workspace context.
   dbquit     - Quit debug mode.
   mexdebug   - Debug MEX-files.

>> help plotxy
 Two dimensional graphics.
 
 Elementary X-Y graphs.
   plot      - Linear plot.
   loglog    - Log-log scale plot.
   semilogx  - Semi-log scale plot.
   semilogy  - Semi-log scale plot.
   fill      - Draw filled 2-D polygons.

 Specialized X-Y graphs.
   polar     - Polar coordinate plot.
   bar       - Bar graph.
   stem      - Discrete sequence or "stem" plot.
   stairs    - Stairstep plot.
   errorbar  - Error bar plot.
   hist      - Histogram plot.
   rose      - Angle histogram plot.
   compass   - Compass plot.
   feather   - Feather plot.
   fplot     - Plot function.
   comet     - Comet-like trajectory.
 
 Graph annotation.
   title     - Graph title.
   xlabel    - X-axis label.
   ylabel    - Y-axis label.
   text      - Text annotation.
   gtext     - Mouse placement of text.
   grid      - Grid lines.

 See also PLOTXYZ, GRAPHICS.

>> help plotxyz

 Three dimensional graphics.
 
 Line and area fill commands.
   plot3      - Plot lines and points in 3-D space.
   fill3      - Draw filled 3-D polygons in 3-D space.
   comet3     - 3-D comet-like trajectories.
 
 Contour and other 2-D plots of 3-D data.
   contour    - Contour plot.
   contour3   - 3-D contour plot.
   clabel     - Contour plot elevation labels.
   contourc   - Contour plot computation (used by contour).
   pcolor     - Pseudocolor (checkerboard) plot.
   quiver     - Quiver plot.

 Surface and mesh plots.
   mesh       - 3-D mesh surface.
   meshc      - Combination mesh/contour plot.
   meshz      - 3-D Mesh with zero plane.
   surf       - 3-D shaded surface.
   surfc      - Combination surf/contour plot.
   surfl      - 3-D shaded surface with lighting.
   waterfall  - Waterfall plot.

 Volume visualization.
   slice      - Volumetric visualization plots.
 
 Graph appearance.
   view       - 3-D graph viewpoint specification.
   viewmtx    - View transformation matrices.
   hidden     - Mesh hidden line removal mode.
   shading    - Color shading mode.
   axis       - Axis scaling and appearance.
   caxis      - Pseudocolor axis scaling.
   colormap   - Color look-up table.
 
 Graph annotation.
   title      - Graph title.
   xlabel     - X-axis label.
   ylabel     - Y-axis label.
   zlabel     - Z-axis label for 3-D plots.
   text       - Text annotation.
   gtext      - Mouse placement of text.
   grid       - Grid lines.

 3-D objects.
   cylinder   - Generate cylinder.
   sphere     - Generate sphere.

 See also COLOR, PLOTXY, GRAPHICS.

>> help strfun

 Character string functions.

 General.
   strings     - About character strings in MATLAB.
   abs         - Convert string to numeric values.
   setstr      - Convert numeric values to string.
   isstr       - True for string.
   blanks      - String of blanks.
   deblank     - Remove trailing blanks.
   str2mat     - Form text matrix from individual strings.
   eval        - Execute string with MATLAB expression.

 String comparison.
   strcmp      - Compare strings.
   findstr     - Find one string within another.
   upper       - Convert string to uppercase.
   lower       - Convert string to lowercase.
   isletter    - True for letters of the alphabet.
   isspace     - True for white space characters.
   strrep      - Replace a string with another.
   strtok      - Find a token in a string.

 String to number conversion.
   num2str     - Convert number to string.
   int2str     - Convert integer to string.
   str2num     - Convert string to number.
   mat2str     - Convert matrix to string.
   sprintf     - Convert number to string under format control.
   sscanf      - Convert string to number under format control.

 Hexadecimal to number conversion.
   hex2num     - Convert hex string to IEEE floating point number.
   hex2dec     - Convert hex string to decimal integer.
   dec2hex     - Convert decimal integer to hex string.

Published (Last edited): 09-09-2011 , source: http://www.math.ufl.edu/help/matlab-tutorial/matlab-tutorial.html