Elettracompany.com

Компьютерный справочник
3 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Натуральный логарифм matlab

Основные математические функции MatLab

MatLab содержит в себе все распространенные математические функции, которые доступны по их имени при реализации алгоритмов. Например, функция sqrt() позволяет вычислять квадрат числа и может быть использована в программе следующим образом:

x = 2;
y = 4;
d = sqrt(x^2+y^2); %вычисление евклидового расстояния

Аналогичным образом вызываются и все другие математические функции, представленные в табл. 1.2.

Таблица 1.2. Основные математические функции MatLab

Почти все элементарные функции допускают вычисления и с комплексными аргументами. Например:

res = sin(2+3i)*atan(4i)/(1 — 6i); % res = -1.8009 — 1.9190i

Ниже показан пример задания вектора с именем a, и содержащий значения 1, 2, 3, 4:

a = [1 2 3 4]; % вектор-строка

Для доступа к тому или иному элементу вектора используется следующая конструкция языка:

disp( a(1) ); % отображение значения 1-го элемента вектора
disp( a(2) ); % отображение значения 2-го элемента вектора
disp( a(3) ); % отображение значения 3-го элемента вектора
disp( a(4) ); % отображение значения 4-го элемента вектора

т.е. нужно указать имя вектора и в круглых скобках написать номер индекса элемента, с которым предполагается работать. Например, для изменения значения 2-го элемента массива на 10 достаточно записать

a(2) = 10; % изменение значения 2-го элемента на 10

Часто возникает необходимость определения общего числа элементов в векторе, т.е. определения его размера. Это можно сделать, воспользовавшись функцией length() следующим образом:

N = length(a); % (N=4) число элементов массива а

Если требуется задать вектор-столбец, то это можно сделать так

a = [1; 2; 3; 4]; % вектор-столбец

b = [1 2 3 4]’; % вектор-столбец

при этом доступ к элементам векторов осуществляется также как и для векторов-строк.

Следует отметить, что векторы можно составлять не только из отдельных чисел или переменных, но и из векторов. Например, следующий фрагмент программы показывает, как можно создавать один вектор на основе другого:

a = [1 2 3 4]; % начальный вектор a = [1 2 3 4]
b = [a 5 6]; % второй вектор b = [1 2 3 4 5 6]

Здесь вектор b состоит из шести элементов и создан на основе вектора а. Используя этот прием, можно осуществлять увеличение размера векторов в процессе работы программы:

a = [a 5]; % увеличение вектора а на один элемент

Недостатком описанного способа задания (инициализации) векторов является сложность определения векторов больших размеров, состоящих, например, из 100 или 1000 элементов. Чтобы решить данную задачу, в MatLab существуют функции инициализации векторов нулями, единицами или случайными значениями:

a1 = zeros(1, 100); % вектор-строка, 100 элементов с
% нулевыми значениями
a2 = zeros(100, 1); % вектор-столбец, 100 элементов с
% нулевыми значениями
a3 = ones(1, 1000); % вектор-строка, 1000 элементов с
% единичными значениями
a4 = ones(1000, 1); % вектор-столбец, 1000 элементов с
% единичными значениями
a5 = rand(1000, 1); % вектор-столбец, 1000 элементов со
% случайными значениями

Матрицы в MatLab задаются аналогично векторам с той лишь разницей, что указываются обе размерности. Приведем пример инициализации единичной матрицы размером 3х3:

E = [1 0 0; 0 1 0; 0 01]; % единичная матрица 3х3

E = [1 0 0
0 1 0
0 0 1]; % единичная матрица 3х3

Аналогичным образом можно задавать любые другие матрицы, а также использовать приведенные выше функции zeros(), ones() и rand(), например:

A1 = zeros(10,10); % нулевая матрица 10х10 элементов

A2 = zeros(10); % нулевая матрица 10х10 элементов
A3 = ones(5); % матрица 5х5, состоящая из единиц
A4 = rand(100); % матрица 100х100, из случайных чисел

Для доступа к элементам матрицы применяется такой же синтаксис как и для векторов, но с указанием строки и столбца где находится требуемый элемент:

