Файл: М.А. Тынкевич Система Matlab Справочное пособие к курсу Численные методы анализа.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 01.06.2024
Просмотров: 108
Скачиваний: 0
6
Рабочую область можно сохранять (save) как МАТ-файл и вызывать (load) . Так командой save myfile v1 v2 сохраняем в файле с именем myfile переменные v1и v2, а командой save myfile du*rak – переменные, имена которых начинаются на du и заканчиваются на rak.
Можно очищать рабочую область полностью командой clear или частично - clear <список имен>.
2. Элементарные математические функции
Из многообразия т.н. элементарных встроенных математических функций отметим лишь некоторые наиболее известные или оригинальные. Аргументами большинства из приведенных ниже функций являются не только скаляры, но и массивы.
pi = 4*atan(1)=imag(log(-1))=3.1415926535897..;
abs(X) – абсолютная величина: для комплексного числа a+bi
его модуль равен a2 +b / abs(3-4i)=5 , abs(-13)=13;
angle(X) – аргумент комплексного числа (из диапазона [-π,π]): комплексное X=a+bi представимо как r eiϕ, где a = r cosϕ, b = r sin ϕ:
» angle(3+4i) |
ans = 0.9273 ; » angle(1) |
ans = 0 ; |
|
» angle(4+3i) |
ans = 0.6435 ; |
|
|
real(X), imag(X) – действительная и мнимая часть числа; |
|||
conj(X) – комплексно-сопряженное: |
|
||
» conj(2+3i) |
ans = |
2.0000 - 3.0000i |
; |
ceil(X), fix(X), floor(X), round(X) |
- округления (до ближайшего |
целого, не меньшего Х; отбрасывание дробной части; до ближайшего целого, не большего Х; до ближайшего целого);
mod(X,Y) - остаток от деления X на Y; sign(X) – знак числа (для комплексных X / |X|);
gcd(m,n) –наибольший общий делитель для целых чисел; если использовать оператор [g,c,d]=gcd(m,n), то дает указанный делитель и множители c,d такие , что g==m*c+n*d :
» f=gcd(18,27) |
f = |
9 |
|
|
» [g,c,d]=gcd(18,27) |
g = |
9 |
c = -1 d = |
1; |
lcm(m,n) – наименьшее общее кратное: |
|
|||
» lcm(34,51) |
ans = |
102; |
|
|
rat(X) , rat (X,k) – представление |
цепной дробью с точностью |
|||
|X| 10-k/2 (по умолчанию |X| 10-6 ): |
|
|
|
|
» rat(12.5) |
ans =13 + 1/(-2) |
|
||
» rat(12.546) |
ans =13 + 1/(-2 + 1/(-5 + 1/(15))); |
|||
rats(X), rats(X,k) – представление отношением |
целых чисел : |
|
|
|
|
|
7 |
|
|
|
|
» rats(12.546) |
|
ans = |
2045/163; |
|
|||||
sqrt(X) – квадратный корень : |
|
|
|
|
|||||
» sqrt(5) |
ans = |
2.2361 |
|
|
|
||||
» sqrt(3+4i) |
ans = |
2.0000 + 1.0000i; |
|
||||||
exp(X) – экспонента ex (ex+iy= ex(cos y+i siny)) : |
|
||||||||
|
|
» exp(1) |
|
ans = |
2.7183 |
|
|
||
» exp(2+i) |
ans = |
3.9923 + 6.2177i ; |
|
||||||
pow2(X) – двоичная экспонента |
2x; |
|
|
||||||
log(X) – натуральный логарифм; |
|
|
|
|
|||||
log2(X), |
log10(X) –логарифм по основанию 2 и основанию 10; |
|
|||||||
sin(X) cos(X) tan(X) cot(X) |
csc(X) sec(X) – тригонометрические |
||||||||
функции (синус, косинус, тангенс, котангенс, косеканс, секанс): |
|
||||||||
sin(x+iy)=sin(x) ch(y) +i cos(x) sh(y); cos(x+iy)=cos(x) ch(y) -i sin(x) sh(y), |
|
||||||||
|
tg (X)= sin(X)/ cos(X) ; ctg(X)=cos(X)/sin(X); |
|
|||||||
|
|
cosec(X)=1/sin(X); |
sec(X)=1/ cos(X) : |
|
|||||
» sin(pi/2) |
ans = |
1 ; |
» sin(3+4i) |
ans = 3.8537 -27.0168i |
; |
||||
asin(X) |
acos(X) atan(X) acot(X) |
acsc(X) asec(X) – обратные |
|||||||
тригонометрические функции (арксинус, арккосинус и т.д.): |
|
||||||||
» asin(1/sqrt(2)) |
ans = 0.7854 ; |
» asin(3+4i) |
ans = 0.6340 + 2.3055i |
; |
|||||
atan2(Y,X) - круговой арктангенс Arctg (только для действи- |
|||||||||
тельных частей аргументов), берется в интервале [-π,π]; |
|
||||||||
sinh(X) |
cosh(X) tanh(X) coth(X) |
csch(X) sech(X) – гиперболи- |
ческие функции (синус, косинус, тангенс, котангенс, косеканс, се-
канс): sh(X)=(eX-e-X)/2 , ch(X)=(eX+e-X)/2 и др.;
asinh(X) acosh(X) atanh(X) acoth(X) acsch(X) asech(X) – об-
ратные гиперболические функции: |
|
|
|||||||
arsh( X ) = ln( X + |
X 2 +1 ), arch( X ) = ln( X + X 2 −1 ) |
||||||||
arth( X ) = |
1 |
ln |
1+X |
, |
arcth( X ) = 1 ln 1−X |
, |
|||
|
|
||||||||
|
2 1−X |
|
|
|
2 1+X |
|
|||
arcsch(X)=arsh(1/X), arsech(X)=arch(1/X); |
|
||||||||
erf (Х)- интеграл вероятностей (функция Гаусса, функция оши- |
|||||||||
бок) |
|
|
|
x |
|
||||
|
|
|
|
|
|
2 |
|
|
|
|
|
|
erf ( x ) = |
|
∫e−t2 dt |
|
|||
|
|
|
π |
|
|||||
|
|
|
|
|
|
0 |
|
||
|
|
|
|
|
|
|
|
|
и родственные функции :
erfc(х)=1-erf(x) (дополнительный интеграл вероятностей) ; erfcx(х)=exp(x2) erfc(x) (нормированный дополнительный инте-
грал вероятностей);
erfinv(х) (аргумент, для которого интеграл вероятностей равен
х);
8
gamma(х) -гамма-функция |
|
|
∞ |
−t t x−1dt |
(при целочислен- |
||||
Γ( x ) = ∫e |
|||||||||
ных х Г(1+х)=х!) |
|
|
|
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
||
» gamma(5) |
ans = |
24 |
|
|
|
||||
» gamma(0) Warning: Divide by zero (деление на нуль). |
|||||||||
|
ans = |
Inf |
( неопределенное значение) |
||||||
» gamma(0.5) |
ans = |
1.7725 |
|
|
|||||
» gamma(-0.5) ans = |
-3.5449 |
|
|
||||||
» gamma(0.1) |
ans = |
|
|
9.5135 |
|
|
|||
и родственные функции : |
|
|
|
|
|
x |
|
|
|
|
|
|
1 |
|
|
|
|||
gammainc(x,a)= P( x,a ) = |
|
∫e−t t a−1dt |
(неполная гамма- |
||||||
Γ( a ) |
|||||||||
|
|
|
|
|
|
0 |
|
|
функция);
gammaln(x)=ln Г(х) (логарифмическая гамма-функция);
beta(x,y) - бета-функция B( x, y ) = 1∫t x−1( 1 −t )y−1dt = Γ( x )Γ( y )
0
Γ( x+y )
и родственные ей неполная и логарифмическая бета-функции;
функции преобразования координат:
из декартовых (X,Y) в полярные (r,ϕ): r=(X2+Y2)1/2, ϕ=Arctg(Y/X)
– [ϕ,r]=cart2pol(X,Y);
из декартовой системы (X,Y,Z) в цилиндрическую (r,ϕ,Z) -
[ϕ,r,Z]=cart2pol(X,Y,Z) ;
из декартовой системы в сферическую (r,ϕ,θ) : r=(X2+Y2+Z2)1/2,
ϕ=Arctg(Z/ (X2+Y2)1/2), θ=Arctg(Y,X) - [θ,ϕ,r]=cart2sph(X,Y,Z);
из полярной |
и |
цилиндрической |
в |
декартову (pol2cart): |
X=r cos(ϕ), Y=r sin(ϕ) |
; |
из сферической |
в |
декартову(sph2cart): |
Z=r sin(ϕ), X=r cos(ϕ) cos(θ), X=r cos(ϕ) sin (θ) |
(эти функции незаме- |
нимы при графических отображениях результатов анализа, хотя многое из их графики уже предлагается среди готовых библиотечных средств);
специальные функции (цилиндрические функции Бесселя, Неймана, Ханкеля; функции Эйри, эллиптические функции Якоби и эллиптические интегралы, интегральная показательная функция, присоединенные функции Лежандра и много других функций, полезных при изучении физических процессов),
функции линейной алгебры, аппроксимации данных, численного интегрирования, поиска корней уравнений, обслуживания графики, обработки дат, множеств и др.
|
9 |
|
|
|
|
|
|
|
|
|
Если вы имеете намерение познакомиться с поведением какой- |
||||||||||
то из функций, поступите по анало- |
1 |
|
|
|
|
|
|
|
|
|
гии с примитивным примером: |
0.8 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
» t=-pi:0.01:pi; |
% значения аргумента |
0.6 |
|
|
|
|
|
|
|
|
0.4 |
|
|
|
|
|
|
|
|
||
|
от -π до π с шагом 0.01 |
|
|
|
|
|
|
|
|
|
|
0.2 |
|
|
|
|
|
|
|
|
|
(без вывода на экран); |
0 |
|
|
|
|
|
|
|
|
|
» e=sin(t); |
% массива значений |
-0.2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
функции; |
-0.4 |
|
|
|
|
|
|
|
|
|
-0.6 |
|
|
|
|
|
|
|
|
|
» plot(t,e) |
% построение графика |
|
|
|
|
|
|
|
|
|
-0.8 |
|
|
|
|
|
|
|
|
||
|
функции . |
-1 |
-3 |
-2 |
-1 |
0 |
1 |
2 |
3 |
4 |
|
-4 |
3. Режим программирования
Для перехода в режим программирования в окне управления выбираем пункт File и входим в редактор MatLab’а: New (создать новый М-файл) или Open(открыть существующий файл с расширением .m). В дальнейшем может производиться обычный набор текста программы или его корректура и действия в соответствии с меню (сохранение под текущим или другим именем, запуск на исполнение в обычном и отладочном режимах и др.).
Различают два вида М-файлов: М-сценарии и М-функции. М-сценарий – это файл, содержащий последовательность ко-
манд и комментариев (строк, начинающихся символом %) и пользующийся данными из рабочей области. Заголовок его начинается командой script или может отсутствовать.
Для М-функции допускаются входные и выходные аргументы, локализация внутренних ее переменных и возможность обращения к ней из других программ. М-функции включаются в библиотеку функций системы в виде текстовых файлов.
Заголовок М-функции имеет вид:
function [<список выходных переменных>]=
<имя функции> (<список входных переменных>) например, функция вычисления факториала положительного числа и его обратной величины может быть описана файлом fact.m:
function [f, g]=fact(n) % факториал и обратная величина f=prod (1:n);
g=1/f;
Кроме использованных выше операторов присваивания, программирование в MatLab’е допускает и ряд других традиционных для прогрммных сред операторов.
Условный оператор выступает в одной из следующих форм: