asec
asec( X ) возвращает обратную секущую функцию (arcsecant функция) X . Все углы исчисляются в радианах.
- Для действительных элементов X в интервале [-Inf,-1] и [1,Inf] , asec возвращает значения в интервале [0,pi] .
- Для вещественных значений X в интервале [-1,1] и для комплексных чисел X , asec возвращает комплексные числа с действительными частями в интервале [0,pi] .
Примеры
Обратная секущая функция для числовых и символьных аргументов
В зависимости от его аргументов, asec возвращает или точные символьные результаты с плавающей точкой.
Вычислите обратную секущую функцию для этих чисел. Поскольку эти числа не являются символьными объектами, asec возвращает результаты с плавающей точкой.
A = asec([-2, 0, 2/sqrt(3), 1/2, 1, 5])
A = 2.0944 + 0.0000i 0.0000 + Infi 0.5236 + 0.0000i. 0.0000 + 1.3170i 0.0000 + 0.0000i 1.3694 + 0.0000i
Вычислите обратную секущую функцию для чисел, преобразованных в символьные объекты. Для многих символьных (точных) чисел, asec отвечает на неразрешенные символьные звонки.
symA = asec(sym([-2, 0, 2/sqrt(3), 1/2, 1, 5]))
symA = [ (2*pi)/3, Inf, pi/6, acos(2), 0, acos(1/5)]
Использование vpa аппроксимировать символьные результаты числами с плавающей запятой:
vpa(symA)
ans = [ 2.0943951023931954923084289221863. Inf. 0.52359877559829887307710723054658. 1.3169578969248165734029498707969i. 0. 1.3694384060045659001758622252964]
Постройте обратную секущую функцию
Постройте обратную секущую функцию на интервале от-10 до 10.
syms x fplot(asec(x),[-10 10]) grid on

Обработайте выражения, содержащие обратную секущую функцию
Много функций, такой как diff , int , taylor , и rewrite , может обработать выражения, содержащие asec .
Найдите первые и вторые производные обратной секущей функции:
syms x diff(asec(x), x) diff(asec(x), x, x)
ans = 1/(x^2*(1 - 1/x^2)^(1/2)) ans = - 2/(x^3*(1 - 1/x^2)^(1/2)) - 1/(x^5*(1 - 1/x^2)^(3/2))
Найдите неопределенный интеграл обратной секущей функции:
int(asec(x), x)
ans = x*acos(1/x) - log(x + (x^2 - 1)^(1/2))*sign(x)
Найдите расширение Ряда Тейлора asec(x) вокруг x = Inf :
taylor(asec(x), x, Inf)
ans = pi/2 - 1/x - 1/(6*x^3) - 3/(40*x^5)
Перепишите обратную секущую функцию в терминах натурального логарифма:
rewrite(asec(x), 'log')
ans = -log(1/x + (1 - 1/x^2)^(1/2)*1i)*1i
Входные параметры
X входной параметр
символьное число | символьная переменная | символьное выражение | символьная функция | символьный вектор | символьная матрица
Введите в виде символьного числа, переменной, выражения или функции, или как вектор или матрица символьных чисел, переменных, выражений или функций.
Смотрите также
Представлено до R2006a
Открытый пример
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
Документация Symbolic Math Toolbox
Поддержка
- MATLAB Answers
- Помощь в установке
- Отчеты об ошибках
- Требования к продукту
- Загрузка программного обеспечения
© 1994-2021 The MathWorks, Inc.
- Условия использования
- Патенты
- Торговые марки
- Список благодарностей
Для просмотра документации необходимо авторизоваться на сайте
Войти
Памятка переводчика
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста — например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.
asec
Y = asec( X ) возвращает Обратный Секанс (секунда -1 ) из элементов X в радианах. Функция принимает и действительные и комплексные входные параметры.
- Для вещественных значений X в интервале [-∞,-1] и [1, ∞], asec(X) возвращает значения в интервале [0, π].
- Для вещественных значений X в интервале (-1, 1) и для комплексных чисел X , asec(X) возвращает комплексные числа.
Примеры
Обратный секанс значения
Найдите обратный секанс значения.
asec(-2.8)
ans = 1.9360
Обратный секанс вектора комплексных значений
Найдите обратный секанс элементов векторного x . asec функционируйте действия на x поэлементный.
x = [0.5i 1+3i -2.2+i]; Y = asec(x)
Y = 1×3 complex 1.5708 + 1.4436i 1.4749 + 0.2970i 1.9503 + 0.1833i
Графическое изображение обратной секущей функции
Постройте обратную секущую функцию на интервалах — 5 ≤ x ≤ — 1 и 1 ≤ x ≤ 5 .
x1 = -5:0.01:-1; x2 = 1:0.01:5; plot(x1,asec(x1),'b') hold on plot(x2,asec(x2),'b') grid on