A = [1 2 3;4 5 6;7 8 9]; % матрица 3х3
disp( A(2,1) ); % вывод на экран элемента, стоящего во
% второй строке первого столбца, т.е. 4
disp( A(1,2) ); % вывод на экран элемента, стоящего в
% первой строке второго столбца, т.е. 2

Также возможны операции выделения указанной части матрицы, например:

B1 = A(:,1); % B1 = [1; 4; 7] – выделение первого столбца
B2 = A(2,:); % B2 = [1 2 3] – выделение первой строки
B3 = A(1:2,2:3); % B3 = [2 3; 5 6] – выделение первых двух
% строк и 2-го и 3-го столбцов матрицы А.

Размерность любой матрицы или вектора в MatLab можно определить с помощью функции size(), которая возвращает число строк и столбцов переменной, указанной в качестве аргумента:

a = 5; % переменная а
A = [1 2 3]; % вектор-строка
B = [1 2 3; 4 5 6]; % матрица 2х3
size(a) % 1х1
size(A) % 1х3
size(B) % 2х3

Основные математические функции MatLab

В ML существует большое количество элементарных математических функций для выполнения действий с числами: тригонометрические, степенные, логарифмические, экспоненциальные и функции округления. Каждая функция обладает именем и списком аргументов, которые задаются в круглых скобках и, если их несколько, перечисляются через запятую.

Читать еще:  Направления защиты информации

Существуют встроенные тригонометрические и гиперболические функции: sin(x), cos(x), tan(x), cot(x), asin(x), acos(x), atan(x), acot(x), sinh(x) и т.д. Аргументы этих функций (в следующих версиях, начиная с версии 7.0) могут задаваться в радианах и градусах. У функций в градусной мере после названия добавляется буква d. sin(x) – аргумент в радианах, а sind(x) – аргумент в градусах.

Некоторые часто используемые математические функции:

· exp(x)–экспонента числа x;

· log(x)– натуральный логарифм;

· log10(x)– десятичный логарифм;

· sqrt(x)– квадратный корень;

· abs(x)– абсолютное значение x;

· mod(x, y)– остаток от целочисленного деления с учетом знака;

· rem(x, y)– остаток от целочисленного деления без учета знака;

· real(z)– вещественная часть комплексного числа;

· imag(z)– мнимая часть комплексного числа;

· round(x)– округление до ближайшего целого.

Более полный список основных математических функций MatLab:

С использованием вышеупомянутых функций, записать и сосчитать значение арифметического выражения:

Вычислить: res=

Составление арифметического выражения лучше всего начинать с расстановки основных скобок выражения. Причем открытую скобку следует сразу закрывать и продолжать набор формулы внутри скобок. В этом случае число открывающих скобок будет равно числу закрывающих, и вероятность ошибки будет минимальной.

Если в выражении многократно встречаются одинаковые фрагменты, то их целесообразно вычислять 1 раз и результат помещать в отдельные переменные. Это позволяет избежать одинаковых вычислений и тем самым оптимизирует вычисления.

res=(3*cos(x^3)^2-sin(x-pi/3))/(log(abs(y))+exp (sqrt (x+1))/(2*x))*1E6

Для эффективной работы с большими наборами данных или при необходимости многократных вычислений рассмотренных средств недостаточно. В ML существует возможность записать последовательность команд в файл, сохранить его, дать ему имя и выполнить, набрав в командной строке имя файла. Это можно сделать во встроенном редакторе системы. Такие файлы называются файлами-сценариями или скрипт-файлами. При сохранении они автоматически получают расширение системы – m.

Файлы-программы (их называют скриптами или сценариями) являются самым простым типом m-файлов. Script-файл состоит из последовательности команд, не содержит заголовка, а также входных и выходных параметров. Все объекты, используемые внутри script-файла, считаются глобальными. Если в рабочем пространстве есть данные, то внутри script-файла их можно использовать, а по окончании его выполнения использовать данные, созданные с его помощью. Такие файлы используются для автоматизации выполнения большого набора инструкций. Их текст набирают в окне встроенного редактора ML.

