Лабораторная работа № 4 - “Решение уравнений и программирование в среде MATLAB” (1249999)
Текст из файла
Лабораторная работа № 4.
“Решение уравнений и программирование в среде MATLAB”.
1.Создайте вектор-строку с произвольными значениями элементов. Откройте диалоговое окно “Workspace”, выделите в нем имя созданного вектора и откройте выпадающий список пиктограммы plot(), выполнив щелчок левой клавишей мыши на знаке справа от надписи plot(). Просмотрите из этого списка графики bar, pie, hist. Разберитесь, в чем разница между диаграммой и гистограммой [лек. 4.2, с.1 и 4]. Ознакомьтесь, какие еще возможности предоставляют другие строчки списка.
ПРИМЕЧАНИЯ: 1. Если в окне “Workspace” нет панели инструментов, то необходимо выполнить щелчок правой кнопки мыши по заголовку окна и активизировать строчку “ Workspace Toolbar”.
2. Если в окне “Workspace”, выделить 2 переменные, то выпадающий список изменится и в нем будут представлены функции, которые могут иметь 2 входных параметра.
2. Выполнить следующее задание только для ознакомления: построить трехмерный график с использованием следующих выражений и функций:
U = -2 : 0.1 : 2; V = -1 : 0.1 : 1; [X,Y]= meshgrid (U,V);
Z = exp (-X .^ 2 -Y .^ 2); mesh (X,Y,Z); .
Используя функции hidden on и hidden off, выполнить “присутствие” или “отсутствие” “невидимых” линий на экране. Изобразить отдельные ребра фигуры переменным цветом с помощью функции shading interp.
3. Используя функцию plot, построить график функции sin(x) в диапазоне 0 .. 2. Ознакомиться с некоторыми возможностями низкоуровневой графики: применив функцию gcf [лек. 4.2, с.7] для получения доступа к текущей фигуре, изучить с помощью функции get [лек. 4.2, с.7] список свойств изображенного объекта (графика). Выбрать из списка 2 любых наименования свойств и изменить их в текущем объекте с помощью функции set [лек. 4.2, с.9].
4. Внести в имеющийся на экране график следующие изменения:
hAxes = gca; set ( hAxes, ‘Color’, [ 0.5, 0.8, 0.5]); FigureColor = [0.8, 0.5, 0.5]; hFigure = gcf;
set ( hFigure, ‘Color’, FigureColor); text ( 1, 0.3, ‘Красивый\newlineграфик’);
line ( [ 0.8, 0.8, 2, 2, 0.8], [ 0.2, 0.45, 0.45, 0.2, 0.2] ); .
Пояснить каждую строку записи и полученный результат [лек.4.2, с. 11].
5. Для квадратной матрицы коэффициентов системы линейных уравнений (СЛУ) А = [ 1, -2, 3, -1; 2, 3, -4, 4; 3, 1, -2, -2; 1, -3, 7, 6 ] и вектора B = [ 6; -7; 9; -7] значений правых частей этих уравнений решить СЛУ. При этом использовать один раз левый и второй раз - правый знаки деления переменных А и В и пояснить, в каком случае будет решение СЛУ. Выполнить проверку [лек.7, с. 1].
6. Решить уравнение sin(x) = 0 с помощью функции fzero, задав начальное значение, равным 3 [лек.7, с.2]. Найти ноль функции cos(x) на отрезке значений х от 0 до с помощью функции fzero [лек.7, с.4].
7. Найти с помощью функции roots корни уравнения х4 - 8х3 - 10х2 - 40х + 7=0 и проверить верность нахождения корней с использованием функции polyval [лек.7, с. 8].
8. Задать создание на экране двух графиков и получить на первом из них ( subplot(1,2,1) ) с помощью выражения plot(humps) график функции humps (этот график является примером и используется в MatLab для демонстрации работы функций с графиками). На втором рисунке ( subplot(1,2,2) ) изобразить график с помощью выражения fplot(‘humps’,[0,1]). Пояснить, что откладывается по оси Х на этих графиках [лек. 3.2, с. 1,2].
9. Найти минимум функции humps в интервале значений аргумента от 0.5 до 1 с помощью функции fminbnd(@humps,0.5,1) [лек.7, с. 12,13] . Пояснить, что означает знак @ перед первым аргументом функции fminbnd [лек.7, с. 6]. Ознакомиться, какие есть в Matlab способы создания функций [лек.7, с. 4-6]. Изучить текст программы функции humps, задав команду type humps.
10. Создать встраиваемую функцию [лек.7, с. 6] : xx=inline(‘exp(x^2)+sin(3*pi*x)’). Задать ( subplot(1,2,1) ) и построить график fplot(xx,[0,1.4]). Перейти ко второму графику ( subplot(1,2,2) ) и создать функцию обратную для хх : xx1=inline(‘-(exp(x^2)+sin(3*pi*x))’). Построить график обратной функции fplot(xx1,[0,1.4]). Найти максимум функции хх по ее обратной функции хх1 с помощью функции fminbnd : [x,f]=fminbnd(xx1,0.8,0.95). Пояснить результат [лек.7, с. 13], используя показания графиков 1 и 2.
11. Создать в текстовом редакторе [лек.5, с. 6] m-функцию (например, cos(x)-sin(x)) [лек.7, с. 2] и записать ее в текущую для MatLab директорию в файл с именем (например, sico), совпадающим с именем функции, и с расширением .m. Найти с помощью функции fzero значение аргумента, при котором созданная функция равна нулю. Если создана функция cos(x)-sin(x), то принять начальное значение аргумента равным 4 . Выполнить проверку полученного результата. Записать и исполнить следующую строку: fplot( ‘sico’, [ 0, 2*pi ] ). Пояснить результат и назначение [лек.7, с. 3] функции fplot. Объяснить, почему при поиске корня можно записать fzero( ‘sico’,[3.5,5]) , но нельзя задать fzero( ‘sico’,[4,5]) .
12. Перевести программу-функцию расчета факториала, написанную на языке С++, в коды программирования системы MATLAB (т.е. создать m-файл); отладить программу и продемонстрировать ее работоспособность. Текст программы на языке С++ имеет следующий вид:
int factorial (int n)
{ int fn=1, i=1; while (i<(n+1))
{fn=fn*i; i++;} return fn; }
Пример m-функции см. в [лек.6, с. 8].
13. Создать сценарий [лек.5, с. 1] для расчета токов и напряжений на диоде в цепи, состоящей из последовательно соединенных источника напряжения Е=0.6В, линейного резистора R = 150 Ом и туннельного диода [лек.7, с. 8] (определение дифференциальных значений не требуется). Для расчета вольт-амперной характеристики диода использовать аппроксимацию заданных табличных значений напряжений и токов, приведенных в лекции 7 по Matlab на стр. 8. Векторы этих значений должны задаваться в командной строке перед вызовом сценария. Вывод результатов должен выполняться в строку для всех точек с установившимся режимом. Над элементами строки выполнить поясняющие текстовые надписи.
14. Вычислить корень квадратный с 50-ю знаками после точки в полученном результате, записанном десятичным числом [лек. 8, с.5].
15. Вычислить численно интеграл методом трапеций или Симпсона [лек. 8, с.14] : .
16. Получить у преподавателя задание на выполнение контрольной работы. Составить и отладить заданную программу. Защитить контрольную и лабораторную работы.
ВОПРОСЫ.
1. Как в окне “Workspace” найти и включить построение графика, зависимого от одного или двух переменных? Как из этого окна открыть Help по выбранному графику? В чем разница между диаграммой и гистограммой?
2. Как в низкоуровневой графике можно обратиться к текущим осям, фигуре или объекту? Как получить сведения об имеющихся свойствах фигуры или оси в низкоуровневой графике и как установить нужные свойства в текущем объекте или в объекте, связанном через указатель (handle)?
3. Пояснить Matlab-выражения, приведенные в п. 5 задания.
4. Как решить в Matlab систему линейных уравнений? Сравнить с выполнением подобного решения в MathCAD. Как сделать проверку полученных решений?
5. Как найти в Matlab не комплексный корень вещественно-значного уравнения с одним неизвестным? Как в аргументах используемой для этого функции записывается обращение к решаемому уравнению? Что, кроме этого обращения необходимо еще записать в аргументах функции? Если нужны начальные значения, то где их взять? В чем отличие поиска корня функции, заданной пользователем, от нахождения решения для встроенной функции?
6.Что можно определить с помощью функции roots? Что является аргументом этой функции? Какую функцию можно применить для проверки решения, выполненного с помощью roots?
7. Что можно найти с помощью функции fminbnd ? Что является ее входными параметрами? Что дает задание одного, двух или трех выходных параметров при использовании функций fzero и fminbnd ?
8. Какие знаете способы задания функций и обращения к ним в Matlab?
9. Вызвать текст программы humps и пояснить смысл строк этой программы.
10.Как с помощью функции fminbnd найти максимальное значение выражения Matlab?
11. Что позволяет выполнить функция fplot? Какие она имеет входные аргументы? Есть ли варианты записей аргументов? Почему при поиске корня можно записать fplot( ‘cos(x) – sin(x)’, 4) , но нельзя задать fplot( ‘cos(x) – sin(x)’,[4,5])
12. Что такое m-функция? Где записывается ее текст? Какие можете назвать особенности m-функции в Matlab?
13. Что такое сценарий? Чем он отличается от m-функции?
14. Что такое аппроксимация? Что может являться исходными данными для аппроксимации? Какие можете назвать особенности аппроксимации, примененной в этой лабораторной работе при расчете параметров электрической схемы (состоящей из Е, R и диода)?
15. Можно ли в Matlab при вычислении корня, представленного десятичным числом, получить желаемое количество знаков большее 16 после точки, отделяющей целую часть числа от дробной ?
16. Как построить график функции, записанной в символьном виде?
Какие знаете методы численного расчета определенных интегралов?
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.