Входные параметры
X — Секанс угла
скаляр | вектор | матрица | многомерный массив
Секанс угла в виде скаляра, вектора, матрицы или многомерного массива. asec операция поэлементна когда X является нескалярным.
Типы данных: single | double
Поддержка комплексного числа: Да
Больше о
Обратный секанс
Обратный секанс задан как
sec − 1 ( z ) = cos − 1 ( 1 z ) .
Расширенные возможности
«Высокие» массивы
Осуществление вычислений с массивами, которые содержат больше строк, чем помещается в памяти.
Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.
Основанная на потоке среда
Запустите код в фоновом режиме с помощью MATLAB® backgroundPool или ускорьте код с Parallel Computing Toolbox™ ThreadPool .
Эта функция полностью поддерживает основанные на потоке среды. Для получения дополнительной информации смотрите функции MATLAB Запуска в Основанной на потоке Среде.
Массивы графического процессора
Ускорьте код путем работы графического процессора (GPU) с помощью Parallel Computing Toolbox™.
Указания и ограничения по применению:
- Если выход функции, работающей на графическом процессоре, может быть комплексным, то необходимо явным образом задать его входные параметры как комплекс. Для получения дополнительной информации смотрите работу с Комплексными числами на графическом процессоре (Parallel Computing Toolbox) .
Для получения дополнительной информации смотрите функции MATLAB Запуска на графическом процессоре (Parallel Computing Toolbox) .
Распределенные массивы
Большие массивы раздела через объединенную память о вашем кластере с помощью Parallel Computing Toolbox™.
Эта функция полностью поддерживает распределенные массивы. Для получения дополнительной информации смотрите функции MATLAB Запуска с Распределенными Массивами (Parallel Computing Toolbox) .
Смотрите также
Представлено до R2006a
Открытый пример
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
Документация MATLAB
Поддержка
- MATLAB Answers
- Помощь в установке
- Отчеты об ошибках
- Требования к продукту
- Загрузка программного обеспечения
© 1994-2021 The MathWorks, Inc.
- Условия использования
- Патенты
- Торговые марки
- Список благодарностей
Для просмотра документации необходимо авторизоваться на сайте
Войти
Памятка переводчика
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста — например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.
Правила ввода математических выражений
Целые числа вводятся обычным способом, например: 4 ; 18 ; 56
Для ввода отрицательного числа необходимо поставить знак минус: -19 ; -45 ; -90
Рациональные числа вводятся с использованием символа / , например: 3 / 4 ; -5 / 3 ; 5 / (-19)
Вещественные числа вводятся с использованием точки в качестве разделителя целой и дробной частей: 4.5 ; -0.4
Ввод переменных и констант:
Переменные и константы вводятся латинскими буквами, например: x ; y ; z ; a ; b .
Константы π и e вводятся как pi и e — соответственно.
Символ бесконечности ∞ вводится двумя маленькими латинскими буквами oo или словом inf .
Соответственно, плюс бесконечность задается как +oo, и минус бесконечность как -oo.
Сумма и разность:
Сумма и разность задаются при помощи знаков + и — соответственно, например: 3 + a ; x + y ; 5 — 4 + t ; a — b + 4 ; ВНИМАНИЕ! Никаких пробелов между операндами быть не должно, например ввод: x + a — неправильный , правильно вводить так: x + a — без пробелов.
Умножение:
Умножение задается знаком * , например: 3 * t ; x * y ; -5 * x .
ВНИМАНИЕ! Ввод знака * необходим всегда, т.е. запись типа: 2 x — недопустима . Следует всегда использовать знак * , т.е правильная запись: 3 * x .
Деление:
Деление задается знаком / , например: 15 / a ; y / x ;.
Степень:
Степень задается знаком ^ , например: x ^ 2 ; 4 ^ 2 ; y ^ (-1 / 2) .
Приоритет операций:
Для указания (или изменения) приоритета операций необходимо использовать скобки () , например: ( a + b ) / 4 — тут вначале будет произведено сложение a + b , а потом сумма разделится на 4 , тогда как без скобок: — сначала b разделится на 4 и к полученному прибавится a . ВНИМАНИЕ! В непонятных случаях лучше всегда использовать скобки для получения нужного результата, например: 2 ^ 4 ^ 3 — неясно как будет вычислено это выражение: cначала 2 ^ 4 , а затем результат в степень 3 , или сначала 4 ^ 3 = 64 , а затем 2 ^ 64 ? Поэтому, в данном случае, необходимо использовать скобки: (2 ^ 4) ^ 3 или 2 ^ (4 ^ 3) — смотря что нужно.
Также распространенной ошибкой является запись вида: x ^ 3 / 4 — непонятно: вы хотите возвести x в куб и полученное выражение разделить на 4 , или хотите возвести x в степень 3 / 4 ? В последнем случае необходимо использовать скобки: x ^ (3 / 4) .
Ввод функций:
Функции вводятся с использованием маленьких латинских букв: sin ; cos ; tan ; log .
ВНИМАНИЕ! Аргумент функции всегда берется в скобки () , например: sin( 4 ) ; cos( x ) ; log( 4 + y ) .
Запись типа: sin 4 ; cos x ; log 4 + y — недопустима . Правильная запись: sin( 4 ) ; cos( x ) ; log( 4 + y ) .
Если необходимо возвести функцию в степень, например: синус x и все это в квадрате, это записывается вот так: (sin( x )) ^ 2 . Если необходимо возвести в квадрат аргумент, а не функцию (т.е синус от x ^ 2 ), тогда это выглядит вот так: sin( x ^ 2) . Запись типа: sin ^ 2 x — недопустима .
Основы работы в SciLab. На примере экзаменационных вопросов по КСВЭ
Завтра мне сдавать экзамен по такому предмету как КСВЭ(Компьютерный сервис вычислительного эксперимента). А лучший способ подготовки — это написание статьи. Я рассмотрю часть вопросов к экзамену, которые связаны с SciLab.
Статья больше подходит для студентов, использующих scilab для проверки решения, для или для сдачи экзамена по дисциплине КСВЭ. Для более подробного изучения надо читать литературу, указанную в конце статьи
Основные термины
Scilab (читается Сайлэб) — пакет прикладных математических программ, предоставляющий мощное открытое окружение для инженерных (технических) и научных расчётов.
CeCILL (от «CEA CNRS INRIA Logiciel Libre») — это лицензия на свободное программное обеспечение, адаптированная к интернациональному законодательству и законодательству Франции, подобная GNU General Public License и сохраняющая совместимость с ним.
Система m линейных алгебраических уравнений с n неизвестными (или, линейная система, также употребляется аббревиатура СЛА́У) в линейной алгебре — это система уравнений вида
Обыкнове́нные дифференциа́льные уравне́ния (ОДУ) — это дифференциальное уравнение вида
где — неизвестная функция (возможно, вектор-функция, тогда, как правило, тоже вектор-функция со значениями в пространстве той же размерности; в этом случае говорят о системе дифференциальных уравнений), зависящая от независимой переменной, штрих означает дифференцирование по. Число (порядок старшей производной, входящей в данное уравнение) называется порядком дифференциального уравнения (1)
1. Система компьютерной математики SciLab: История разработки. Возможности и ключевые особенности. Достоинства и недостатки.
История
С 1994 года распространяется вместе с исходным кодом через Интернет. В 2003 году для поддержки Scilab был создан консорциум Scilab Consortium. Сейчас в него входят 25 участников, в том числе Mandriva, INRIA и ENPC (Франция).
Возможности
Scilab содержит сотни математических функций, и есть возможность добавления новых, написанных на различных языках (C, C++, Fortran и т. д.). Также имеются разнообразные структуры данных (списки, полиномы, рациональные функции, линейные системы), интерпретатор и язык высокого уровня.
Scilab был спроектирован как открытая система, и пользователи могут добавлять в него свои типы данных и операции путём перегрузки.
В системе доступно множество инструментов:
2D и 3D графики, анимация
Линейная алгебра, разреженные матрицы (sparse matrices)
Полиномиальные и рациональные функции
Интерполяция, аппроксимация
Симуляция: решение ОДУ и ДУ
Scicos: гибрид системы моделирования динамических систем и симуляции
Дифференциальные и не дифференциальные оптимизации
Обработка сигналов
Параллельная работа
Статистика
Работа с компьютерной алгеброй
Интерфейс к Fortran, Tcl/Tk, C, C++, Java, LabVIEW
Scilab имеет схожий с MATLAB язык программирования. В состав пакета входит утилита, позволяющая конвертировать документы Matlab в Scilab.
Scilab позволяет работать с элементарными и большим числом специальных функций (Бесселя, Неймана, интегральные функции), имеет мощные средства работы с матрицами, полиномами (в том числе и символьно), производить численные вычисления (например, численное интегрирование) и решение задач линейной алгебры, оптимизации и симуляции, мощные статистические функции, а также средство для построения и работы с графиками.
Для численных расчётов используются библиотеки Lapack, LINPACK, ODEPACK, Atlas и другие.
В состав пакета также входит Scicos — инструмент для редактирования блочных диаграмм и симуляции (аналог simulink в пакете MATLAB). Имеется возможность совместной работы Scilab с программой LabVIEW.
Ключевые особенности
Отличия от некоторых коммерческих программ:
Бесплатность.
Свободность (с версии 5.0).
Маленький размер — дистрибутив 4 версии занимал менее 20 МБ против более чем двухгигабайтного пакета MATLAB. Инсталлятор 5 версии (5.4.0) увеличился в объёме до 108 МБ.
Возможность запуска в консоли без использования графического интерфейса, в том числе в версии под Windows (в UNIX и Windows версиях MatLab-а эта возможность присутствует тоже). Это позволяет производить автоматизированные вычисления, есть пакетный режим.
Достоинства и недостатки
Поиски достоинства и недостатков на просторе интернета ни чего не дали. Так что расскажу о том, что я заметил сам.
Если говорить о достоинствах, тут самым основным для меня является бесплатность данного пакета, по сравнению с той же Mathematic, когда для выполнения лабораторных работы приходилось искать серийник или crack. Далее — это кросплатформеность, т.к. я больше предпочитаю использовать Gentoo, чем Windows. В принципе большенство достоинств описано в пункте Ключевые особенности.
Из недостатков я вижу только 2: Это нет такой визуализации программирования как в Mathematic, а так же система использует прежде всего численные подходы, для вычисления, что может сказаться на точности.
2. Основы работы в SciLab. Пользовательские и системные переменные. Математические выражения. Коментарии
При написании данной статьи я использую версию scilab-5.3.3 под windows.
SciLab 5.3.3
Операционные системы: Windows, Linux, MacOS
Пользовательские и системные переменные
Год/Дата Выпуска: 2011
Версия: 5.3.3
Разработчик: Free Open Source Software for Numerical Computation
Сайт разработчика: www.scilab.org
Разрядность: 32bit+64bit
Лицензия: CeCILL
По характеристикам данных не нашёл, но могу сказать, что данный пакет грузится без глюков на моём ноутбуке
Процессор: Intel Celeron Dual-Core T3300 2.0 ГГц
Оперативная память 2Гб DDR3
Видеоадаптер Intel GMA4500M