Для выполнения файла-программы достаточно в командной строке указать имя этого скрипта. Перед запуском программы на выполнение необходимо установить нужный каталог в качестве текущего. Запуск файла на выполнение можно осуществить двумя способами: из окна редактора и из командного окна.

Для запуска программы на выполнение из окна редактора надо выбрать пункт меню Debug, Run или нажать функциональную клавишу F5, или выбрать соответствующую пиктограмму на панели инструментов. Выполнить программу, уже сохраненную на диске, можно из командного окна ML, просто набрав имя файла без расширения.

Дата добавления: 2016-04-02 ; просмотров: 1602 ; ЗАКАЗАТЬ НАПИСАНИЕ РАБОТЫ

Натуральный логарифм matlab

Элементарные математические функции

В системе MATLAB присутствуют все основные элементарные функции: степенные, показательные, тригонометрические и обратные к ним. Любая функция характеризуется своим именем, списком входных аргументов (перечисляются через запятую и стоят внутри круглых скобок, следующих за именем функции) и вычисляемым (выходным) значением.

Сначала рассмотрим логическую функцию xor , дополняющую ранее рассмотренный набор логических операций. Эта функция имеет два входных аргумента и вычисляет над ними операцию «исключающее ИЛИ», которая вырабатывает единицу («истину») только в случае, когда один из числовых аргументов истинен (не равен нулю), а другой ложен (равен нулю). Например,

а если оба аргумента «истинны » или оба «ложны», то эта функция вырабатывает нуль:

Помимо операции возведения в степень, реализуемой с помощью знака ^ , есть ещё функция извлечения квадратного корня sqrt , функция exp для возведения в степень числа e , функция pow2 для возведения в степень числа 2 . Также присутствуют обратные к ним функции: log — натуральный логарифм, log10 — логарифм по сонованию10, log2 — логарифм по сонованию 2. В системе MATLAB можно быстро получить справочную информацию по любой элементорной функции, выполнив команду

Читать еще:  Php check file exists

Тригонометрические функции представлены весьма полно: sin , cos , tan (тангенс), cot (котангенс), asin (арктангенс), acos (арккосинус), atan (арктангенс), acot (арккотангенс). Имеются также и менее употребительные функции типа секанса, косеканса и т. д., а также гиперболические функции (являются комбинацией экспонент).

Для примера, вычислим выражение 2 * asin(1) , включающее вычисление функции asin , и получим следующий результат:

соответствующий числу ¶ . В системе MATLAB для числа ¶ есть специальное обозначение pi .

Упомянем ещё функции, связанные с целочисленной арифметикой. Например, функции округления: round (округление до ближайшего целого), fix (усечение дробной части числа), floor (округление до меньшего целого), ceil (округление до большего целого).

Кроме того, есть ещё функции mod (остаток от деления с учётом знака), rem (остаток в смысле модульной арифметики), sign (знак числа), factor (разложение числа на простые множители), isprime (истинно, если число простое), primes (формирование списка простых чисел), rat (приближение числа в виде рациональной дроби), lcm (наименьшее общее кратное), gcd (наибольший общий делитель).

Функции mod и rem дают одинаковый результат для положительных аргументов. В частности,

Но для операций с аргументами разных знаков они вырабатывают разные значения:

В общем случае эти функции связаны с функциями округления следующим образом:

И, наконец, есть функции, вычисляющие некоторые стандартные результаты из комбинаторики: функция perms вычисляет число перестановок, а функция nchoosek — число сочетаний. Например, число сочетаний из 10 по 3 легко находится вызовом функции:

Многие из перечисленных функций имеют область определения, отличную от множества всех действительных чисел R. В случаях, когда для функции задаётся недопустимое значение аргумента, или совершается попытка выполнить недопустимую операцию, мы получаем предупреждающее сообщение, например

Warning: Divide by zero.

при попытке деления на нуль. А в качестве результата выводится

где Inf символизирует бесконечность. Тот же результат получается при попытке вычислить логарифм от нуля.

Однако, чаще всего, при задании аргумента, выходящего за область определения функции действительного переменного (например, отрицательный аргумент для квадратного корня) система MATLAB автоматически выходит в область комплексных чисел, и вычисляет значение аналогичной комплексной функции.

