Matlab м файлове
М-файлове позволяват да спести много MATLAB команди в една програма
файла и след това да ги управляват с една единствена команда, или с помощта на мишката.
Можете лесно и правилно може да реши прости проблеми от първия опит,
но по-сложни проблеми обикновено се решават чрез опити и грешки - бягане,
редактиране и рестартиране на поредицата от команди многократно. докато
като прозорецът Command История на (историята на командния ред) може да бъде полезна за
първите етапи на този процес, в крайна сметка ще видите, че много по-
ефективно да се използва M-Files. M-Files също така позволяват
използвате вашия решение на проблема заедно с останалите потребители на програмата
MATLAB и форматирате вашите резултати да бъдат прочетени от други. там
Две различни видове M-Files М-скриптове, както и M-Files функции. ние
Ние показваме на използването на двата вида М-файлове, както и
Представяме различни решения на проблемите, описани по-горе.
M-файл скрипт съдържа последователност от команди за MATLAB програма
тичам в определен ред. Ние сега се покаже как да се конструира M-файл-
сценарий за решаването на математически проблем счита рано. създавам
файл, съдържащ следните редове:
Да предположим, че сте записали файла като taski.m в текущата си
указател или в някоя директория на вашия път. Можете да зададете файл
назоват по никакъв начин (в операционната ви система може да има свой
частност), но разширение .T е задължително.
Можете да настроите програмата да работи MATLAB (или да извърши), това
скрипт, като напишете TASKI прозорец Command Window (Command Window). (Не е
трябва да се приложи тук разширение .m; MATLAB софтуер автоматично
добавя разширение, което търси файлове.) Изходът на резултатите (но не
екипи, с помощта на който искате резултата) ще бъдат показани в прозореца
Command Window (Command Window). Сега, последователност от команди могат
То е лесно да се променя чрез промяна на task1.m M-файл. Например, ако сте
Също така искам да се изчисли грях (0,0001) / 0.0001, можете да модифицирате M-файл:
формат дълго
х = [0.1, 0.01, 0.001, 0.0001];
у = грях (х) ./ х
и след това изпълнете модифициран скрипта отново, като въведете TASKI.
Но първо, бъдете сигурни, за да запазите промените в Taski на досието; в противен случай
случай, MATLAB софтуер не разпознава тези промени.
- Някои променливи се задават, когато стартирате скриптове М-файлове, budutsohranyatsya сякаш сте въвели тези променливи в Command прозорче (Command Window) директно. Например, обсъдени по-горе програма, беше причината, че в бъдеще ще бъдат показани всички числени резултати до 15 знака. За да се върнете към формата с 5 знака, въведете краткосрочен командния формат.
изчистите всички% Премахване на стари променливи дефиниции
ехо% показване на входа в прозореца на командния
формат дълго% завой на 15 цифров дисплей
х = [0,1, 0,01, 0,001]; % Определяне на стойностите х
у = грях (х) ./ х% изчислителни желаните коефициенти
% Тези стойности показват, че границата на
% Sin (х) / х като х подходи 0 е равна на 1.
ехо разстояние
MATLAB програма търси пътя по подразбиране, когато се движат по
предмет на M-файл скрипт наречен startup.m един. Ако създадете файл,
команди, които той съдържа, ще се проведе при всяко стартиране
програма MATLAB. Можете да използвате този файл, за да запазите настройките,
които се придвижват от една сесия в друга, например, промяна на тока
указател или път. (С изключение на командата CD и addpath, обсъдени по-горе,
rmpath да използвате командата за изтриване на директория от пътя.)
функция M-Files, за разлика от скриптове М-файлове, позволява ви да зададете
входни стойности, когато се движат подобно на М-файл от командния ред MATLAB
или от друга M-файл. Както бе споменато в предишната глава, можете също да
използвате анонимен функция синтаксис (@) (липсва в програмата
MATLAB 6 и по-ранни версии) или инлайн команда, за да определят свои
собствени функции в командния ред. Въпреки това, тези техники осигуряват работа
функционира само в един ред. По този начин, са необходими най-М-файлове за
задачи по-сложни функции. Подобно на М-скриптове, функцията за M-файл
е файл в обикновен текст, който може да бъде във вашето
текущата директория или някъде по пътя си MATLAB.
Да се върнем към проблема по-горе, в който изчислява
някои Син на стойности (х) / х, където х = 10 ^ б за някои стойности на б. с изключение на
, Да приемем, че искате да намерите най-малката стойност на Б, за които
грях (10 ^ б) / (10 ^ б), както и че резултатът е равен на 1 до 15 знака.
По-долу е функция на M-файл, наречен sinelimit.m, изготвени с цел да се
изясняване на този въпрос:
функция у = sinelimit (в)
% SINELIMIT изчислява грях (х) / х за х = 10 ^ (- б)
%, Където В = 1. стр.
Формат дълго
б = 1: С;
. X = 10 ^ (- б);
у = (син (х) ./ х) ";
>> помощ sinelimit
SINELIMIT изчислява грях (х) / х за х = 10 ^ (- б)
където В = 1. стр.
Останалите редове определят от функцията М-файл. В този пример, б е дадено в
вектор ред, състоящ се от числа от 1 до S, тогава х
се изчислява от L, и накрая се определя от х.
- Променливи, които се използват в функции М-файл, като Ь, х и у в sinelimit.m файл са локални променливи. Това означава, че, за разлика от променливите, дефинирани във файла за M-скрипт, тези променливи не са свързани с други променливи със същите имена, които можете да използвате в прозореца Command Window (Command Window). MATLAB софтуер не съхранява стойностите на тези променливи, след като функцията за M-файл ще бъде изпълнена. За повече информация вижте "променливи в M-faylah- функции" в глава 4.
Имайте предвид, че линията определяне б, х и у, завършва с
точка. С помощта на точка и запетая в края на линии определи, че не
изходните резултати от тези линии, това е резултат от работата на тези редове няма да бъде
показано на прозореца Command Window (Command Window). Въпреки факта, че
показване на междинните резултати от изчисленията може да бъде полезно
отстраняване на грешки, общо взето трябва да се потискат всички изход за функцията на M-файл.
По-долу е пример, показващ как функцията се използва sinelimit:
»Sinelimit (5)
АНО =
0.99833416646828
0.99998333341667
0.99999983333334
0.99999999833333
0.99999999998333
Нито една от ценностите на б от първия до петия не води до желаното
1 резултат при максимум 15 символа. Ако се съди по изведен резултата, той се надяваше,
намерите отговор на въпроса, който задава по-рано, като въведете командата sinelimit A0).
Опитайте го!