Прежде чем перейти дальше, рассмотрим сам интерфейс. При запуске открывается командное окно.
Есть 2 варианта работы: 1 — это работа в том же командном окне, 2 — открыть SciNotes(что-то вроде блокнота с подсветкой) где можно написать код, который позднее запустить, результат выполнения появится в командном окне.
Для примера я рассмотрю вывод Hellow world.

Командная строка. Используем функцию вывода на дисплей disp()
При работе в SciNotes вы получите что то похожее
для выполнения кода, надо или нажать на стрелочку в право 🙂 (как во многих средах разработки)
или Выполнение->… без отображение команд
в принципе можно использовать и другие методы выполнения, и не использовать вывод на экран
Результатом выполнения будет:
т.к. можно сказать что интерфейс изучен, далее я буду приводить просто код и результат выполнения
SciLab чувствителен к реестру, т.е. А и а — разные переменные переменные.
a=1,A=3
//Каждая операция начинается с новой строки или через запятую
//коментарии можно оставлять после двух символоф слэш
b=3
c=a+b
disp©
Основные операции:
+ сложение
— вычитание
* умножение
/ деление справа, т.е. x/y = xy^(-1)
\ деление слева, т.е. x\y = x^(-1)y
^ возведение в степень, т.е. x^y
** возведение в степень (эквивалентно ^)
’ эрмитово сопряжение (комплексное сопряжение и транспонирование)
3. Основы работы в SciLab. Функции и их типы. Способы объявления пользовательских функций. Использование функций. Файлы-сценарии и их применение для хранения функций.
Элементарные математические функции.
acos acosd acosh acoshm acosm acot acotd acoth
acsc acscd acsch asec asecd asech asin asind
asinh asinhm asinm atan atand atanh atanhm atanm
cos cosd cosh coshm cosm cotd cotg coth
cothm csc cscd csch sec secd sech sin
sinc sind sinh sinhm sinm tan tand tanh
tanhm tanm
exp expm log log10 log1p log2 logm max
maxi min mini modulo pmodulo sign signm sqrt
sqrtm
y = int8(x) 8-битовое число со знаком [-2^7; (2^7)-1] = [-128; 127]
y = uint8(x) 8-битовое число без знака [0; (2^8)-1] = [0; 255]
y = int16(x) 16-битовое число со знаком [-2^15; (2^15)-1] = [-32768; 32767]
y = uint16(x) 16-битовое число без знака [0; (2^16)-1] = [0; 65535]
y = int32(x) 32-битовое число со знаком [-2^31; (2^31)-1] = [-2147483648; 2147483647]
y = uint32(x) 32-битовое число без знака [0; (2^32)-1] = [0; 4294967295]
iconvert преобразование к целочисленному представлению
inttype определение типа целого числа
простейший способ вызова пользовательской функции:
outvar = myfunction ( invar )
пример пользовательской фунции:
function y = myfunction ( x )
y = 2 * x
endfunction
Сохраняем её. Далее приведён пример вызова данной функции
—>exec(‘D:\PRIVATE\Учёба\КСВЭ\myfunction.sci’, -1)
—>y = myfunction ( 3 )
y =
4. Определение одномерный и многомерных массивов. Основные действия над массивами.
Пример, как задаётся одномерный массив:
—>A = [1, 2, 3, 4, 5, 6]
A =
1. 2. 3. 4. 5. 6.
Задание двухмерного массива:
—>A = [1, 2, 3; 4, 5, 6]
A =
1. 2. 3.
4. 5. 6.
квадратные скобки ”[” и ”]” обозначают начало и конец перечисления
элементов матрицы,
запятой ”,” отделяются элементы матрицы, находящиеся в одной строке,
точка с запятой ”;” разделяет строки матрицы.
size определить размер матрицы
matrix изменить размер матрицы
resize_matrix создать новую матрицу заданного размера и скопировать
в нее элементы из исходной матрицы
Операции над матрицами:
Обращение к элементам матрицы
i = 1; 2, а j = 3; 4
для этого возьмём уже готовую матрицу
—>A = testmatrix (» hilb «, 5)
A =
25. — 300. 1050. — 1400. 630.
— 300. 4800. — 18900. 26880. — 12600.
1050. — 18900. 79380. — 117600. 56700.
— 1400. 26880. — 117600. 179200. — 88200.
630. — 12600. 56700. — 88200. 44100.
—>A(1: 2, 3: 4)
ans =
1050. — 1400.
— 18900. 26880
A матрица целиком
A(. ) матрица целиком
A(i:j,k) элементы матрицы в k-ом столбце с i-ой по j-ую строку
A(i,j:k) элементы матрицы в i-ой строке с j-ого по k-ый столбец
A(i,:) i-ая строка матрицы
A(:,j) j-ый столбец матрицы
Генерация единичной матрицы
—>A = ones (3, 3)
A =
1. 1. 1.
1. 1. 1.
1. 1. 1.
Операции над матрицами
+ сложение .+ поэлементное сложение
— вычитание .- поэлементное вычитание
* умножение .* поэлементное умножение
/ деление справа ./ поэлементное деление справа
\ деление слева .\ поэлементное деление слева
^ или * возведение в степень :^ поэлементное возведение в степень
’ эрмитово сопряжение (комплексное сопряжение и транспонирование)
.’ транспонирование без сопряжения
пример умножения числа на еденичную матрицу 2 на 2
—>B = 2 * ones (2, 2)
B =
2. 2.
2. 2.
5. Определение одномерный и многомерных массивов. Специальные матричные функции
функции работы с матрицами
chol разложение Холесского
companion сопровождающая матрица
cond число обусловленности
det определитель матрицы
inv обратная матрица
linsolve решение систем линейных уравнений
lsq метод наименьших квадратов
lu LU-разложение с выбором опорного элемента
qr QR-разложение
rcond обратное число обусловленности
spec собственные значения и векторы
svd разложение по сингулярным числам матрицы
testmatrix генерация специальных матриц (Гильберта, Франка и др.)
trace след матрицы
6. Определение одномерный и многомерных массивов. Решение СЛАУ. Символьные массивы и операции над ними
Текст файла–сценария с решением задачи по формулам Крамера
—>A=[2 1 -5 1;1 -3 0 -6;0 2 -1 2;1 4 -7 6];//Матрица коэффициентов
—>b=[8;9;-5;0]; //Вектор свободных коэффициентов
—>//Первая вспомогательная матрица
—>A1=A;A1(:,1)=b;
—>//Вторая вспомогательная матрица
—>A2=A;A2(:,2)=b;
—>//Третья вспомогательная матрица
—>A3=A;A3(:,3)=b;
—>//Четвертая вспомогательная матрица
—>A4=A;A4(:,4)=b;
—>//Главный определитель отличен от нуля
—>D=det(A);
—>//Определители вспомогательных матриц
—>d(1)=det(A1);
—>d(2)=det(A2);
—>d(3)=det(A3);
—>d(4)=det(A4);
—>//Вектор неизвестных
—>x=d/D
x =
3.
— 4.
— 1.
1.
—>//Проверка
—>P=A*x-b
P =
0.
0.
— 8.882D-16
2.665D-15
Решение системы методом Гаусса
—>A=[2 -1 1;3 2 -5;1 3 -2];
—>b=[0;1;4];
—>//Приведение расширенной матрицы к треугольному виду
—>C=rref([A b]);
—>//Выделение последнего столбца из матрицы,
—>//x — решение системы
—>x=C(1:3,4:4)
x =
0.4642857
1.6785714
0.75
—>A*x //Проверка
ans =
— 5.551D-16
1.
4.
7. Численное интегрирование. Подходы к интегрированию. Интегрирование функций заданных пользователем
Численное интегрирование (историческое название: (численная) квадратура) — вычисление значения определённого интеграла (как правило, приближённое). Под численным интегрированием понимают набор численных методов отыскания значения определённого интеграла.
Интегрирование по методу трапеций
проинтегрируем функцию, корень из 2*x-1 на отрезке от 1 до 10 с разбиением в 1 шаг
—>x=1:10
x =
1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
—>y=sqrt(2*x-1)
y =
column 1 to 6
1. 1.7320508 2.236068 2.6457513 3. 3.3166248
column 7 to 10
3.6055513 3.8729833 4.1231056 4.3588989
—>inttrap(x,y)
ans =
27.211585
Квадратурные формулы Ньютона Котеса
—>integrate(‘(2*x-1)^0.5′,’x’,5,13)
ans =
32.666667
8.Численное дифференцирование. Подходы к дифференцированию.
Численное дифференцирование — совокупность методов вычисления значения производной дискретно заданной функции.
В основе численного дифференцирования лежит аппроксимация функции, от которой берется производная, интерполяционным многочленом. Все основные формулы численного дифференцирования могут быть получены при помощи первого интерполяционного многочлена Ньютона (формулы Ньютона для начала таблицы).
в точке
на отрезке
v=0:3;
—>numdiff(my,v)
ans =
17. 0. 0. 0.
0. 32. 0. 0.
0. 0. 52.999999 0.
0. 0. 0. 80.000002
и проверка
—>function f1=my1(x), f1=3*(x+2)^2+5, endfunction;
—>my1(v)
ans =
17. 32. 53. 80.
9. Решение ОДУ средствами SciLab. Функции применяемые для решение ОДУ. Решение краевых задач.
Существует 4 способа для решения ОДУ:
1. С помощью команды ode, которая является солвером для решения обыкновенного
дифференциального уравнения.
2. С помощью команды odedc, которая вычисляет решение смешанной дискретно-
непрерывной системы.
3. Команда dassl, которая дает решение неявно выраженного дифференциального уравнения.
4. С помощью команды impl, которая дает решение неявно выраженного линейного
дифференциального уравнения.
—>y0=1;
—>t0=1;
—>t=1:0.01:1.5;
—>deff(«[ydot]=f(t,y)»,«ydot=y^(1/3)*t»)
—>y=ode(y0,t0,t,f);
—>y_exact=((t^2+2)/3)^(1.5);// это функция точного решения для сравнения
—>my_er=y-y_exact;
—>plot(t,y-y_exact) // это график ошибки вычисления от аргумента t