Арифметические операторы и функции MATLAB;

Help specfun

Выделение подматрицы с 2-й по 5-ю строки и с 3-го по 5-й столбец

Транспонирование вектора

Транспонирование не квадратной матрицы

Транспонирование квадратной матрицы

Выделить 1,2,3 столбцы, строки переставить в указанном порядке

Переставить строки в указанном порядке

Переставить столбцы в указанном порядке

M(5)

Переприсваивание элемента M(2,2)

Действия со строками и столбцами

По формуле.

Функция eye(n), eye(m,n) возвращает единичную матрицу nxn или mxn

Hist(Y,100)

Plot(X,Y)

M %вывод на экран

%2 способ

Matr=[1:7;11:17;21:27;31:37]

%3 способ

функция magic(n) задает магическую матрицу nxn все ее элементы не превышают n^2;

суммы всех элементов столбцов, строк, диагонали равны 34 (для n=4);

M1=magic(4)

%4 способ

функции создания массивов со случайными элементами rand: rand(n) rand(m,n)генерируют матрицу (nxn)или(mxn) с элементами, распределенными по равномерному закону в промежутке (0,1);

YR=rand(4,3)

проверить равномерность распределения случайных чисел можно, построив большое число точек со случайными координатами;

X=rand(1000,1);

Y=rand(1000,1);

функция randn(n), randn(mxn) генерируют матрицу nxn (mxn) с элементами, распределенными по нормальному закону с мат. Ожиданием = 0 и ср. кв. отклонением = 1;

YN=randn(4,3)

для проверки распределения построим гистограмму;

Y=randn(1000,1);

строится гистограмма из 100 столбцов для 1000 случайных чисел с нормальным законом распределения;

Y1=randn(4,3)*10 %все элементы умножаются на 10;

a=3; b=20; %интервал [a;b]

Y2=rand(4,3)*(b-a)+a
%генерируется матрица (4×3)с числами в интервале [20;3];

%5 способ

t=eye(3)

t2=eye(4,3)

%6 способ

функция ones(n), ones(m,n) возвращает матрицу nxn или mxn, все элементы которой единицы;

H=ones(3,4)

%7 способ

функция zeros(n), zeros(m,n) возвращает матрицу nxn или mxn, все элементы которой нули;

D=zeros(3,2)

%8 способ

M1=magic(4)

M(2,2)=10

Выражение M(i) дает доступ к элементам матрицы, развернутым в один столбец

A=[ -5 3 -2 -9 -1; 0 -1 2 4 3;2 3 7 6 2;1 5 -4 3 -4; 2 6 -5 -8 3]

B=A(:,[4,1,2,5,3])

B=A([2,5,1,4,3],:)

B=A([2,5,1,4,3],1:3)

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

MT=M’

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

Читать еще:  Php pdo prepare

MT2=M2′

N=[1 4 3 6]

NT=N’

%выделение подматрицы:

B=magic(6)

B(1:2,:) %первые две строки, все столбцы;

B(1:2,:)=0 %обнулить первые две строки

Выделение столбцов со 2-го по 5-й, 6 строк:

C1=B(:,2:5)

C2=B(2:5,3:5)

Выделение подматрицы с 1-й по 3-ю строки и с 2-го по последний столбец;

C3=B(1:3,2:end)

%Удаление столбцов и строк матрицы

B=magic(5)

B(:,2)=[] %Удалим 2-й столбец

B(2,:)=[] %Удалим 2-ю строку

Помощь:

help elfun – вывести список всех элементарных математических функций.

help elmat – вывод более сложных математических и матричных функций.

Таблица 1. Арифметические операции

Справочные материалы по встроенным функциям MATLAB

Как организовать дистанционное обучение во время карантина?

Помогает проект «Инфоурок»

Для более детального описания функций, рекомендуем пользоваться системой помощи пакета MATLAB. Для вызова справки в командном окне пакета наберите: >>help имя функции .

Таблица 1. Описание математических операций

правое поэлементное деление

левое поэлементное деление

правое матричное деление

левое матричное деление

поэлементное возведение в степень

матричное возведение в степень

больше или равно

