ПредишенСледващото

5.2. цикъл, докато изявление


MatLab език за програмиране има две изявление цикъл: докато и за. С тяхна помощ, например, да се програмира на рекурсия алгоритми. изчисляване на сумата от редица, сортиране масив елементи и др.

В най-простия случай на поредица от програми, организирани от изявление на време, което има следния синтаксис:

Налице е условен израз, подобен на този, използван в отчета, ако и докато примката работи толкова дълго, колкото състоянието е вярно.

Трябва да се отбележи, че ако условието е невярно преди цикъла, изявленията, включени в цикъла не са изпълнени още веднъж.

Ето един пример от работата на цикъла, а за да се изчисли сумата от серията:

S = 0; % Първоначалната стойност на сумата
I = 1; % Сума брояч
докато 20%, ако S> 20
прекъсване; % След това цикълът е завършен
край
в крайна% в края на цикъл
дисп (S); 21% стойност се показва на екрана

В този пример, състоянието на второто прекратяване линия, когато S е по-голяма от 20, се записва в цикъла и с оператора излиза функцията дисп почивка цикъл (), докато стои непосредствено след цикъл.

Вторият цикъл изпълнение продължи изявление контрол ви позволява да пропуснете фрагмент на програмата, идва след него. Например, той е длъжен да се изчисли сумата от масив елементи

а = [1 2 3 4 5 6 7 8 9];

премахване на елемента с индекс 5. Такава програма може да се запише по следния начин:

S = 0; % Първоначалната стойност на сумата
а = [1 2 3 4 5 6 7 8 9]; % масив
I = 0; индекси% Брояч масив
а I =.

край

Помислете за действието на настоящия цикъл вариант, търсене алгоритъм на максималната стойност на елемента в вектора:

а = [3 6 5 3 6 9 5 3 1 0];
m = себе си (1); % Текуща максимална стойност
за I = 1: дължина (а)% цикъл 1 до края на вектора с
1% инкременти (по подразбиране)
ако m m,
m = а (I); % Тогава m = а (I)
край
край% края на за линия
дисп (т);

В този пример, за цикъла определя брояч аз и променя стойността си от 1 до 10 на стъпки от 1. Имайте предвид, че ако размерът на стъпката не е посочено изрично. тя ще бъде стойността по подразбиране от 1.

В следващия пример, ние смятаме, изпълнението на алгоритъма на векторните елементи се компенсира в дясно, т.е. предпоследния елемент се поставя на мястото на последната, а в следващия - в предпоследното място и т.н. преди първия елемент:

а = [3 6 5 3 6 9 5 3 1 0];
дисп (а);
за I = дължина (а): - 1: 2 10% цикъл със стъпка 2 към -1
на (l) = а (I-1); % Наклоняването елемент вектор
край% края на за линия
дисп (а);

Резултатът от програмата

3 6 5 3 6 9 5 3 1 0
3 3 6 5 3 6 9 5 3 1

Този пример показва, че изпълнението на цикъла на стойност брой от по-голямо към по-малка нужда да укажете в етап, в този случай -1. Ако не го направите, цикъл, веднага ще си свърши работата и програмата няма да работи коректно.

6. Решенията на уравнението

6.1. Графичен метод за решаване на уравненията


Дисплеят на множество графики предоставят прост начин за намиране на приблизителни решения.

Тази диаграма показва графики на функции у = грях (T) / т и (х / 5) 2 + Y 2 = 1. Не е трудно да се забележи тези функции имат три точки на пресичане.

6.2. Намерете решението на уравнение


Графичен метод може само оценка на решението. За по-точно да се намери решение в пакет ще трябва да използвате Matlab fsolve (уравнение, първоначалната стойност). По-късно ще се научите как да използвате тази функция за решаване на система от уравнения. В най-простия случай, можете да решите уравненията показват, може да бъде определен в единични кавички. например: "х * х-абсолютен (х). Но тази функция има три решения, представени на фиг.

