- •Учебное пособие
- •Казань – 2007
- •Содержание Введение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
- •Часть 1. Основные сведения о системе matlab.
- •Часть 2. Обзор расширений matlab
- •Введение.
- •Часть 1. Основные сведения о системе matlab.
- •Операции с рабочей областью.
- •3. Переменные и функции системы matlab.
- •Формирование векторов и матриц.
- •Создание и отладка программных файлов.
- •Работа с файлами.
- •Средства создания баз данных.
- •8. Графика, анимация.
- •Графический интерфейс пользователя (gui).
- •Сообщения об ошибках, справочная система matlab.
- •Интерфейс системы matlab.
- •Часть 2. Обзор расширений matlab.
- •Пакеты математических вычислений.
- •Пакеты для обработки сигналов и изображений.
- •Пакеты анализа и синтеза систем управления.
- •Некоторые другие пакеты.
- •Часть 3. Примеры расчетов, задания для практических занятий.
- •Тема 1. Работа в режиме прямых вычислений.
- •Тема 2. Программирование, работа с файлами.
- •Тема 3. Вычисление корней полинома и нулей функции.
- •Тема 4. Работа с матрицами, системы линейных алгебраических уравнений.
- •Тема 5. Численное дифференцирование и интегрирование.
- •Тема 6. Численное решение дифференциальных уравнений.
- •Тема 7. Использование прикладных пакетов.
- •Тема 8. Структуры.
- •Тема 9. Графика.
- •Тема 10. Графический интерфейс пользователя (gui).
- •Приложение. Основные команды ядра системы matlab.
- •Литература
Тема 7. Использование прикладных пакетов.
Примеры: 7.1. Финансовая задача. Величина кредита составляет $1000. Он должен
быть погашен за 12 месяцев тремя платежами. Заемная процентная
ставка составляет 10%. Вычислить величину одного платежа. При
решении использовать функцию payadv (rate, nper, pv, fv, adv)
пакета Financial Toolbox, где rate – величина заемной ставки, nper -
количество месяцев, pv - текущая стоимость финансового документа,
fv – целевая стоимость, adv – количество платежей.
>> vel= payadv(0.1/12,12, 1000, 0,3);
>> string=[‘Вы должны выплачивать по’, vel, ‘ долларов ’, adv, ‘ раза!’];
>> disp(string)
Вы должны выплачивать по 85.9389 долларов 3 раза!
Графический интерфейс для работы с этой функцией в диалоговом режиме
разработан в примере 10.1.
7.2. Вычислить в символьном виде, используя функции пакета Symbolic Toobox:
а) производную от функции y = x3
>> sym x;
>> diff(‘x^3’)
ans =
3*x^2
б) первообразную от функции z = 2sin y
>> sym y;
>> int(‘2*sin(y)’)
ans =
-2*cos(y)
в) решения уравнения x^2=b
>> syms x b
>> solve(x^2-b)
ans =
[ b^1/2]
[-b^1/2]
г) решения квадратного уравнения ax2 + bx + c = 0
>> syms a b c x
>> x=solve (‘a*x^2+b*x+c=0’)
x =
[1/2*a*(-b+(b^2-4*a*c)^(1/2))]
[1/2*a*(-b- (b^2-4*a*c)^(1/2))]
Задания: 1. С помощью функции nchoosek(n,k)=Cnk построить разложение бинома (x+y)n
для n=10. Ответ записать в символьном виде.
2. Даны два числовых массива x и y. Построить график интерполирующей
функции y(x), используя функции пакета Spline Toolbox (см. [3]).
Тема 8. Структуры.
Примеры: 8.1. Создать структуру exam, состоящую из пяти полей: fi (фамилия имя),
ng (номер группы), phys (оценка по физике), chem (оценка по химии),
math (оценка по математике).
>> exam.fi=’Петров Петр’;
>> exam.ng=’921’;
>> exam.phys= 5;
>> exam.chem= 3;
>> exam.math= 2;
К созданной в примере 8.1. структуре добавить еще две записи.
>> exam(2).fi=’Иванов Иван’;
>> exam(2).ng=’922’;
>> exam(2).phys= 4;
>> exam(2).chem= 3;
>> exam(2).math= 3;
>> exam(3).fi=’Сидоров Сергей’;
>> exam(3).ng=’921’;
>> exam(3).phys= 3;
>> exam(3).chem= 4;
>> exam(3).math= 5;
Подсчитать среднюю оценку одного из студентов.
>> k=input(‘Номер студента в базе: ’);
Номер студента в базе: 3
>> s1=exam(k).phys; s2=exam(k).chem; s3=exam(k).math;
>> sred=num2str((s1+s2+s3)/3); %вычисление среднего и перевод в...
символьный вид
>> f=exam(k).fi; %значение поля fi для записи с номером k
>> g=getfield(exam(k),’n %значение поля ng для записи с номером k
>> string=[f,’: ’,sred];
>> disp(string)
Сидоров Сергей: 4.0000
8.4. Упорядочить поле fi структуры exam по алфавиту.
>> s=exam.fi;
>> s1=oderfields(s);
>> exam.fi=s1
ans = Иванов Иван
Петров Петр
Сидоров Сергей
Задания: 1. Дополнить структуру exam до десяти записей, по пять в каждой из учебных групп 921 и 922, отсортировать структуру по возрастанию номера группы.
2. Подсчитать среднюю оценку группы 921.
