Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб. 11 КП ОМА.docx
Скачиваний:
9
Добавлен:
30.08.2024
Размер:
462.42 Кб
Скачать

Упражнение 3

y=sqrt((x**3-2*x**2)/(x-3)) sp.plot((y,(x,-8,2)),(y,(x,2.5,10)),xlim=[-8,8],ylim=[-2,10],adaptive=False, nb_of_points=500,markers=[{'args':[0,0,'go']},{'args':[1.499,0.866,'go']},{'args':[4,5.656,'go']},{'args':[0,0,'r*']},{'args':[0,0,'yd']},{'args':[2,0,'yd']},{'args':[[3,3],[-2,10]],'color':'black','ls':'--'},{'args':[[-8,8],[-7.5,8.5]],'color':'black','ls':'--'},{'args':[[-8,8],[7.5,-8.5]],'color':'black','ls':'--'}])

<sympy.plotting.plot.Plot at 0xa8974f8>

from sympy import * x=Symbol('x') f1=sqrt((x**3-2*x**2)/(x-3)) y1=sp.diff(f1,x,1) print(y1) def f(x): return sqrt((x**3-2*x**2)/(x-3)) def yy(x): return (sqrt((x**3 - 2*x**2)/(x - 3))*(x - 3)*((3*x**2 - 4*x)/(2*(x - 3)) - (x**3 - 2*x**2)/(2*(x - 3)**2))/(x**3 - 2*x**2)) root1 = optimize.brentq(yy, -4, 0) print('root1 =', root1) print('f1 =', f(root1)) root2 = optimize.brentq(yy, 0.1, 2) print('root2 =', root2) print('f2 =', f(root2)) root3 = optimize.brentq(yy, 3.1, 5) print('root3 =', root3) print('f3 =', f(root3))

sqrt((x**3 - 2*x**2)/(x - 3))*(x - 3)*((3*x**2 - 4*x)/(2*(x - 3)) - (x**3 - 2*x**2)/(2*(x - 3)**2))/(x**3 - 2*x**2) root1 = 0.0 f1 = 0.0 root2 = 1.4999999999999987 f2 = 0.866025403784439 root3 = 4.0000000000002345 f3 = 5.65685424949238

from sympy import * x=Symbol('x') f1=sqrt((x**3-2*x**2)/(x-3)) y1=sp.diff(f1,x,2) print(y1) def yy(x): return (sqrt(x**2*(x - 2)/(x - 3))*((3*x - x*(x - 2)/(x - 3) - 4)/(2*(x - 3)) + (x**2*(x - 2)/(x - 3)**2 + 3*x - x*(3*x - 4)/(x - 3) - 2)/x - (3*x - 4)*(3*x - x*(x - 2)/(x - 3) - 4)/(2*x*(x - 2)) + (3*x - x*(x - 2)/(x - 3) - 4)**2/(4*x*(x - 2)))/(x*(x - 2))) root1 = optimize.brentq(yy, -1, 1) print('root1 =', round(root1,3)) print('f1 =', round(f(root1),3))

sqrt(x**2*(x - 2)/(x - 3))*((3*x - x*(x - 2)/(x - 3) - 4)/(2*(x - 3)) + (x**2*(x - 2)/(x - 3)**2 + 3*x - x*(3*x - 4)/(x - 3) - 2)/x - (3*x - 4)*(3*x - x*(x - 2)/(x - 3) - 4)/(2*x*(x - 2)) + (3*x - x*(x - 2)/(x - 3) - 4)**2/(4*x*(x - 2)))/(x*(x - 2)) root1 = -0.0 f1 = 0.0

lim11=sp.limit((sqrt((x**3-2*x**2)/(x-3))/x),x,sp.oo) lim12=sp.limit(((sqrt((x**3-2*x**2)/(x-3)))-lim11*x),x,sp.oo) print(lim11) print(lim12)

1 1/2