результатом является такой график
за одно можно увидеть Графическое окно. Построение графиков будет подробно рассмотрено далее.
10. Построение двухмерных графиков в системе SciLab. Основные функции и типы графиков.
Функция plot
рассмотрим пример:
x=-2*%pi:0.1:2*%pi;
y=sin(cos(x));
plot(x,y);
как можно заметить первый параметр функции — это отрезок, а второй функции
так же существует возможность нарисовать сразу несколько функций, если их перечислить:
x=-6.28:0.02:6.28;
y=sin(x/2);
z=cos(x);
v=exp(cos(x));
plot(x,y,x,z,x,v);

Функция plot2d
Рассмотрим функцию опять на примере:

как мы можем увидеть, у этой функции намного больше функционала.
фунции передаются сразу массивом, так же можно указать цвет линий и отрезок.
Функция polarplot
Служит для построения графика в полярных координатах
fi=0:0.01:2*%pi;
ro=3*cos(5*fi);
ro1=3*cos(3*fi);
polarplot(fi,ro,style=color(«red»));

получается ромашка
параметры похожи как и в случае с plot2d
11. Построение трёхмерных графиков в системе SciLab. Основные функции и типы графиков.
Существует 4 способа построение графика:
Способ 1.
С помощью команды plot3d. Команда создает 3D график по точкам, заданным матрицами
x, y и z.
Способ 2.
С помощью команды plot3d1. Команда создает 3D график по точкам, заданным
матрицами x, y и z с помощью уровней цвета. Вещь в общем избыточная: величина
координаты z дополнительно еще и покрашена, в зависимости от принимаемого значения
z.
Способ 3.
С помощью команды fplot3d. Это аналог команды fplot3d, но изображаемая поверхность
задана с помощью внешней функции.
Способ 4.
С помощью команды fplot3d1. Это аналог команды plot3d1, но изображаемая поверхность
задана с помощью внешней функции.
Синтаксис этих команд смотри с помощью help.
t=-%pi:0.3:%pi;
plot3d(t,t,sin(t)’*cos(t),35,45,’X@Y@Z’,[2,2,4]);

