Упражнение 3. Matlab
Contents
Управляващи оператори
if
if <expression>
statment
end
if <expression>
statement;
else
statement;
end
if <expression>
statement;
elseif
statement;
else
statement;
end
Релации и логически оператори
< , <= , >, >= , ~=, ==
&, &&, |, ||, ~
Логическо равенство да не се ползва за числа с плаваща запетая
switch
switch expression case val1 statement case {val2, val3 statement
otherwise statement end
Логическо равенство да не се ползва за числа с плаваща запетая
for
for index = nachalo:stypka:kraj % ako nqma stypka tq e 1 statement end
for i = A % A e vektor/matrica statement end
while
while expression statemnet end
Dopълнителни управляващи оператори
break continue - преминаване към следваща итерация на for или while цикъл pause - пауза до натискане на клавиш ( pause(4) <=> sleep(4) ) keyboard - predawa uprawlenieto на клавиатурата (използва се при дебъгване). Спира се програмата и може да проверяваме всички стойност return - връща се към програмата след keyboard
файл функции
function [a, b, c] = ime(x, y, z) global p, q; a = x; b = y; c = z; end
Записва се като ime.m
function y = signum(x)
% сигнум функция
if x>0
y = 1;
elseif x<0
y = -1;
else
0
end
end
>> signum(-5)
ans =
-1
>> signum(0)
ans =
0
>> signum(5)
ans =
1
Символни преобразувания
clear - изчистване на workspace
Задаване на символни величини
оператори за създаване на символни величини
sym - по-универсален
x = sym('x') ; x = x
>> y = pi y = 3.1416
Символите се показват по вляво!
Дефиниране на цял стринг
>> eq = sym ('a*x^2') eq = a*x^2
Диференциране по x >> diff(eq,x) ans = 2*a*x
Matrica на хилберт
H = hilb(5)
H =
1.0000 0.5000 0.3333 0.2500 0.2000 0.5000 0.3333 0.2500 0.2000 0.1667 0.3333 0.2500 0.2000 0.1667 0.1429 0.2500 0.2000 0.1667 0.1429 0.1250 0.2000 0.1667 0.1429 0.1250 0.1111
Извеждане в символичен вид
>> sym(H) ans = [ 1, 1/2, 1/3, 1/4, 1/5] [ 1/2, 1/3, 1/4, 1/5, 1/6] [ 1/3, 1/4, 1/5, 1/6, 1/7] [ 1/4, 1/5, 1/6, 1/7, 1/8] [ 1/5, 1/6, 1/7, 1/8, 1/9]
В този случай няма да има грешка от закръгляне
>> det(H) ans = 3.7493e-12