lim11=sp.limit((sqrt((x**3-2*x**2)/(x-3))/x),x,-sp.oo) lim12=sp.limit(((sqrt((x**3-2*x**2)/(x-3)))-lim11*x),x,-sp.oo) print(lim11) print(lim12)

-1 -1/2

root = optimize.brentq(f, 0, 1) print('root =', root) print('f =', f(root))

root = 0.0 f = 0.0

root = optimize.brentq(f, 1, 2) print('root =', root) print('f =', f(root))

root = 2.0 f = 0.0

Упражнение 4

import numpy as np def f(x): return (np.e**(-x)*np.sin(3*np.pi*x)) from scipy import optimize minimum = optimize.fmin(f, 0.5, full_output=True, disp=False) print('0:') print('x0 =', minimum[0]) print('f(x0) =', minimum[1]) minimum1 = optimize.fmin(f, 1.3, full_output=True, disp=False) print('1:') print('x0 =', minimum1[0]) print('f(x0) =', minimum1[1]) minimum2 = optimize.fmin(f, 2.1, full_output=True, disp=False) print('2:') print('x0 =', minimum2[0]) print('f(x0) =', minimum2[1])

0: x0 = [0.48876953] f(x0) = -0.6099480012745674 1: x0 = [1.15546387] f(x0) = -0.3131577461100623 2: x0 = [1.82211914] f(x0) = -0.1607805490363266

import numpy as np import sympy as sp from sympy import * x=Symbol('x') def ff(x): return (np.e**(-x)*np.sin(3*np.pi*x)) f = open('tt.txt','w') #f.write('ТАБЛИЦА ЗНАЧЕНИЙ ПРОИЗВОДНОЙ ФУНКЦИИ sin x\n'); #f.write(' ______________\n') f.write('| Лок. мин |\n') f.write(' _________\n') for i in np.arange(0.5,2.9,0.8): minimum=optimize.fmin(ff, i, full_output=True, disp=False) m=minimum[1] f.write("| {m:.04f} | \n".format(m=m)) f.close()

import numpy as np def f(x): return (np.e**(x)*np.sin(3*np.pi*x)) from scipy import optimize minimum = optimize.fmin(f, 0, full_output=True, disp=False) print('0:') print('x0 =', -minimum[0]) print('f(x0) =', -minimum[1]) minimum1 = optimize.fmin(f, -0.8, full_output=True, disp=False) print('1:') print('x0 =', -minimum1[0]) print('f(x0) =', -minimum1[1]) minimum2 = optimize.fmin(f, -1.6, full_output=True, disp=False) print('2:') print('x0 =', -minimum2[0]) print('f(x0) =', -minimum2[1])

0: x0 = [0.1554375] f(x0) = 0.851251010616394 1: x0 = [0.82210938] f(x0) = 0.4370468436151305 2: x0 = [1.48875] f(x0) = 0.22438732029049235

import numpy as np import sympy as sp from sympy import * x=Symbol('x') def f(x): return (np.e**(x)*np.sin(3*np.pi*x)) f = open('tt.txt','w') #f.write('ТАБЛИЦА ЗНАЧЕНИЙ ПРОИЗВОДНОЙ ФУНКЦИИ sin x\n'); #f.write(' ______________\n') f.write('| Лок. мин |\n') f.write(' _________\n') for i in np.arange(0,2.4,0.8): minimum=optimize.fmin(ff, i, full_output=True, disp=False) m=minimum[1] f.write("| {m:.04f} | \n".format(m=m)) f.close()

y=np.e**(-x)*sin(3*pi*x) sp.plot(y,xlim=[0,2],ylim=[-3,3],markers=[{'args':[0.488,-0.609,'go']},{'args':[1.155,-0.313,'go']},{'args':[1.822,-0.160,'go']},{'args':[0.155,0.851,'ro']},{'args':[0.822,0.437,'ro']},{'args':[1.488,0.224,'ro']}])

<sympy.plotting.plot.Plot at 0x13897ec0>

Соседние файлы в предмете Компьютерный практикум по основам математического анализа