s0rg
Я даже примерно не могу понять что это за месиво данных и кода.
Есть нормальные улсовия? Что именно вы сейчас проходите?
Вроде численные методы,определение корня уровнения.
лучше будет так наверно..
100-((x(0)-5)**2+(x(1)-3)**2)нужно составить программу начало примерно такое
from math import *
def f(x):return 100-((x(0)-5)**2+(x(1)-3)**2)
как нам препод объяснил прога должна начинаться с ввода данных,
типа ограничения поиска, оно записывается
L1=
L2=
типа 2 икса в формуле
больше он толком ничего не сказал.
ещё дал блок схему в ней - начало “опр функции”, “назначение пределов”, “индекс j кординаты”, “max f”, “определение вектора v”, (ромб) “|Vx-Vn|<e : если да то стоп. –
– если нет то - Vn=Vx, j=j+1, и возвращается над ”индексом j".
Сказал блок схема поможет вам составить программу ( )
в конце должно выйти 4 результата x1,x2,xm,ym как он сказал…..
а как бы вы сами написали прогу для этой формулы чтобы найти х ? )если вообще никак не получается…
________________________________________________
вот нашел пример подобный когда на паре был, но прога выдает ошибку (делаем в IDLE)
если это конечно поможет. L - везде маленькие в проге,просто тут непонятно наверно было бы, поэтому поставил заглавные.
from math import *
def f(x):
return -((x-5.0)**2+(x-3.0)**2+(x=1.0)**2
def fL (x1,x2,n,dx):
L1=
L2=
Lx,Ly=L1,L1
x1,x2,e,n=0.0,10.0,0.0000001,1000
for i,j in xrange (len(x)):
y=f(x1)
Lx+=
Ly+=
x+=dx
return Lx,Ly
while L:
dx=(x2-x1)/n
Lx,Ly=fL(x1,x2,n,dx)
ym=max(Ly)
ix=Ly.index(ym)
xm=Lx
if dx<=e:break
if xm-dx>x1: x1=xm-dx
if xm+dx<x2: x2=xm+dx
print xm,ym,x1,x2