Решението, което ще в тази функция случай fsolve ще се определя от първоначалната стойност, от която ще започне един повтарящ се процедура за намирането на решения. Например:

fsolve ( "х * х-абсолютен (х)", - 2), ANS = -1,0000;

fsolve ( "х * х-абсолютен (х)", 0.6), ANS = 1.0000;

fsolve ( "х * х-абсолютен (х)", 0.4), ANS = 7.9062e-008.

fsolve функция продължава да повтарящ процедура, докато не се намери решение на дадена точност. Ето защо, в нашия пример, ние сме получили 7.9062e-008 вместо 0.

В случай на по-сложни функции, те са по-удобни за представяне като M файла. След това, като първи параметър, за да fsolve функцията заместена в единични кавички на името на файла.

7. M-Files

Цикъл оператор, докато - MATLAB ръководство за начинаещи - MATLAB съкращението на английски

М-файлове в MatLab са два вида: програма файл (Script M-Files), съдържащ последователност от команди и функции на файлове, (Функция M-Files), която описва, дефинирани от потребителя функции.

7.2. програма за файла

Цикъл оператор, докато - MATLAB ръководство за начинаещи - MATLAB съкращението на английски

Цикъл оператор, докато - MATLAB ръководство за начинаещи - MATLAB съкращението на английски

7.3. File-функция


М-М-функции са файлове, които позволяват присъствието на входни и изходни аргументи. Те работят с променливи в рамките на собствената си работно място, различно от работното пространство на MATLAB.

Средната функция - това е доста проста M-файл, който изчислява средната стойност на елементите на вектор:
функция у = средно (х)
% Среден средна стойност на векторни елементи.
% СРЕДНО (X), където X - вектор. Изчислява средната стойност на векторни елементи.
% Ако аргумент вход е вектор, грешка се генерира.
[М, п] = размер (х);
ако (

((М == 1) | (п == 1)) | (М == 1 п == 1))
грешка ( "Входният масив трябва да бъде вектор)
край
у = сума (х) / дължина (х); Собствени изчисления%

Опитайте да въведете следните команди в M-файл, наречен average.m. Средната функция позволява на един вход и един изход аргументи. С цел да се предизвика средно функция, е необходимо да въведете следните твърдения:

пример
Определяне на средната функция низ има следния вид:
функция у = средно (х)
тук:

  1. функция - ключова дума, която определя М-функция;

  2. Y - изход аргумент;

  3. Средният - името на функцията;

  4. х - вход аргумент.

Всяка функция в системата съдържа MATLAB низ определяне функция, подобна на по-горе.

Ако функцията има повече от един изход аргумент, списъкът на изходните аргументи е поставен в квадратни скоби. Входни аргументи, ако има такива, са поставени в скоби. За разделяне на аргументите в списъците на входа и на изхода се използват запетаи.

функция [X, Y, Z] = сфера (тета, Фи, р)

Имената на входни променливи могат да бъдат, но не са длъжни да отговарят на името, посочено в линията на дефиниция функция.

% СРЕДНИ векторни елементи средна стойност

Имена M функции. Системата MATLAB в имената на M функции има същото ограничение на имената на променливите - тяхната дължина не трябва да надвишава 31 знака. По-точно, името може да бъде по-дълъг, но MATLAB система взема предвид само първите 31 знака. Имена M функции трябва да започват с буква; Останалите герои може да бъде всяка комбинация от букви, цифри и долна черта.

името на файла, съдържащ M-функция се състои от името на функцията и разширение ".m".

average.m
Ако името на файла и линейни функции в дефиницията на името на функцията е различна, името на файла се използва, и вътрешното име ще бъде игнориран. Въпреки че името на функцията, посочена в линията на дефиниция функция може да не съответства на името на файл, той е силно препоръчително да използвате същото име.

Подкрепете проекта - споделете линка, благодаря!