1) Задание.
2) Ход работы.
function f=f6_1(x)
f=[];
if ((x>=-3) & (x<=-1))
f=-1;
elseif ((x>-1) & (x<=1))
f=x;
elseif ((x>1) & (x<=3))
f=exp(1-x);
else
disp('<x> out of range!!!')
end
x=-10;
f=f6_1(x)
<x> out of range!!!
f =
[]
x=-3;
f=f6_1(x)
f =
-1
x=-2;
f=f6_1(x)
f =
-1
x=-1;
f=f6_1(x)
f =
-1
x=-0.5;
f=f6_1(x)
f =
-0.5000
x=0.5;
f=f6_1(x)
f =
0.5000
x=1;
f=f6_1(x)
f =
1
x=2;
f=f6_1(x)
f =
0.3679
x=3;
f=f6_1(x)
f =
0.1353
x=10;
f=f6_1(x)
<x> out of range!!!
f =
[]
Лабораторная работа №7.1
Вычисление таблицы значений функции
Задание.
Ход работы.
function f=f6_1(x)
f=[];
if ((x>=-3) & (x<=-1))
f=-1;
elseif ((x>-1) & (x<=1))
f=x;
elseif ((x>1) & (x<=3))
f=exp(1-x);
else
disp('<x> out of range!!!')
end
function f7_1(a,b,n)
h=(b-a)/n;
for x=a:h:b
fprintf('%2s%4.2f%2s%15.8e\n','f(',x,')=',f6_1(x))
end
a=-3;b=3;n=10;
f7_1(a,b,n)
f(-3.00)=-1.00000000e+000
f(-2.40)=-1.00000000e+000
f(-1.80)=-1.00000000e+000
f(-1.20)=-1.00000000e+000
f(-0.60)=-6.00000000e-001
f(0.00)=0.00000000e+000
f(0.60)=6.00000000e-001
f(1.20)=8.18730753e-001
f(1.80)=4.49328964e-001
f(2.40)=2.46596964e-001
f(3.00)=1.35335283e-001
Лабораторная работа №8.1
Вычисление конечных сумм
Задание.
Ход работы.
function s=f8_1(x,N)
s=0;
for k=0:N
s=s+(x^(2*k+1))/factorial(2*k+1);
end
st=sinh(x)
x=2;N=5;
s=f8_1(x,N)
st =
3.6269
s =
3.6269
x=2;N=3;
s=f8_1(x,N)
st =
3.6269
s =
3.6254
x=2;N=2;
s=f8_1(x,N)
st =
3.6269
s =
3.6000
x=2;N=1;
s=f8_1(x,N)
st =
3.6269
s =
3.3333
Лабораторная работа №9.1
Программирование циклических процессов
с неизвестным числом повторений.
Задание
, используя условие его окончания .
Ход работы
function [S,k]=f9_1(x,e)
k=0;
a=x;
S=a;
while(abs(a)>= e*abs(S))
k=k+1;
a=(x^(2*k+1))/factorial(2*k+1);
S=S+a;
end
St=sinh(x)
x=2;
e=1.e-1;
[S,k]=f9_1(x,e)
St =
3.6269
S =
3.6000
k =
2
e=1.e-3;
[S,k]=f9_1(x,e)
St =
3.6269
S =
3.6268
k =
4
e=1.e-6;
[S,k]=f9_1(x,e)
St =
3.6269
S =
3.6269
k =
6
Лабораторная работа №10.1
Решение нелинейного уравнения методом половинного деления
и с помощью функции fzero.
Сравнить результаты.
Задание
Получение решения в пакете MathCad.
Получение решения в пакете MatLab.
Ход работы
function f10_1
a=input('enter <a>: ');
b=input('enter <b>: ');
e=input('enter <e>: ');
xk_b=bisection(a,b,e)
f_xk_b=f(xk_b)
xk_z=fzero(@f,b)
f_xk_z=f(xk_z)
function x=bisection(a,b,e)
if(sign(f(a)*f(b)) >= 0)
error('not valid input data!!!')
end
while((b-a) > e)
c=(a+b)/2;
if(sign(f(a)) == sign(f(c)))
a=c;
else
b=c;
end
end
x=a;
function y=f(x)
y=3*sin(x-4)-x^5+5;
f10_1
enter <a>: 1
enter <b>: 1.5
enter <e>: 1.e-6
xk_b =
1.300289154052734e+000
f_xk_b =
1.506276599183565e-005
xk_z =
1.300290039833405e+000
f_xk_z =
0
Лабораторная работа №11.1
Вычисление определённого интеграла с помощью
квадратурных формул средних прямоугольников, трапеций и
с помощью встроенных функций trapz и quad.
Сравнить результаты.