забыл указать, что в графическом окне есть возможность экспорта данных, т.е. сохранить картинку
t=-%pi:0.3:%pi;
plot3d1(t,t,sin(t)’*cos(t),35,45,’X@Y@Z’,[2,2,4]);

deff(‘[z]=surf(x,y)’,’z=sin(x)*cos(y)’);
t=-%pi:0.3:%pi;
fplot3d(t,t,surf,35,45,«X@Y@Z»);
Результат такой же как в примере 1
deff(‘[z]=surf(x,y)’,’z=sin(x)*cos(y)’);
t=-%pi:0.3:%pi;
fplot3d1(t,t,surf,35,45,«X@Y@Z»);
результат такой же, как в примере 2
12. Задача полиномов в SciLab. Символьные операции с полиномами. Решение алгебраический уравнений. Сравнение функций fsolve и roots.
Рассмотрим на примере решения уравнения 2x^4-8x^3+8x^2-1=0
V=[-1 0 8 -8 2];
p=poly(V,’x’,’c’)

В массиве указываются коэффициенты при х
После построения полинома, попробуем получить решение:
X=roots(p)
X =
2.306563
1.5411961
— 0.3065630
0.4588039

Для решения трансцендентных уравнений в применяют функцию Scilab fsolve(x0,f)
задача
—>deff(‘[y]=f1(x)’,’y1=((x-1)^2)^(1/3),y2=(x^2)^(1/3),y=y1-y2′)
—>fsolve(0,f1)
ans =
0.5
Надеюсь данная статья послужит толчком, для дальнейшего изучения SciLab или решения своих задач/лабараторных
Список используемых источников:
1. http://ru.wikipedia.org/wiki/Scilab
2. http://vse-o-scilab.narod.ru/osnovi_raboti_v_scilab/konsol_scilab/
3. Введение в Scilab Micha¨el Baudin Перевод Artem Glebov Ноябрь 2010 года
4. Алексеев Е.Р., Чеснокова О.В. Массивы и матрицы в Scilab. Решение задач линейной алгебры.