Записать фрагменты кода, определяющие остальные части выражения.
Название лабораторной работы
В соответствии с выданным вариантом написать программу, вычисляющую выражения, в редакторе MATLAB.
Вид реализации программы, вычисляющей конкретное выражение, указан в одноименном столбце таблицы с заданием («Вид реализации»). Значения переменных, используемых в выражении, необходимо выбирать в соответствии с условием, приведенным в столбце «Область значений переменных».
Вариант №(указать номер варианта) | ||
Вид реализации | Выражение | Область значений пере- менных |
Сценарий | ||
Сценарий | ||
Функция |
Функция помимо реализации выражения должна также содержать:
1. Условие проверки передаваемых значений на принадлежность указанному диапазону. В случае, если результат проверки отрицательный, дальнейшее выполнение функции должно быть прекращено.
2. Комментарии, поясняющие назначение функции (достаточно указать «вычисляет выражение»), а также входных и выходных переменных (что содержат или будут содержать).
3. Условие выбора, которое в соответствии со значением переменной, переданной в функцию одним из аргументов, выполняет или не выполняет построение графика реализуемого выражения. При этом область построения графика должна содержать координатную сетку, а цвет графика должен отличаться от стандартного.
4. Определение максимального и минимального значения функции, а также координаты на оси абсцисс.
Кроме того, функция должна возвращать массив с результатами вычисления выражения, а также минимальные и максимальные значения, в следующем порядке: Y, minX, minY, maxX, maxY. Значения могут быть возвращены как в виде отдельных переменных, так и в виде массивов.
В соответствии с выданным вариантом написать программу, вычисляющую выражения, в редакторе MATLAB.
1.1. Написать программу, вычисляющую выражение:
Вид реализации программы: Сценарий .
Область значений переменных, используемых в выражении:
а. Исходя из указанных в задании области значений переменных, определим их конкретные значения: X=4 Z=2
б. Запишем программный код, вычисляющий (указать реализуемую часть выражения):
X=4
Z=2
Y=log((X^2+Z^2)*(X-Z)/(X+Z+X*Z))/((5*X/3*Z)-(1/(sqrt(X)+sqrt(Z)))^2)*exp(sqrt(2*X^3+3*Z^2))
В.
Записать фрагменты кода, определяющие остальные части выражения.
X=4
Z=2
Y=log((X^2+Z^2)*(X-Z)/(X+Z+X*Z))/((5*X/3*Z)-(1/(sqrt(X)+sqrt(Z)))^2)*exp(sqrt(2*X^3+3*Z^2))
Файл сценария:
X=4
Z=2
Y=log((X^2+Z^2)*(X-Z)/(X+Z+X*Z))/((5*X/3*Z)-(1/(sqrt(X)+sqrt(Z)))^2)*exp(sqrt(2*X^3+3*Z^2))
Результат выполнения сценария в MATLAB:
Y=
1.0905e+04
1.2. Написать программу, вычисляющую выражение:
Вид реализации программы: Сценарий
Область значений переменных, используемых в выражении:
а. Исходя из указанных в задании области значений переменных, определим их конкретные значения:
M=3
H=5
Q=1
б. Запишем программный код, вычисляющий
A=sqrt(abs(Q/H))-(1/(M^3))
B=(sin(A)^2)
C=(acos(B))^3
D=((3*M+2))
E=exp(D)
R=(M*M)+H*H/(Q*Q)
G=log2(R)
P=exp(G)
L=abs(H+Q*M)
K=log(L)
V=P/K
T=abs(Q)+V
U=log2(R)
O=abs(Q*Q-M)
I=U-O
Z=A/I
в. Запишем программный код, который позволит определить окончательный результат вычисления выражения:
Z=A/I
Результат выполнения сценария в MATLAB:
Z=
0.1329
1.3. Написать программу, вычисляющую выражение:
а. Запишем строку заголовка функции, в которой определим входные и выходные параметры, а также название функции:
function[L,minX,minY,maxX,maxY]=f(a,b,s,Y)
б. Запишем комментарии, в которых укажем назначение соответствующих входных и выходных параметров:
%[L,minX,minY,maxX,maxY] возвращаемые значения
%(a,b,s,Y) исходные данные
Зададим условие проверки передаваемых в функцию f значений аргумента L,minX,minY,maxx,maxY (параметры a,b,s,Y и o) на принадлежность к указанному в задании диапазону. В случае если результат проверки отрицательный, будет выполнен выход из тела функции.
if (a>=-5)&& (b<5) && (a<b)
в. Создадим одномерный массив значений аргумента : Y
x=a:s:b
г. Запишем программный код, вычисляющий :Y
J=(log10(abs(x.^3+(asin(x.^2-2*x)+10))));
F=(log(abs(x.^2+4*x+1)).^2./(x.^2-3*x-4));
T=sqrt((exp(x).*(1-log(2))./(2.^x)));
д. Запишем программный код, который позволит определить окончательный результат вычисления выражения:
L=J+F./T
е. Определим условие выбора, которое в соответствии со значением, переданным в функцию одним из аргументов, определяет: будет выполнено построение графика реализуемого выражения или нет. При этом область построения графика будет содержать координатную сетку. Кроме того, цвет графика будет изменен со стандартного на «Синий», а стиль линии – со стандартной на Пунктирная.
if Y==5
plot(x,L,'b+--')
grid
end
Файл функции:
L=0,minX=0,minY=0,maxX=0,maxY=0
if (a>=-5)&& (b<5) && (a<b)
x=a:s:b
J=(log10(abs(x.^3+(asin(x.^2-2*x)+10))));
F=(log(abs(x.^2+4*x+1)).^2./(x.^2-3*x-4));
T=sqrt((exp(x).*(1-log(2))./(2.^x)));
L=J+F./T
if Y==5
plot(x,L,'b+--')
grid
end
[minY,IndminY]=min(L)
minX=x(IndminY);
[maxY,IndmaxY]=max(L)
maxX=x(IndmaxY);
end
Результат выполнения сценария в MATLAB:
L =
L =
minX =
minY =
maxX =
maxY =
x =
Columns 1 through 7
1.0000 1.1000 1.2000 1.3000 1.4000 1.5000 1.6000
Columns 8 through 11
1.7000 1.8000 1.9000 2.0000
L =
Columns 1 through 7
0.1459 0.1026 0.0634 0.0275 -0.0060 -0.0377 -0.0686
Columns 8 through 11
-0.0995 -0.1313 -0.1648 -0.2011
minY =
-0.2011
IndminY =
maxY =
0.1459
IndmaxY =
ans =
Columns 1 through 7
0.1459 0.1026 0.0634 0.0275 -0.0060 -0.0377 -0.0686
Columns 8 through 11
-0.0995 -0.1313 -0.1648 -0.2011