Практикум БСМП Scilab. Практикум Москва, 2019 г. 2 Scilab
Скачать 1.78 Mb.
|
С 30 Ввести матрицу вещественных чисел А(4,4) . Сформировать и вывести на экран: B(4) – вектор полученный из элементов главной диагонали; C(4) - вектор полученный из элементов побочной диагонали 1.5.4. Содержание отчета 1) В форме комментариев: Название лабораторной работы ФИО студента, номер группы № варианта Индивидуальное задание 2) Протокол вычислений (сессии) в Командном окне, снабженный необходимыми комментариями. 1.5.5. Пример выполнения задания 36 1) Задание на разработку приложения Создать приложение для вычисления и отображения на разработанной форме тех членов последовательности 2 3 n x 1 (x 1) (x 1) (x 1) ; ; ; ...; ;... 1! 2! 3! n! , значения которых при x=0.5по модулю больше =0.0001. 2) Формализация и уточнение задания Для решения поставленной задачи необходимо вывести рекуррентную формулу вычисления члена последовательности. Очевидно, что выражение для n-го члена заданной последовательности имеет вид: n n (x 1) a n! Тогда формула для (n+1) члена последовательности имеет вид: n 1 n 1 (x 1) a (n 1)! Имея в виду, что (n+1)!=n! ∙ (n+1), получим n 1 n 1 n n a (x 1) n! (x 1) a (n 1)! (x 1) n 1 В результате получаем следующую рекуррентную формулу: n 1 n 1 x 1 x 1 a a ; a ; n 1 1! -начальный член последовательности при n=1. 3) Разработка схемы алгоритма функции Pos Pos(x,eps) a=x-1 n=1 |a|>eps и n<100 k(n)=n y(n)=a a=a(x-1)/(n+1) n=n+1 Конец Pos Да Нет 37 4) Программный код решения задачи // Сценарий-функция Pr1_5_1_fun.sce // Практическое занятие 1.5 по теме: // «Программирование алгоритмов // итеративных циклических структур» // Вариант 0 // Входные параметры: аргумент х и точность eps // Выходные параметры: вектор y содержит значения // членов ряда, вектор k содержит номера выполненных итераций function [y, k]=Pos(x, eps) a=x-1; n=1; while abs(a)>eps && n<100 k(n)=n; y(n)=a; a=a.*(x-1)./(n+1); disp(a,n) n = n + 1; end endfunction -->// Сессия командного окна задания 1: -->//Практическое занятие 1.5 по теме: -->// «Программирование алгоритмов итеративных циклических структур» -->// Вариант 0, задание 1 -->// Выполнил:Студент группы БИН1801 Иванов И.И. --> -->exec('Pr1_5_1.sce'); 1 -0.50000 2 0.12500 3 -0.02083 4 0.00260 5 -0.00026 -->//Конец сессии ======================================================== 1.5.6. Контрольные вопросы по теме 1) Что такое sci -функция и каковы её отличия от сценария? 2) Формат sci -функции. 3) Каким образом sci -функция загружается в оперативную память и запускается на выполнение? 4) Можно ли в одном сценарии описать несколько функций? 38 5) В какой последовательности должны быть расположены sci - функции в одном сценарии, если одна из них является главной, которая вызывает остальные функции? 6) Может ли sci -функция участвовать подобно библиотечным функциям в записи арифметического выражения? 7) Что такое формальные и фактические параметры функции? 8) Можно ли переменные, используемые в функции, созданной в сценарии, после его загрузки увидеть в окне Обозреватель переменных? 9) Может ли функция иметь несколько выходных параметров? 10) Может ли функция не иметь выходных параметров? 11) Может ли функция не иметь входных параметров? 12) Может ли функция не иметь ни входных, ни выходных параметров? 13) Может ли передаваться в качестве входного (или выходного) параметра матрица? 14) Может ли входным параметром функции являться число? 15) Формат оператора input 16) Как с использованием оператора if…end реализовать стандартное, усеченное и вложенное разветвление? 17) Формат оператора множественного разветвления select 18) Формат оператора регулярного цикла for…end , особенности задания значений переменной цикла. 19) Оператор итеративного цикла while…end и его структура. 20) Назначение операторов continue и brek. 39 2.3. Лабораторная работа по теме «Интегрирование и дифференцирование в среде Scilab» 2.3.1. Вопросы, подлежащие изучению 1) Постановка задачи численного интегрирования. 2) Вычисление значения определенного интеграла с использованием функций inttrap и integrate . 3) Вычисление значения производной в точке с использованием функций Scilab numderivative. 4) Методы численного интегрирования: метод трапеций и метод Симпсона. 2.3.2. Общее задание 1) Изучите материал учебника (п. 2.3). 2) Выберите из табл. 2.4-1 вариант индивидуального задания. 3) Вычислите определенный интеграл с использованием функции Scilab, реализующей формулу трапеций, - inttrap(x, y), предварительно получив таблицу значений подынтегральной функции с шагом h , и задав значения аргумента и функции в виде векторов. 4) Вычислите значение определенного интеграла с использованием функции Scilab, реализующей формулу Симпсона, – integrate('f',a,b) , где f – имя функции, взятое в одинарные кавычки. 5) Вычислите производную от функции f(x ) с использованием функции numderivative, выбрав значение аргумента х из области допустимых значений функции. 6) Предоставьте результаты работы преподавателю, ответьте на поставленные вопросы. 7) Оформите отчет по выполненной работе. 2.3.3. Варианты индивидуальных заданий Таблица 2.4-1 № Интеграл f(x) № Интеграл f(x) 1 4 0 ) 2 ( 8 dx x Sin e x ) 2 ( 8 x Sin x e 16 5 1 5 0 2 2 1 x x ) ( 4 3 / 1 x Cos x e x 2 3 1 2 / 1 ) 1 )( 5 / ( x x x x Cos x e x Sin / 2 ) 1 ( 17 5 2 1 / ) ( x e x Cos x 3 2 3 x x e x 40 3 5 5 3 2 / ) ln( 5 x x x 1 ) ( 3 x Cos x 18 2 1 4 0 2 1 ) ( x x x Cox 4 6 , 5 ) 2 ln( 2 x x x 4 5 , 1 5 0 2 2 ) ln( x x x 6 2 7 x tgx 19 2 3 4 0 2 ) ln( x x x 1 ) 2 / ( 2 x Sin x 5 5 2 5 1 ) ln( / ) 4 ( 1 x x x Sin 1 ) ( ) 3 ( x Cos x 20 8 0 2 0 ) ( 1 x x Cos x ) 2 ( 2 2 x Sin e x 6 5 3 2 2 2 10 ) ( ) ( x x x Cos x Sin x x Sin 5 , 0 ) 1 ( 21 1 2 7 0 1 ) ( x x x Sin ) 4 7 ln( x x 7 3 5 0 2 ) 3 ln( / ) ( 3 x x x Cos 1 ) 2 ( 2 x Cos x 22 5 2 1 2 ( ) 1 x x Cos x ) 2 ( 8 x Sin e x 8 5 2 1 / ) ( x e x Sin x x 1 ) 11 ln( ) 1 ( 2 x x 23 2 1 4 0 2 ) ( x x Cos x x e x Sin / 2 ) 1 ( 9 5 3 2 2 ) ( ) ( x x x Sin x Cos 2 ) 5 , 0 ( x x Cos 24 1 2 7 0 ) 2 ( x x x Sin 1 ) ( 3 x Cos x 10 0 1 1 x x x 2 2 ) sin( x x x 25 2 1 4 0 2 ) cos( dx x x ) 6 2 /( 7 x tgx 11 25 1 0 2 2 1 x x x 2 ) 1 ( 2 x e x 26 0 ) cos( 2 3 1 dx x x e x Sin / 2 ) 1 ( 12 1 0 2 1 x x x 18 3 2 6 x e x 27 1 1 2 2 ) 1 ( 1 dx x ) 4 7 ln( x x 13 2 1 0 ) ( x x xCos ) 4 7 ln( x x 28 5 1 1 dx x x 2 ) 5 , 0 ( x x Cos 14 5 2 1 2 / ) ( x x x Sin x x x Sin Sin 5 , 0 )) ( ( 29 3 1 2 1 1 dx x x 1 ) ( ) 3 ( x Cos x 15 8 1 6 0 2 8 0 x x x )) (ln( 2 x Sin x 30 2 1 2 2 1 dx e x e x x x e x Sin / 2 ) 1 ( 2.3.4. Содержание отчета 1) В форме комментариев: Название лабораторной работы ФИО студента, номер группы № варианта Индивидуальное задание 2) Протокол вычислений (сессии) в Командном окне, снабженный необходимыми комментариями. 41 2.3.5. Контрольные вопросы по теме 1) Что такое определенный интеграл? 2) Назначение функции inttrap ? 3) Что возвращает функция inttrap , если y(x) – матрица? 4) Можно ли использовать функцию inttrap , если узлы по оси х - не равноотстоящие? 5) Каким образом с использованием функции inttrap для вычисления интеграла, если подынтегральная функция задана таблицей с не равноотстоящими узлами? 6) Какая функция Scilab позволяет вычислить определенный интеграл с заданной точностью? 7) Какой численный метод заложен в функции integrate ? 8) Какие существуют способы задания подынтегральной функции при вычислении определенного интеграла с использованием функции integrate ? 9) Как задать допустимую погрешность вычисления определенного интеграла? 10) С какой точностью производится вычисление определенного интеграла, если погрешность не задана? 11) Какой встроенной функцией системы Scilab вычисляется производная в заданной точке? 12) Какое назначение и какой формат функции numderivative используется? |