Документация
Действительный энный корень вещественных чисел
Синтаксис
Описание
Примеры
Вычисление действительного корня отрицательного числа
Вычисление нескольких действительных корней скаляра
Поэлементные корни матрицы
Входные параметры
X — Входной массив
скаляр | вектор | матрица | многомерный массив
Типы данных: single | double
N — Корни, чтобы вычислить
скаляр | массив того же размера как X
Типы данных: single | double
Советы
В то время как power более эффективная функция для вычисления корней чисел, в случаях, где и действительные и комплексные корни существуют, power возвращает только комплексные корни. В этих случаях используйте nthroot получить действительные корни.
Расширенные возможности
«Высокие» массивы
Осуществление вычислений с массивами, которые содержат больше строк, чем помещается в памяти.
Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.
Эта функция полностью поддерживает основанные на потоке среды. Для получения дополнительной информации смотрите функции MATLAB Запуска в Основанной на потоке Среде.
Массивы графического процессора
Ускорьте код путем работы графического процессора (GPU) с помощью Parallel Computing Toolbox™.
Распределенные массивы
Большие массивы раздела через объединенную память о вашем кластере с помощью Parallel Computing Toolbox™.
Смотрите также
Открытый пример
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
Документация MATLAB
Поддержка
© 1994-2021 The MathWorks, Inc.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.
Как написать в матлабе кубический корень
If you want negative and complex numbers to return error messages rather than return complex results, use realsqrt instead.
Examples
Square Root of Vector Elements
Create a row vector containing both negative and positive values.
Input Arguments
X — Input array
scalar | vector | matrix | multidimensional array
Input array, specified as a numeric scalar, vector, matrix, or multidimensional array.
Data Types: single | double
Complex Number Support: Yes
More About
IEEE Compliance
See sqrtm for the matrix square root.
Extended Capabilities
Tall Arrays
Calculate with arrays that have more rows than fit in memory.
This function fully supports tall arrays. For more information, see Tall Arrays.
C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.
Usage notes and limitations:
GPU Code Generation
Generate CUDA® code for NVIDIA® GPUs using GPU Coder™.
Usage notes and limitations:
This function fully supports thread-based environments. For more information, see Run MATLAB Functions in Thread-Based Environment.
GPU Arrays
Accelerate code by running on a graphics processing unit (GPU) using Parallel Computing Toolbox™.
Usage notes and limitations:
Distributed Arrays
Partition large arrays across the combined memory of your cluster using Parallel Computing Toolbox™.
Основные математические функции MatLab
MatLab содержит в себе все распространенные математические функции, которые доступны по их имени при реализации алгоритмов. Например, функция sqrt() позволяет вычислять квадрат числа и может быть использована в программе следующим образом:
Аналогичным образом вызываются и все другие математические функции, представленные в табл. 1.2.
Таблица 1.2. Основные математические функции MatLab
sqrt(x) | вычисление квадратного корня |
exp(x) | возведение в степень числа e |
pow2(x) | возведение в степень числа 2 |
log(x) | вычисление натурального логарифма |
log10(x) | вычисление десятичного логарифма |
log2(x) | вычисление логарифма по основанию 2 |
sin(x) | синус угла x, заданного в радианах |
cos(x) | косинус угла x, заданного в радианах |
tan(x) | тангенс угла x, заданного в радианах |
cot(x) | котангенс угла x, заданного в радианах |
asin(x) | арксинус |
acos(x) | арккосинус |
atan(x) | арктангенс |
pi | число пи |
round(x) | округление до ближайшего целого |
fix(x) | усечение дробной части числа |
floor(x) | округление до меньшего целого |
ceil(x) | округление до большего целого |
mod(x) | остаток от деления с учётом знака |
sign(x) | знак числа |
factor(x) | разложение числа на простые множители |
isprime(x) | истинно, если число простое |
rand | генерация псевдослучайного числа с равномерным законом распределения |
randn | генерация псевдослучайного числа с нормальным законом распределения |
abs(x) | вычисление модуля числа |
Почти все элементарные функции допускают вычисления и с комплексными аргументами. Например:
Ниже показан пример задания вектора с именем 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:
sqrt(x) | вычисление квадратного корня |
exp(x) | возведение в степень числа e |
pow2(x) | возведение в степень числа 2 |
log(x) | вычисление натурального логарифма |
log10(x) | вычисление десятичного логарифма |
log2(x) | вычисление логарифма по основанию 2 |
sin(x) | синус угла x, заданного в радианах |
cos(x) | косинус угла x, заданного в радианах |
tan(x) | тангенс угла x, заданного в радианах |
cot(x) | котангенс угла x, заданного в радианах |
asin(x) | арксинус |
acos(x) | арккосинус |
atan(x) | арктангенс |
pi | число пи |
round(x) | округление до ближайшего целого |
fix(x) | усечение дробной части числа |
floor(x) | округление до меньшего целого |
ceil(x) | округление до большего целого |
mod(x,y) | остаток от деления с учётом знака |
sign(x) | знак числа |
factor(x) | разложение числа на простые множители |
isprime(x) | истинно, если число простое |
rand | генерация псевдослучайного числа с равномерным законом распределения |
randn | генерация псевдослучайного числа с нормальным законом распределения |
abs(x) | вычисление модуля числа |
С использованием вышеупомянутых функций, записать и сосчитать значение арифметического выражения:
Вычислить: 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 ; просмотров: 5481 ; ЗАКАЗАТЬ НАПИСАНИЕ РАБОТЫ
MATLAB — алгебра
До сих пор мы видели, что все примеры работают как в MATLAB, так и в его GNU, альтернативно называемом Octave. Но для решения основных алгебраических уравнений и MATLAB, и Octave немного отличаются, поэтому мы постараемся охватить MATLAB и Octave в отдельных разделах.
Мы также обсудим факторизацию и упрощение алгебраических выражений.
Решение основных алгебраических уравнений в MATLAB
Функция решения используется для решения алгебраических уравнений. В простейшем виде функция решения принимает в качестве аргумента уравнение, заключенное в кавычки.
Например, давайте решим для х в уравнении х-5 = 0
MATLAB выполнит приведенный выше оператор и вернет следующий результат —
Вы также можете вызвать функцию решения как —
MATLAB выполнит приведенный выше оператор и вернет следующий результат —
Вы можете даже не включать правую часть уравнения —
MATLAB выполнит приведенный выше оператор и вернет следующий результат —
Если в уравнение входит несколько символов, то по умолчанию MATLAB предполагает, что вы решаете для x, однако функция решения имеет другую форму —
где вы также можете упомянуть переменную.
Например, давайте решим уравнение v — u — 3t 2 = 0, для v. В этом случае мы должны написать —
MATLAB выполнит приведенный выше оператор и вернет следующий результат —
Решение основных алгебраических уравнений в октаве
Функция корней используется для решения алгебраических уравнений в Octave, и вы можете написать приведенные выше примеры следующим образом:
Например, давайте решим для х в уравнении х-5 = 0
Octave выполнит приведенный выше оператор и вернет следующий результат —
Вы также можете вызвать функцию решения как —
Octave выполнит приведенный выше оператор и вернет следующий результат —
Решение квадратичных уравнений в MATLAB
Функция решения также может решать уравнения более высокого порядка. Он часто используется для решения квадратных уравнений. Функция возвращает корни уравнения в массиве.
Когда вы запускаете файл, он показывает следующий результат —
Решение квадратичных уравнений в октаве
Когда вы запускаете файл, он показывает следующий результат —
Решение уравнений высшего порядка в MATLAB
Функция решения также может решать уравнения более высокого порядка. Например, давайте решим кубическое уравнение как (x-3) 2 (x-7) = 0
MATLAB выполнит приведенный выше оператор и вернет следующий результат —
В случае уравнений более высокого порядка корни длинные, содержащие много членов. Вы можете получить числовое значение таких корней, преобразовав их в двойные. В следующем примере решается уравнение четвертого порядка x 4 — 7x 3 + 3x 2 — 5x + 9 = 0.
Создайте файл сценария и введите следующий код —
Когда вы запускаете файл, он возвращает следующий результат —
Обратите внимание, что последние два корня являются комплексными числами.
Решение уравнений высшего порядка в октаве
В следующем примере решается уравнение четвертого порядка x 4 — 7x 3 + 3x 2 — 5x + 9 = 0.
Создайте файл сценария и введите следующий код —
Когда вы запускаете файл, он возвращает следующий результат —
Решение системы уравнений в MATLAB
Функция решения также может быть использована для генерации решений систем уравнений, включающих более одной переменной. Давайте рассмотрим простой пример, чтобы продемонстрировать это использование.
Давайте решим уравнения —
Создайте файл сценария и введите следующий код —
Когда вы запускаете файл, он показывает следующий результат —
Таким же образом вы можете решать большие линейные системы. Рассмотрим следующую систему уравнений —
Решающая система уравнений в октаве
У нас есть немного другой подход к решению системы ‘n’ линейных уравнений с ‘n’ неизвестными. Давайте рассмотрим простой пример, чтобы продемонстрировать это использование.
Давайте решим уравнения —
Такая система линейных уравнений может быть записана в виде единого матричного уравнения Ax = b, где A — матрица коэффициентов, b — вектор столбцов, содержащий правую часть линейных уравнений, а x — вектор столбцов, представляющий решение как показано в программе ниже —
Создайте файл сценария и введите следующий код —
Когда вы запускаете файл, он показывает следующий результат —
Таким же образом, вы можете решить большие линейные системы, как указано ниже —
Разложение и сбор уравнений в MATLAB
Функция расширения и сбора расширяет и собирает уравнение соответственно. Следующий пример демонстрирует понятия —
Когда вы работаете со многими символическими функциями, вы должны объявить, что ваши переменные являются символическими.
Создайте файл сценария и введите следующий код —
Когда вы запускаете файл, он показывает следующий результат —
Расширяя и собирая уравнения в октаве
Вам нужно иметь символьный пакет, который обеспечивает расширение и функцию сбора для расширения и сбора уравнения, соответственно. Следующий пример демонстрирует понятия —
Создайте файл сценария и введите следующий код —
Когда вы запускаете файл, он показывает следующий результат —
Факторизация и упрощение алгебраических выражений
Факторная функция разлагает выражение, а функция упрощения упрощает выражение. Следующий пример демонстрирует концепцию —
пример
Создайте файл сценария и введите следующий код —
Когда вы запускаете файл, он показывает следующий результат —