Записать фрагменты кода, определяющие остальные части выражения.

Название лабораторной работы

В соответствии с выданным вариантом написать программу, вычисляющую выражения, в редакторе 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