Difference between revisions of "Упрaжнение 2. Matlab"
Line 1: | Line 1: | ||
== Help == | == Help == | ||
+ | <code> | ||
>>help | >>help | ||
− | >>symbolic toolbox | + | >>help symbolic toolbox |
>>demo | >>demo | ||
+ | </code> | ||
+ | |||
+ | |||
+ | == Индексиране на вектори == | ||
− | |||
v = [1 2 3 Inf 0 2 NaN] | v = [1 2 3 Inf 0 2 NaN] | ||
+ | Inf <=> bezkrajnost | ||
+ | NaN <=> nesyshtestwuwa | ||
функция isfinite() - връща само крайните стойности | функция isfinite() - връща само крайните стойности | ||
Line 142: | Line 148: | ||
== Извикване на коментар на функция от команден ред == | == Извикване на коментар на функция от команден ред == | ||
+ | <code><pre> | ||
+ | function d = ab_f(A,B) | ||
+ | % Prograма за намиране разстянието между две триизмерни точки | ||
+ | % Входни аргументи | ||
+ | % Вектор А = [a b c] с координатите на т.А | ||
+ | % Вектор B = [a b c] с координатите на т.B | ||
+ | d = sqrt( (A(1)-B(1))^2 + (A(2)-B(2))^2 + (A(3)-B(3))^2 ); | ||
+ | % | ||
+ | end | ||
+ | </pre></code> | ||
+ | |||
+ | Иzwevdaне не komentaрите до първия изпълним ред | ||
+ | <code><pre> | ||
+ | >>help ab_f | ||
+ | Prograма за намиране разстянието между две триизмерни точки | ||
+ | Входни аргументи | ||
+ | Вектор А = [a b c] с координатите на т.А | ||
+ | Вектор B = [a b c] с координатите на т.B | ||
+ | </pre></code> | ||
+ | |||
+ | <code><pre> | ||
+ | ab_f([0 0 0], [1 1 1]) | ||
+ | |||
+ | ans = | ||
+ | |||
+ | 1.7321 | ||
+ | </pre></code> | ||
[[Category:Matlab]] | [[Category:Matlab]] |
Revision as of 13:27, 14 April 2011
Contents
Help
>>help
>>help symbolic toolbox
>>demo
Индексиране на вектори
v = [1 2 3 Inf 0 2 NaN]
Inf <=> bezkrajnost NaN <=> nesyshtestwuwa
функция isfinite() - връща само крайните стойности v(isfinite(v) ) = []
v(v>4 | v<1) = []
вектор с равномерно разпределение
a + (b-a)*rand(1,7)
Хистограма
Хистограма на нормално разпределение
>> y = round(100*randn(1,10000)); >> hist(y,20)
Двумерна графика
Цвят на линията, ..., включване на грид >> hist(y,20), grid on
Много прозорци plot в един
subplot(3,2,1)
m = 3 -> редове n = 2 -> koloni a = 1 -> ацтивен
plot
Въвеждане на специални символи
Синтаксис от Latex
Скриптови файлове
поредица от команди записани във файл
Разделяме прозореца 4 части
>> subplot(2,2,1)
затихваща синусоида с различен коеф. на затихваме
y = e^(-k*x.sin(x))
>>k = [0.1, 0.2, 0.3, 0.4] >>x = 0:pi/100:6*pi
Създаване на потребителски функции. Два входящи елемента x,k
Създаваме нов m файл!
- Името на файла трябва да отговаря на името на функцията
- оператор точка за по елементно умножение
for - при незадаване на стъпка, тя е единица
Управляващи оператори на plot(x,y, 'r:')
function y = f( x,k )
%UNTITLED Summary of this function goes here
% Detailed explanation goes here
y = 2.^( (-k*x).*sin(x) );
end
>>for i =1:4 subplot(2,2,i); plot(x, f(x,k(i)), 'r' ); end
>>ezsurf('sin(sqrt(x^2+y^2))/sqrt(x^2+y^2)', [-6*pi 6*pi])
Създаване на директория
Конфигуриране на собствена директория и даване на пътя
file -> set path ...
тестване: >>path
Достъп до променливи
Локални Глобални променливи
Workspace - обхваща цялото пространство
Всяка функция си има собствено пространство
f(x,y) с аргументите на функцията се предават променливи от основния воркспаце към функцията
>> global x,y; прави глобални променливите, трябва да се извика и във функцията;
Пример скрипт файл
Създайте файл със следните редове
A = input( 'A = [x1 y1 z1] , wekto s tri koordinati:')
B = input( 'B = [x2 y2 z2] , wekto s tri koordinati:')
d = sqrt( (A(1)-B(1))^2 + (A(2)-B(2))^2 + (A(3)-B(3))^2 );
disp(['sumata e ', num2str(d)])
Изпълнете в работаната среда
>> ab
A = [x1 y1 z1] , wekto s tri koordinati:[0 0 0]
A =
0 0 0
B = [x2 y2 z2] , wekto s tri koordinati:[1 1 1]
B =
1 1 1
sumata e 1.7321
Извикване на коментар на функция от команден ред
function d = ab_f(A,B)
% Prograма за намиране разстянието между две триизмерни точки
% Входни аргументи
% Вектор А = [a b c] с координатите на т.А
% Вектор B = [a b c] с координатите на т.B
d = sqrt( (A(1)-B(1))^2 + (A(2)-B(2))^2 + (A(3)-B(3))^2 );
%
end
Иzwevdaне не komentaрите до първия изпълним ред
>>help ab_f
Prograма за намиране разстянието между две триизмерни точки
Входни аргументи
Вектор А = [a b c] с координатите на т.А
Вектор B = [a b c] с координатите на т.B
ab_f([0 0 0], [1 1 1])
ans =
1.7321