ссылка по индексу

присваивание по индексу

Таблица 2. Обозначения системных переменных MATLAB

мнимая единица ( )

число (3.14159265)

погрешность для операций над числами с плавающей точкой (по умолчанию 2 -52 )

минимальное значение вещественного числа (2 -1022 )

максимальное значение вещественного числа (2 -1023 )

бесконечность ( )

неопределенность (например, )

переменная, хранящая результат последней операции

Таблица 3. Функции комплексных переменных

абсолютное значение комплексного числа

мнимая часть комплексного числа

действительная часть комплексного числа

аргумент комплексного числа

«истина», если число действительное

Таблица 4. Стандартные функции вещественного аргумента

отбрасывание дробной части числа

округление до меньшего целого

округление до большего целого

остаток от деления x на y без учета знака

остаток от деления x на y с учетом знака

разложение числа x на простые множители

преобразование декартовых координат в сферические

преобразование декартовых координат в полярные

преобразование полярных координат в декартовы

наибольший общий делитель

наименьшее общее кратное

обобщенная функция Лежандра

логарифм по основанию 2

возведение числа 2 в степень n

представление числа в виде рациональной дроби

формирование списка простых чисел

вычисляет число перестановок

вычисляет количество сочетаний из n пo k

Выберите книгу со скидкой:

Математика. Экспресс-справочник для подготовки к ЕГЭ

350 руб. 107.00 руб.

ОГЭ. Математика. Большой сборник тематических заданий для подготовки к основному государственному экзамену

350 руб. 171.00 руб.

Для детского сада. Математика. Средняя группа

350 руб. 144.00 руб.

Математика. Сложение и вычитание. Уровень 3 Kumon

350 руб. 464.00 руб.

ЕГЭ. Математика. Большой сборник тематических заданий для подготовки к единому государственному экзамену. Базовый уровень

350 руб. 181.00 руб.

Математика. Вычитание. Уровень 2 Kumon

350 руб. 464.00 руб.

Математика. Дроби. Уровень 4 Kumon

350 руб. 464.00 руб.

Повтори летом! Математика. Полезные и увлекательные задания. 1 класс

350 руб. 87.00 руб.

Альбом по подготовке к школе. Математика

350 руб. 272.00 руб.

Для детского сада. Математика. Старшая группа

350 руб. 144.00 руб.

Для детского сада. Математика. Подготов. группа

350 руб. 144.00 руб.

Для детского сада. Математика. Младшая группа

350 руб. 144.00 руб.

БОЛЕЕ 58 000 КНИГ И ШИРОКИЙ ВЫБОР КАНЦТОВАРОВ! ИНФОЛАВКА

Инфолавка — книжный магазин для педагогов и родителей от проекта «Инфоурок»

Бесплатный
Дистанционный конкурс «Стоп коронавирус»

  • Бексейтова Айнур Болатбековна
  • Написать
  • 279
  • 26.02.2017

Номер материала: ДБ-228436

Добавляйте авторские материалы и получите призы от Инфоурок

Еженедельный призовой фонд 100 000 Р

  • 26.02.2017
  • 1494
  • 26.02.2017
  • 1287
  • 26.02.2017
  • 210
  • 26.02.2017
  • 218
  • 26.02.2017
  • 1154
  • 26.02.2017
  • 180

Не нашли то что искали?

Вам будут интересны эти курсы:

Все материалы, размещенные на сайте, созданы авторами сайта либо размещены пользователями сайта и представлены на сайте исключительно для ознакомления. Авторские права на материалы принадлежат их законным авторам. Частичное или полное копирование материалов сайта без письменного разрешения администрации сайта запрещено! Мнение редакции может не совпадать с точкой зрения авторов.

Ответственность за разрешение любых спорных моментов, касающихся самих материалов и их содержания, берут на себя пользователи, разместившие материал на сайте. Однако редакция сайта готова оказать всяческую поддержку в решении любых вопросов связанных с работой и содержанием сайта. Если Вы заметили, что на данном сайте незаконно используются материалы, сообщите об этом администрации сайта через форму обратной связи.

Ссылка на основную публикацию
Adblock
detector