Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
matlab.doc
Скачиваний:
59
Добавлен:
24.08.2019
Размер:
2 Мб
Скачать
☆

Тема 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. Построить график интерполирующей

  1. функции 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;

    1. К созданной в примере 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;

    1. Подсчитать среднюю оценку одного из студентов.

>> 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.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]