1) sin (arccos 24/25)
2) область определения функции y = arccos x + пи / 3
3) а)sin4x =-корень из 2/2. б)cos (x/2-пи/8) = 0. в)корень из 3 tg (2x + пи / 3) 2 = 1
4) cos 2x> корень из 3/2
5) найти самое большое отрицательное решение уравнения sin 2x = 4/пи arctg1
6) при каких значениях а уравнение sin x = а (в квадрате) + a-1 имеет решения * ?
Цитата: vasabog от марта 28, 2014, 14:42
1) sin (arccos 24/25)
http://tinyurl.com/mmrgcxp
Помогите найти внешний диаметр цилиндра.
Дано: масса - 42г, длина - 12мм, внутренний диаметр - 18мм, материал - бронза.
Если речь о трубе, то:
m = ρV = ρlS = ρl(πR² − πr²) = πρl(D² − d²) / 4
где
m — масса,
ρ — плотность,
V — объём,
l — длина,
S — площадь поперечного сечения,
R — внешний радиус,
r — внутренний радиус.
D — внешний диаметр,
d — внутренний диаметр.
Отсюда
D = √(4m/πlρ + d²)
Плотность бронзы сильно варьируется: в таблицах приводится разброс от 7400 до 8900 кг/м³. оэтому результат получается тоже с разбросом:
D = 28,7 .. 30,4 мм,
если не напутал чего...
Тайльнемер, спасибо. Сколько же страшных букв, математика - это ужас :)
Цитата: true от мая 1, 2017, 03:40
Тайльнемер, спасибо. Сколько же страшных букв, математика - это ужас :)
Тю, вас испугала эта формула?
Цитата: Zavada от марта 28, 2014, 16:52
Цитировать_
http://tinyurl.com/mmrgcxp
Почему не работает нигма? (http://www.bolshoyvopros.ru/questions/2672096-pochemu-ne-rabotaet-nigma-2017-chto-sluchilos-s-poiskovoj-sistemoj-nigma-ru.html)
А у меня такой вопрос.
Как с
помощью калькулятора (обычный инженерный) найти значение числа θ такого, что выполняется тождество: lnθ=-θ с точностью до 10-й значащей?
Задача в принципе сводится к решению системы 2-х уравнений:
y = 1/x
y = lnx
Найдите решение с заданной точностью. Что-то кроме тупых итераций в голову не приходит: я ещё тот... мотематик.
Систему не понял. 1/x=ln(x) != -x=ln(x)
Имелось в виду:
y = 1/x
x = lny
?
Тупая итерация это метод неподвижной точки (здесь, x -> exp(-x), x0, к примеру, 0.5)? Ну да, она медленно сходится.
>>> from numpy import *
>>> x0=0.5
>>> x = exp(-x0)
>>> while abs(x-x0)>1e-10:
... x0=x
... x=exp(-x)
... print x
...
0.545239211893
0.579703094878
0.560064627939
0.571172148977
0.56486294698
0.56843804757
0.566409452747
0.567559634262
0.566907212935
0.567277195971
0.567067351854
0.567186360088
0.567118864257
0.567157143708
0.567135433659
0.567147746331
0.56714076327
0.567144723662
0.567142477551
0.567143751417
0.567143028952
0.567143438694
0.567143206312
0.567143338105
0.567143263359
0.567143305751
0.567143281709
0.567143295344
0.567143287611
0.567143291997
0.56714328951
0.56714329092
0.56714329012
0.567143290574
0.567143290317
0.567143290463
0.56714329038
Может, дихотомией?
>>> def iterdich((a,b),f):
... if a==b:
... return (a,a)
... if a>b:
... a,b=b,a
... m=(a+b)/2.0
... fa=f(a)
... fb=f(b)
... fm=f(m)
... if fa*fb>0:
... return (a,b)
... if fm*fa<0:
... return (a,m)
... elif fm*fa>0:
... return (m,b)
... else:
... return (m,m)
...
>>> def f(x):
... return log(x)+x
...
>>> def dich(a,b,e,f):
... if a>b:
... a,b=b,a
... print a,b,(a+b)/2.0,b-a
... while b-a > e:
... a,b = iterdich((a,b),f)
... print a,b,(a+b)/2.0,b-a
...
>>> dich(0.1,0.9,1e-10,f)
0.1 0.9 0.5 0.8
0.5 0.9 0.7 0.4
0.5 0.7 0.6 0.2
0.5 0.6 0.55 0.1
0.55 0.6 0.575 0.05
0.55 0.575 0.5625 0.025
0.5625 0.575 0.56875 0.0125
0.5625 0.56875 0.565625 0.00625
0.565625 0.56875 0.5671875 0.003125
0.565625 0.5671875 0.56640625 0.0015625
0.56640625 0.5671875 0.566796875 0.00078125
0.566796875 0.5671875 0.5669921875 0.000390625
0.5669921875 0.5671875 0.56708984375 0.0001953125
0.56708984375 0.5671875 0.567138671875 9.765625e-05
0.567138671875 0.5671875 0.567163085937 4.8828125e-05
0.567138671875 0.567163085937 0.567150878906 2.44140625e-05
0.567138671875 0.567150878906 0.567144775391 1.220703125e-05
0.567138671875 0.567144775391 0.567141723633 6.10351562502e-06
0.567141723633 0.567144775391 0.567143249512 3.05175781257e-06
0.567143249512 0.567144775391 0.567144012451 1.52587890623e-06
0.567143249512 0.567144012451 0.567143630981 7.62939453169e-07
0.567143249512 0.567143630981 0.567143440247 3.81469726585e-07
0.567143249512 0.567143440247 0.567143344879 1.90734863237e-07
0.567143249512 0.567143344879 0.567143297195 9.53674316184e-08
0.567143249512 0.567143297195 0.567143273354 4.76837158647e-08
0.567143273354 0.567143297195 0.567143285275 2.38418579324e-08
0.567143285275 0.567143297195 0.567143291235 1.19209289107e-08
0.567143285275 0.567143291235 0.567143288255 5.96046445533e-09
0.567143288255 0.567143291235 0.567143289745 2.98023217216e-09
0.567143289745 0.567143291235 0.56714329049 1.49011614159e-09
0.567143289745 0.56714329049 0.567143290117 7.45058015283e-10
0.567143290117 0.56714329049 0.567143290304 3.72529007642e-10
0.567143290304 0.56714329049 0.567143290397 1.86264559332e-10
0.567143290397 0.56714329049 0.567143290443 9.3132279666e-11
Octave решает трансцендетные уравнения. Наверно, и точность вычисления ф-ции как-то устанавливается.
Решаем уравнение ln(x)+x=0
Но как-то странно :o
pkg load symbolic
function yy = ff (x)
yy = log(x)+x;
endfunction
[x, fval, info] = fsolve (@ff, [-1; 1])
x =
0.56714 - 0.00000i
0.56714 + 0.00000i
fval =
4.3883e-08 - 2.7985e-08i
6.0842e-10 + 5.8675e-11i
info = 1
Цитата: _Swetlana от ноября 17, 2017, 23:19
0.56714 - 0.00000i
0.56714 + 0.00000i
Какая-то "фича" реализации численного метода? А почему вообще комплексные числа, Octave всегда в комплексных считает?
Цитата: yurifromspb от ноября 17, 2017, 20:58
Тупая итерация это метод неподвижной точки (здесь, x -> exp(-x), x0, к примеру, 0.5)? Ну да, она медленно сходится.
Это я неправильно сказал, методов неподвижной точки можно много построить, среди них будут и хорошо сходящиеся. Надо найти такую φ, что последовательность
![x_{n+1} = \phi(x_n) [tex]x_{n+1} = \phi(x_n)[/tex]](https://latex.codecogs.com/png.latex?x_{n+1} = \phi(x_n))
сходится к искомому. Разумеется, таких φ бесконечно много.
Спасибо большое, Юрий! Спасибо большое, Светлана!
Цитата: yurifromspb от ноября 17, 2017, 20:58
Систему не понял. 1/x=ln(x) != -x=ln(x)
Имелось в виду:
y = 1/x
x = lny
?
Тупая итерация это метод неподвижной точки (здесь, x -> exp(-x), x0, к примеру, 0.5)? Ну да, она медленно сходится.
>>> from numpy import *
>>> x0=0.5
>>> x = exp(-x0)
>>> while abs(x-x0)>1e-10:
... x0=x
... x=exp(-x)
... print x
...
01) 0.545239211893
02) 0.579703094878
03) 0.560064627939
04) 0.571172148977
05) 0.56486294698
06) 0.56843804757
07) 0.566409452747
08) 0.567559634262
09) 0.566907212935
10) 0.567277195971
11) 0.567067351854
12) 0.567186360088
13) 0.567118864257
14) 0.567157143708
15) 0.567135433659
16) 0.567147746331
17) 0.56714076327
18) 0.567144723662
19) 0.567142477551
20) 0.567143751417
21) 0.567143028952
22) 0.567143438694
23) 0.567143206312
24) 0.567143338105
25) 0.567143263359
26) 0.567143305751
27) 0.567143281709
28) 0.567143295344
29) 0.567143287611
30) 0.567143291997
31) 0.56714328951
32) 0.56714329092
33) 0.56714329012
34) 0.567143290574
35) 0.567143290317
36) 0.567143290463
37) 0.56714329038
Да, именно, имелось в виду:
y = 1/x
x = lny
Подуставши был, на ночь глядя. Утро вечера мудренее...
Сходится довольно медленно.
Может, дихотомией?
Может быть. Первое, что приходит в голову. И для калькулятора это, чисто интуитивно, наверное наиболее рациональное?..
Цитата: yurifromspb от ноября 17, 2017, 22:00
>>> def iterdich((a,b),f):
... if a==b:
... return (a,a)
... if a>b:
... a,b=b,a
... m=(a+b)/2.0
... fa=f(a)
... fb=f(b)
... fm=f(m)
... if fa*fb>0:
... return (a,b)
... if fm*fa<0:
... return (a,m)
... elif fm*fa>0:
... return (m,b)
... else:
... return (m,m)
...
>>> def f(x):
... return log(x)+x
...
>>> def dich(a,b,e,f):
... if a>b:
... a,b=b,a
... print a,b,(a+b)/2.0,b-a
... while b-a > e:
... a,b = iterdich((a,b),f)
... print a,b,(a+b)/2.0,b-a
...
>>> dich(0.1,0.9,1e-10,f)
01) 0.1 0.9 0.5 0.8
02) 0.5 0.9 0.7 0.4
03) 0.5 0.7 0.6 0.2
04) 0.5 0.6 0.55 0.1
05) 0.55 0.6 0.575 0.05
06) 0.55 0.575 0.5625 0.025
07)0.5625 0.575 0.56875 0.0125
08) 0.5625 0.56875 0.565625 0.00625
09)0.565625 0.56875 0.5671875 0.003125
10) 0.565625 0.5671875 0.56640625 0.0015625
11) 0.56640625 0.5671875 0.566796875 0.00078125
12) 0.566796875 0.5671875 0.5669921875 0.000390625
13) 0.5669921875 0.5671875 0.56708984375 0.0001953125
14) 0.56708984375 0.5671875 0.567138671875 9.765625e-05
15) 0.567138671875 0.5671875 0.567163085937 4.8828125e-05
16) 0.567138671875 0.567163085937 0.567150878906 2.44140625e-05
17) 0.567138671875 0.567150878906 0.567144775391 1.220703125e-05
18) 0.567138671875 0.567144775391 0.567141723633 6.10351562502e-06
19) 0.567141723633 0.567144775391 0.567143249512 3.05175781257e-06
20) 0.567143249512 0.567144775391 0.567144012451 1.52587890623e-06
21) 0.567143249512 0.567144012451 0.567143630981 7.62939453169e-07
22) 0.567143249512 0.567143630981 0.567143440247 3.81469726585e-07
23) 0.567143249512 0.567143440247 0.567143344879 1.90734863237e-07
24) 0.567143249512 0.567143344879 0.567143297195 9.53674316184e-08
25) 0.567143249512 0.567143297195 0.567143273354 4.76837158647e-08
26) 0.567143273354 0.567143297195 0.567143285275 2.38418579324e-08
27) 0.567143285275 0.567143297195 0.567143291235 1.19209289107e-08
28) 0.567143285275 0.567143291235 0.567143288255 5.96046445533e-09
29) 0.567143288255 0.567143291235 0.567143289745 2.98023217216e-09
30) 0.567143289745 0.567143291235 0.56714329049 1.49011614159e-09
31) 0.567143289745 0.56714329049 0.567143290117 7.45058015283e-10
32) 0.567143290117 0.56714329049 0.567143290304 3.72529007642e-10
33) 0.567143290304 0.56714329049 0.567143290397 1.86264559332e-10
34) 0.567143290397 0.56714329049 0.567143290443 9.3132279666e-11
Ну, где-то в пределах часа на калькуляторе понажимать кнопочки придётся... Значит, 9-я и 10-я цифры: 0, 4... А пределы погрешности :???
Цитата: _Swetlana от ноября 17, 2017, 23:19
Octave решает трансцендентные уравнения.
Хорошая, оказывается, эта вещь — Octave! Полезная. Надо будет познакомиться поближе.
Цитата: _Swetlana от ноября 17, 2017, 23:19
fval =
4.3883e-08 - 2.7985e-08i
6.0842e-10 + 5.8675e-11i
info = 1
И что бы это значило, просветите непросветлённых, пожалуйста. Значение «объективной функции» в решении, возвращаемое как реальный вектор. Как правило, fval = fun (x). Комплексные числа — это просто бесовщина какая-то...
Нет бы просто сказать: решение уравнения lnx+x = 0 —есть точка пересечения графика y=lnx и прямой y=-x , так нет же ж!
Цитата: pomogosha от ноября 18, 2017, 05:54
Спасибо большое, Юрий! Спасибо большое, Светлана!
Цитата: yurifromspb от ноября 17, 2017, 20:58
Систему не понял. 1/x=ln(x) != -x=ln(x)
Имелось в виду:
y = 1/x
x = lny
?
Тупая итерация это метод неподвижной точки (здесь, x -> exp(-x), x0, к примеру, 0.5)? Ну да, она медленно сходится.
>>> from numpy import *
>>> x0=0.5
>>> x = exp(-x0)
>>> while abs(x-x0)>1e-10:
... x0=x
... x=exp(-x)
... print x
...
01) 0.545239211893
02) 0.579703094878
03) 0.560064627939
04) 0.571172148977
05) 0.56486294698
06) 0.56843804757
07) 0.566409452747
08) 0.567559634262
09) 0.566907212935
10) 0.567277195971
11) 0.567067351854
12) 0.567186360088
13) 0.567118864257
14) 0.567157143708
15) 0.567135433659
16) 0.567147746331
17) 0.56714076327
18) 0.567144723662
19) 0.567142477551
20) 0.567143751417
21) 0.567143028952
22) 0.567143438694
23) 0.567143206312
24) 0.567143338105
25) 0.567143263359
26) 0.567143305751
27) 0.567143281709
28) 0.567143295344
29) 0.567143287611
30) 0.567143291997
31) 0.56714328951
32) 0.56714329092
33) 0.56714329012
34) 0.567143290574
35) 0.567143290317
36) 0.567143290463
37) 0.56714329038
Да, именно, имелось в виду:
y = 1/x
x = lny
Подуставши был, на ночь глядя. Утро вечера мудренее...
Сходится довольно медленно.
Может, дихотомией?
Может быть. Первое, что приходит в голову. И для калькулятора это, чисто интуитивно, наверное наиболее рациональное?..
Цитата: yurifromspb от ноября 17, 2017, 22:00
>>> def iterdich((a,b),f):
... if a==b:
... return (a,a)
... if a>b:
... a,b=b,a
... m=(a+b)/2.0
... fa=f(a)
... fb=f(b)
... fm=f(m)
... if fa*fb>0:
... return (a,b)
... if fm*fa<0:
... return (a,m)
... elif fm*fa>0:
... return (m,b)
... else:
... return (m,m)
...
>>> def f(x):
... return log(x)+x
...
>>> def dich(a,b,e,f):
... if a>b:
... a,b=b,a
... print a,b,(a+b)/2.0,b-a
... while b-a > e:
... a,b = iterdich((a,b),f)
... print a,b,(a+b)/2.0,b-a
...
>>> dich(0.1,0.9,1e-10,f)
01) 0.1 0.9 0.5 0.8
02) 0.5 0.9 0.7 0.4
03) 0.5 0.7 0.6 0.2
04) 0.5 0.6 0.55 0.1
05) 0.55 0.6 0.575 0.05
06) 0.55 0.575 0.5625 0.025
07)0.5625 0.575 0.56875 0.0125
08) 0.5625 0.56875 0.565625 0.00625
09)0.565625 0.56875 0.5671875 0.003125
10) 0.565625 0.5671875 0.56640625 0.0015625
11) 0.56640625 0.5671875 0.566796875 0.00078125
12) 0.566796875 0.5671875 0.5669921875 0.000390625
13) 0.5669921875 0.5671875 0.56708984375 0.0001953125
14) 0.56708984375 0.5671875 0.567138671875 9.765625e-05
15) 0.567138671875 0.5671875 0.567163085937 4.8828125e-05
16) 0.567138671875 0.567163085937 0.567150878906 2.44140625e-05
17) 0.567138671875 0.567150878906 0.567144775391 1.220703125e-05
18) 0.567138671875 0.567144775391 0.567141723633 6.10351562502e-06
19) 0.567141723633 0.567144775391 0.567143249512 3.05175781257e-06
20) 0.567143249512 0.567144775391 0.567144012451 1.52587890623e-06
21) 0.567143249512 0.567144012451 0.567143630981 7.62939453169e-07
22) 0.567143249512 0.567143630981 0.567143440247 3.81469726585e-07
23) 0.567143249512 0.567143440247 0.567143344879 1.90734863237e-07
24) 0.567143249512 0.567143344879 0.567143297195 9.53674316184e-08
25) 0.567143249512 0.567143297195 0.567143273354 4.76837158647e-08
26) 0.567143273354 0.567143297195 0.567143285275 2.38418579324e-08
27) 0.567143285275 0.567143297195 0.567143291235 1.19209289107e-08
28) 0.567143285275 0.567143291235 0.567143288255 5.96046445533e-09
29) 0.567143288255 0.567143291235 0.567143289745 2.98023217216e-09
30) 0.567143289745 0.567143291235 0.56714329049 1.49011614159e-09
31) 0.567143289745 0.56714329049 0.567143290117 7.45058015283e-10
32) 0.567143290117 0.56714329049 0.567143290304 3.72529007642e-10
33) 0.567143290304 0.56714329049 0.567143290397 1.86264559332e-10
34) 0.567143290397 0.56714329049 0.567143290443 9.3132279666e-11
Ну, где-то в пределах часа на калькуляторе понажимать кнопочки придётся... Значит, 9-я и 10-я цифры: 0, 4... А пределы погрешности :???
................
Я ничего не понял, зачем целый час, минуты хватит тупо нажимать по очереди "е
х" и "1/х", задав начальное значение х=1
Цитата: Волод от ноября 18, 2017, 10:59
Я ничего не понял, зачем целый час, минуты хватит тупо нажимать по очереди "ех" и "1/х", задав начальное значение х=1
Вот "быстрый математический калькулятор" (http://www.kontrolnaya-rabota.ru/s/kalkulyator/?function2=1%2Fexp%281%29&x=0&y=0&radians=0#id_res) Мне минуты не хватает :(
Цитата: pomogosha от ноября 18, 2017, 05:54
Ну, где-то в пределах часа на калькуляторе понажимать кнопочки придётся... Значит, 9-я и 10-я цифры: 0, 4... А пределы погрешности :???
Если делать дихотомией, то погрешность не больше длины интервала, а если итерацией x->exp(-x) (или, что то же самое, x->1/exp(x)), то погрешность не больше разницы последовательных приближений, потому что эта последовательность "прыгает" вокруг корня (можно геометрически показать).
Цитата: yurifromspb от ноября 18, 2017, 13:43
Если делать дихотомией, то погрешность не больше длины интервала, а если итерацией x->exp(-x) (или, что то же самое, x->1/exp(x)), то погрешность не больше разницы последовательных приближений, потому что эта последовательность "прыгает" вокруг корня (можно геометрически показать).
Ага, понятно! :yes: А если результат записать так: θ = 0.5671432904 ± 5•10
-11 — корректно по условиям задачи?
Цитата: pomogosha от ноября 18, 2017, 14:09
Ага, понятно! :yes: А если результат записать так: θ = 0.5671432904 ± 5•10-11 — корректно по условиям задачи?
Можно и просто ±10
-10. Больше - не меньше.
Ещё, сейчас подумалось, стоит удостоверится, что машинная точность не хуже 10
-10.
Цитата: pomogosha от ноября 18, 2017, 12:22
Цитата: Волод от ноября 18, 2017, 10:59
Я ничего не понял, зачем целый час, минуты хватит тупо нажимать по очереди "ех" и "1/х", задав начальное значение х=1
Вот "быстрый математический калькулятор" (http://www.kontrolnaya-rabota.ru/s/kalkulyator/?function2=1%2Fexp%281%29&x=0&y=0&radians=0#id_res) Мне минуты не хватает :(
На инженерном калькуляторе компьютера у меня вышло за 2 минуты при том, что пальцем на кнопку не нажмёшь, приходилось клацать мышкой, да и приходилось ещё клацать на "inv".
Цитата: Волод от ноября 18, 2017, 14:57
На инженерном калькуляторе компьютера
Хорошо вам, с
инженерным калькулятором компьютера... Он-лайн есть такое?
Больше, чем на компьютере.
Гуголь в помощь.
Цитата: pomogosha от ноября 18, 2017, 15:17
Цитата: Волод от ноября 18, 2017, 14:57
На инженерном калькуляторе компьютера
Хорошо вам, с инженерным калькулятором компьютера... Он-лайн есть такое?
Нечто подобное http://onservis.ru/online-kalkulyator-matematicheskiy.html
Но "e
x" прячется под "10
х" и надо за каждым разом нажимать "="
Цитата: Bhudh от ноября 18, 2017, 15:32
Гуголь в помощь.
Ага, вот нашел: Калькулятор онлайн Инженерный калькулятор онлайн (http://kalkulyatoronlajn.ru/) Пусть здесь будет, чтоб в следующий раз не гуглить.
Всем посочувствовавшим — маш их баярлалаа!!
Просвещаю непросвещённых :dayatakoy:
Не сомневаюсь, что в матлабе есть готовый способ решать трансцендетные уравнения, с заданной точностью. Но я его не знаю ;D
Вчера ночью по первости стала решать трансцендетные уравнения с помощью Октавы. То есть стала гуглить какие-то примеры, где люди это делали с помощью матлаба.
Ни один пример так и не заработал, среди ночи. Потом стала гуглить по-английски, нагуглила пример, где человек решал систему трансцендетных уравнений. Этот код на удивление сработал, но решение вернулось в виде вектора, да ещё и комплекснозначного, О.
Цитата: _Swetlana от ноября 18, 2017, 16:41
нагуглила пример, где человек решал систему трансцендетных уравнений. Этот код на удивление сработал, но решение вернулось в виде вектора, да ещё и комплекснозначного, О.
Шо за код такой чудный? Светлана ханым!
А вот к примеру доказать, что существует такое число (иррациональное) κ при котором одновременно соблюдаются тождества (ну или равенства с точностью до 6-го знака):
π ≡ 6+3lnκ
lnθ ≡ lnκ+κ = -κeκ
θ ≡ κeκ
и найти значение
κ с помощью этого чудного кода возможно ли? :-\
А тут школьных начал анализа не хватит разве?
Область определения, область значений, вот это всё.
Так Вам шашечки или ехать доказать, что существует или найти точное значение?
Цитата: pomogosha от ноября 18, 2017, 17:16
Цитата: _Swetlana от ноября 18, 2017, 16:41
нагуглила пример, где человек решал систему трансцендетных уравнений. Этот код на удивление сработал, но решение вернулось в виде вектора, да ещё и комплекснозначного, О.
Шо за код такой чудный? Светлана ханым!
А вот к примеру доказать, что существует такое число (иррациональное) κ при котором одновременно соблюдаются тождества (ну или равенства с точностью до 6-го знака):
π ≡ 6+3lnκ
lnθ ≡ lnκ+κ = -κeκ
θ ≡ κeκ
и найти значение κ с помощью этого чудного кода возможно ли? :-\
Нет, вы уж определитесь, что вам - тождества, или с точностью. Это по разным ведомствам :)
У вас какая-то реальная задача? Если реальная задача, то вы саму задачу покажите. Корректную матпостановку для реальной задачи сделать - половину задачи решить.
Я что-то в толк не возьму. Вы когда логарифмы потенцируете, откуда у вас минус появляется?
Вот этот чудесный код, решение системы в Октаве
pkg load symbolic
clf
function y = f (x)
y = zeros (2, 1);
y(1) = -2*x(1)^2 + 3*x(1)*x(2) + 4*sin(x(2)) - 6;
y(2) = 3*x(1)^2 - 2*x(1)*x(2)^2 + 3*cos(x(1)) + 4;
endfunction
[x, fval, info] = fsolve (@f, [1; 2])
x =
0.57983
2.54621
fval =
-2.8991e-08
4.9167e-07
info = 1
Цитата: _Swetlana от ноября 18, 2017, 20:45
Нет, вы уж определитесь, что вам - тождества, или с точностью. Это по разным ведомствам :)
Я по интересам вашего ведомства, в первую очередь :)
Цитата: _Swetlana от ноября 18, 2017, 20:45
Корректную матпостановку для реальной задачи сделать - половину задачи решить.
Согласен...
Цитата: pomogosha от ноября 18, 2017, 21:08
Цитата: _Swetlana от ноября 18, 2017, 20:45
Нет, вы уж определитесь, что вам - тождества, или с точностью. Это по разным ведомствам :)
Я по интересам вашего ведомства, в первую очередь :) Цитата: _Swetlana от ноября 18, 2017, 20:45
Корректную матпостановку для реальной задачи сделать - половину задачи решить.
Согласен...
Прям интерестно :-[ а какого моего? заячьего или кроличьего?
_Swetlana
Цитата: _Swetlana от ноября 18, 2017, 22:04
заячьего или кроличьего?
Заячьего. Хотя мой интерес, конечно — кроличий, но хотелось бы чтоб всё как у Зайцева ::)
::)
Цитата: pomogosha от ноября 18, 2017, 17:16
π ≡ 6+3lnκ
и найти значение κ с помощью этого чудного кода возможно ли? :-\
Давайте уточним, что вы хотели здесь написать.
Вот это?
![\pi =6+3*ln(k) [tex]\pi =6+3*ln(k)[/tex]](https://latex.codecogs.com/png.latex?\pi =6+3*ln(k))
Это уравнение с одним неизвестным, решается так.
![\frac{\pi-6}{3}=ln(k) [tex]\frac{\pi-6}{3}=ln(k)[/tex]](https://latex.codecogs.com/png.latex?\frac{\pi-6}{3}=ln(k))
Теперь потенцируем обе части уравнения
![e^{\frac{\pi-6}{3}}=k [tex]e^{\frac{\pi-6}{3}}=k[/tex]](https://latex.codecogs.com/png.latex?e^{\frac{\pi-6}{3}}=k)
Теперь вычисляем значение
k в Octave с точностью до 6-й значащей цифры.
pkg load symbolic
vpa(exp((pi-3)/3),6)
ans = (sym) 1.04833
...или тут 3^ln(k)?
Давайте решим и для этого случая. Воспользуемся тождеством
![log_{3}x = \frac{ln(x)}{ln3} [tex] log_{3}x = \frac{ln(x)}{ln3}[/tex]](https://latex.codecogs.com/png.latex? log_{3}x = \frac{ln(x)}{ln3})
А то я не знаю, есть ли в матлабе ненатуральные логарифмы.
![\pi -6=3^{ln(k)} [tex]\pi -6=3^{ln(k)} [/tex]](https://latex.codecogs.com/png.latex?\pi -6=3^{ln(k)} )
![log_{3}(\pi -6)=ln(k) [tex]log_{3}(\pi -6)=ln(k) [/tex]](https://latex.codecogs.com/png.latex?log_{3}(\pi -6)=ln(k) )
![e^{log_{3}(\pi -6))}=k [tex]e^{log_{3}(\pi -6))}=k [/tex]](https://latex.codecogs.com/png.latex?e^{log_{3}(\pi -6))}=k )
![k=e^{\frac{ln(\pi -6)}{ln3}} [tex]k=e^{\frac{ln(\pi -6)}{ln3}} [/tex]](https://latex.codecogs.com/png.latex?k=e^{\frac{ln(\pi -6)}{ln3}} )
И теперь вычислим в матлабе это значение:
pkg load symbolic
vpa(exp(log(pi-6)/log(3)),6)
ans = (sym) -2.49851 + 0.723848⋅ⅈ
:o
Всё, что я помню про ТФКП, что у меня по ней было пять ;D
Ладно, пошла дальше с матлабом разбираться.
Ха. У нас тут логарифм отрицательного числа,
Помогоша, уравнение в действительных числах не имеет решения.
Цитата: _Swetlana от ноября 20, 2017, 15:40
Давайте уточним, что вы хотели здесь написать.
Вот это?
![\pi =6+3*ln(k) [tex]\pi =6+3*ln(k)[/tex]](https://latex.codecogs.com/png.latex?\pi =6+3*ln(k))
Да! Именно это.
Цитата: _Swetlana от ноября 20, 2017, 15:40
ans = (sym) 1.04833
То есть ответ:
k = ans = (sym) 1.04833?
Так, сейчас гляну в свои "расчеты"... У меня, кажись
κ меньше 1, где-то ~0,4
Цитата: _Swetlana от ноября 20, 2017, 16:18
Помогоша, уравнение в действительных числах не имеет решения.
Да, заметил. Не успел сообщить.
По моим прикидкам κ = 0,385658841... при θ = 0,56714329040978400; ln(θ) = -θ; ln(θ) = ln(κ) + κ = -κ*(θ)κ почему-то :what:
Сейчас буду разбираться.
Ой. Кажись я "e" вместо "θ" воткнул... Растяпа. Или же :-\
Да, так и есть :wall:
Цитата: pomogosha от ноября 18, 2017, 15:17
Цитата: Волод от ноября 18, 2017, 14:57
На инженерном калькуляторе компьютера
Хорошо вам, с инженерным калькулятором компьютера... Он-лайн есть такое?
У вас не Windows? Linux?
Цитата: Lodur от ноября 20, 2017, 17:02
У вас не Windows? Linux?
Windows. Но калькулятор стандартно арифметический (без логарифмов и прочих нужных прибамбасов). Да я им и не пользуюсь-то... Весьма редко. Всё больше Exel зайдействуется у меня. И то "одним пальцем".
Хм...
Цитата: pomogosha от ноября 20, 2017, 16:22
Цитата: _Swetlana от ноября 20, 2017, 15:40
Давайте уточним, что вы хотели здесь написать.
Вот это?
![\pi =6+3*ln(k) [tex]\pi =6+3*ln(k)[/tex]](https://latex.codecogs.com/png.latex?\pi =6+3*ln(k))
Да! Именно это.
Цитата: _Swetlana от ноября 20, 2017, 15:40
ans = (sym) 1.04833
То есть ответ: k = ans = (sym) 1.04833?
Так, сейчас гляну в свои "расчеты"... У меня, кажись κ меньше 1, где-то ~0,4
Нет!!! Я ворона, вместо "6" написала "3", сейчас пересчитаю.
Цитата: pomogosha от ноября 20, 2017, 17:15
Цитата: Lodur от ноября 20, 2017, 17:02
У вас не Windows? Linux?
Windows. Но калькулятор стандартно арифметический (без логарифмов и прочих нужных прибамбасов). Да я им и не пользуюсь-то... Весьма редко. Всё больше Exel зайдействуется у меня. И то "одним пальцем".
И вот так не получается переключить? :???
С 12-ю значащими цифрами
pkg load symbolic
vpa(exp((pi-6)/3),12)
ans = (sym) 0.385658718796
А второе уравнение какое?
Цитата: Lodur от ноября 20, 2017, 17:24
вот так не получается переключить?
Щас попробую.
Цитата: _Swetlana от ноября 20, 2017, 17:26
ans = (sym) 0.385658718796
Эврика!!! :=
Цитата: _Swetlana от ноября 20, 2017, 17:29
А второе уравнение какое?
А второе уравнение:
θ = 0,56714329040978400 =(?) κ*(e)κ Соблюдается ли это равенство(?) И если соблюдается примерно, то с точностью до какого знака? (у меня до 6-го знака соблюдается, а что после — не совсем понятно... Получается:
κ*(e)κ = 0,56714304109480100 < θ = 0,5671432904097840 (это в экселе, в нём точность постоянных до десятого чтоле знака?)
Быть?.. Или не быть? — Вот в чём вопрос!
Ну это просто. Вычислим в Octave невязку (разность) между 0,56714329040978400 и
![k*e^{k} [tex]k*e^{k}[/tex]](https://latex.codecogs.com/png.latex?k*e^{k})
, где
![k=exp((pi-6)/3 [tex]k=exp((pi-6)/3[/tex]](https://latex.codecogs.com/png.latex?k=exp((pi-6)/3)
Ответ 0.0 :)
Просила вычислить с точностью до 20-го знака
pkg load symbolic
k=exp((pi-6)/3);
vpa(0,56714329040978400-k*exp(k),20)
ans = (sym) 0.0
Похоже, мы тут фигнёй вычислительной страдаем, а надо аналитически доказывать, по старинке, карандашиком на бумажке.
Цитата: _Swetlana от ноября 20, 2017, 20:17
Ну это просто. Вычислим в Octave невязку (разность) между 0,56714329040978400 и
, где
![k=exp((pi-6)/3 [tex]k=exp((pi-6)/3[/tex]](https://latex.codecogs.com/png.latex?k=exp((pi-6)/3)
Ответ 0.0 :)
Просила вычислить с точностью до 20-го знака
pkg load symbolic
k=exp((pi-6)/3);
vpa(0,56714329040978400-k*exp(k),20)
ans = (sym) 0.0
О как! :=
Цитата: _Swetlana от ноября 20, 2017, 20:17
Похоже, мы тут на вычислениях зациклились, а надо аналитически доказывать, по старинке, карандашиком на бумажке.
Да вот и меня сумления одолевают... А может быть это уже давно Фурье-Гауссом доказано (или опровергнуто?), а мы
фигнёй время зря тратим...
Пойду посмотрю-ка, что по этому поводу думает товарищ Бронштейн-Семендяев.
Всё, доказала тождество методами школьной математики ;D
Завтра проверю, тогда запощу.
Гений! Эпитафией на моем могильном камне заставлю выбить доказательство тожества именем твоим!
Это доказать нельзя ;D Живите долго и счастливо :yes:
Нельзя, потому что в одной части равенства пи, а в другой пи нет.
То есть надо смотреть в другую сторону, может матлаб врёт, что считает с точностью до 20-го знака.
Цитата: _Swetlana от ноября 21, 2017, 18:54
Это доказать нельзя ;D
Я убит :( А счастье было так возможно, так близко!.. Но судьба моя уж решена. Неосторожно,..
Цитата: _Swetlana от ноября 21, 2017, 18:54
надо смотреть в другую сторону, может матлаб врёт, что считает с точностью до 20-го знака.
Ммм... да.
ЦитироватьИррациональность числа π была впервые доказана Ламбертом в 1761 году путём разложения тангенса в непрерывную дробь. В 1794 году Лежандр привёл более строгое доказательство иррациональности чисел π и π2...
Тождество Эйлера:
eiπ+1=0;
Выражение через дилогарифм:
{\displaystyle \pi ={\sqrt {6\ln ^{2}2+12\ \operatorname {Li} _{2}\left({\frac {1}{2}}\right)}}} \pi ={\sqrt {6\ln ^{2}2+12\ \operatorname {Li} _{2}\left({\frac {1}{2}}\right)}}...
В 480-х годах китайский математик Цзу Чунчжи продемонстрировал, что π ≈ 355/113, и показал, что 3,1415926 < π < 3,1415927, используя алгоритм Лю Хуэя применительно к 12288-угольнику. Это значение оставалось самым точным приближением числа π в течение последующих 900 лет... пока в... 1400-х годах Мадхава из Сангамаграмы ни нашёл первый из рядов, позволяющих вычислить π с любой точностью,..
Однааако...
ЦитироватьПервым крупным европейским вкладом со времён Архимеда был вклад голландского математика Людольфа ван Цейлена, затратившего десять лет на вычисление числа π с 20-ю десятичными цифрами (этот результат был опубликован в 1596 году). Применив метод Архимеда, он довёл удвоение до n-угольника, где n = 60·229. Изложив свои результаты в сочинении «Об окружности» («Van den Circkel»), Лудольф закончил его словами: «У кого есть охота, пусть идёт дальше». После смерти в его рукописях были обнаружены ещё 15 точных цифр числа π. Лудольф завещал, чтобы найденные им знаки были высечены на его надгробном камне ;D
Однааако...
ЦитироватьВ Новое время для вычисления π используются аналитические методы, основанные на тождествах... наиболее эффективную формулу нашёл в 1706 году Джон Мэчин (англ. John Machin)
π/4=4arctg(1/5)-arctg(1/239)
Формулы такого типа, в настоящее время известные как формулы Мэчина (англ. Machin-like formula), использовались для установки нескольких последовательных рекордов и остались наилучшими из известных методов для быстрого вычисления π в эпоху компьютеров. Выдающийся рекорд был поставлен феноменальным счетчиком Иоганном Дазе (англ. Johann Dase), который в 1844 году по распоряжению Гаусса применил формулу Мэчина для вычисления 200 цифр π... Наилучший результат к концу XIX века был получен англичанином Вильямом Шенксом (англ. William Shanks), у которого ушло 15 лет для того, чтобы вычислить 707 цифр, хотя из-за ошибки только первые 527 были верными. ;D
... Чудновские использовали эту (http://ru.wikipedia.org/wiki/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D0%A7%D1%83%D0%B4%D0%BD%D0%BE%D0%B2%D1%81%D0%BA%D0%BE%D0%B3%D0%BE) формулу для того, чтобы установить несколько рекордов в вычислении {\displaystyle \pi } \pi в конце 1980-х, включая то, в результате которого в 1989 году было получено 1 011 196 691 цифр десятичного разложения. Эта формула используется в программах, вычисляющих {\displaystyle \pi } \pi на персональных компьютерах, в отличие от суперкомпьютеров, которые устанавливают современные рекорды.
Как ин-те-рэс-но...
Ричард Брент и Юджин Саламин (англ. Eugene Salamin (mathematician)) независимо друг от друга открыли алгоритм Брента — Саламина (http://en.wikipedia.org/wiki/Gauss%E2%80%93Legendre_algorithm) (англ. Gauss–Legendre algorithm), который, используя лишь арифметику, на каждом шагу удваивает количество известных знаков.
Ладно. Пора баиньки.
Олон талархал илэрхийлье! Хатан хаан Светлана.
У математиков шутка есть такая: два пи плюс е равно девяти (2*pi + e = 9).
Так что всё возможно, до известной точности.
И ещё про известные числа, реальная история. Выдавали нам в универе бесплатно первые банковские карты. Давно это было, карты были в новинку.
Отправились с нашей кафедры получать карты 4 человека: два математика и два программиста.
Вернулись и спроста стали друг у друга интересоваться, кто какой четырёхзначный пароль придумал.
У обоих программистов оказался пароль 1024, у одного математика - число пи, у другого - число e.
Решила найти разность корня сотой степени из e и корня сотой степени из пи. Думала, корень сотой степени произведёт такое сглаживающее действие, что она будет очень мала.
А вот нет.
pi^(1/100)-exp(1)^(1/100)
ans = 0.0014629
Цитата: _Swetlana от ноября 21, 2017, 22:14
кто какой четырёхзначный пароль придумал.
У обоих программистов оказался пароль 1024, у одного математика - число пи, у другого - число e.
;D Программисты и математики — кто из них для матери истории более ценен?
Число-то е я помню и никогда не забыть его, если не забудешь только год рождения Л.Н.Толстого: 2,17, два раза по г. р. Л.Н.Т, половина прямого угла, прямой угол и ещё половина, т.е. е= 2,1718281828459045. А вот "пи" труднее запоминается...
Цитата: _Swetlana от ноября 23, 2017, 16:46
А вот нет.
pi^(1/100)-exp(1)^(1/100)
ans = 0.0014629
В Матлабе? Или каким-то образом в Октаве? Собственно для практической психофизики такая точность ни к чему...
А вот exp(θ)=1/θ до какого знака следует (достаточно) вычислять, чтобы соблюдалось уравнение lnθ=-θ при θ=0,56714329040978400 ?
Цитата: pomogosha от ноября 23, 2017, 20:17А вот "пи" труднее запоминается...
"Это я знаю и помню прекрасно: пи многие знаки мне лишни, напрасны."
Цитата: pomogosha от ноября 23, 2017, 20:17
А вот exp(θ)=1/θ до какого знака следует (достаточно) вычислять, чтобы соблюдалось уравнение lnθ=-θ при θ=0,56714329040978400 ?
Не понял. Равенства exp(θ)=1/θ и ln(θ)=-θ выполняются при одном и том же θ. Если интересно, какая из функций ошибки изменяется быстрее (по модулю), сравните производные (exp(x)+1/x^2 и 1/x +1) вблизи корня.
при х=0,56714329040978400
exp(x)+1/x^2 примерно 4.87
1/x +1 примерно 2.76
Т.е., вблизи корня уравнение ln(θ)=-θ выполняется точнее уравнения exp(θ)=1/θ примерно в 1.76 раза.
Цитата: yurifromspb от ноября 23, 2017, 21:21
Т.е., вблизи корня уравнение ln(θ)=-θ выполняется точнее уравнения exp(θ)=1/θ примерно в 1.76 раза.
Да, это я хотел узнать, про функции ошибки (спасибо, что напомнили давно забытое), но вопрос сформулировал криво. Спасибо!
Цитата: pomogosha от ноября 23, 2017, 20:17
Цитата: _Swetlana от ноября 21, 2017, 22:14
кто какой четырёхзначный пароль придумал.
У обоих программистов оказался пароль 1024, у одного математика - число пи, у другого - число e.
;D Программисты и математики — кто из них для матери истории более ценен?
Число-то е я помню и никогда не забыть его, если не забудешь только год рождения Л.Н.Толстого: 2,17, два раза по г. р. Л.Н.Т, половина прямого угла, прямой угол и ещё половина, т.е. е= 2,1718281828459045. А вот "пи" труднее запоминается...
Цитата: _Swetlana от ноября 23, 2017, 16:46
А вот нет.
pi^(1/100)-exp(1)^(1/100)
ans = 0.0014629
В Матлабе? Или каким-то образом в Октаве? Собственно для практической психофизики такая точность ни к чему...
А вот exp(θ)=1/θ до какого знака следует (достаточно) вычислять, чтобы соблюдалось уравнение lnθ=-θ при θ=0,56714329040978400 ?
В Октаве.
Так это почти одно и тоже. Можно сказать, что Октава - это матлаб онлайн.
Цитата: _Swetlana от ноября 23, 2017, 22:23
В Октаве.
Так это почти одно и тоже. Можно сказать, что Октава - это матлаб онлайн.
Всё никак времени не выберу познакомиться с Октавой. Насколько сложно её освоить, стоит ли тратить время? Но вижу: весчь хорошая и полезная! Матлаб самостоятельно, методом тыка без всяких пояснений — не понра... :(
Правда это года три тому было и интересовался просто из любопытства.
Октава — МатЛаб онлайн, Вольфрам|Альфа — Математица онлайн, а что там у Мапла?
pomogosha, у вас есть гугль-почта? Если есть, начните прямо сейчас.
Octave. Урок 1. Начало работы (http://lingvoforum.net/index.php/topic,90723.0.html)
Цитата: _Swetlana от ноября 24, 2017, 15:20
начните прямо сейчас.
Прочь сомненья и забавы, и беритесь за Октаву! :)
Прочь забвенье и отраву, и беритесь за Октаву!
;D
Не могу решить одну задачку. Для литья керамики используют гипсовые формы. Для вычисления времени литья (то есть за какой промежуток времени глина наберет в форме необходимую толщину) используют весьма мудреные расчеты. Однако один приехавший для установки оборудования турок поделился простенькой формулой
Т=(L12/L22)x60, где L1 - стандартная толщина стенок сосуда, L2 - толщина, полученная в результате пробной заливки, 60 - время пробной заливки в минутах.
Проблема в том, что эта формула никак не учитывает влажность гипсовой формы. То есть пробная форма простенькой конфигурации и высыхает быстро, а остальные сложной и высыхают намного дольше. Эта влажность сильно влияет на впитываемость влаги гипсом из шликера. То есть за вычисленное пробной заливкой время не получается достичь нужной толщины стенок. Как учесть эту разницу?
Советы сделать пробную форму такой же как и остальные не помогут. Там большой разнобой в моделях.
Может, это пригодится. Стр. 15, ЛАБОРАТОРНАЯ РАБОТА № 3 (http://window.edu.ru/resource/695/75695/files/Metodceramics.pdf)
Цитата: Bhudh от мая 1, 2019, 04:17
Вот этот расчёт (https://lingvoforum.net/index.php?topic=67471.msg3268991#msg3268991)? А что там именно решить надо было?
Формулы там даны, для учёта влажности формы надо проводить натурные испытания, как-то мерять эту влажность.
В простом случае время умножается на какой-то постоянный коэффициент > 1, в более сложном он будет функцией от времени и площади. Более без опыта сказать ничего нельзя. :donno:
Влажность измеряют прибором. Как может помочь коэффициент? И как его вычислить? Есть совет? Я сделаю все, что надо.
Примерно все это выглядит так: есть гипсовая кружка, в которую заливают шликер. По идее она должна быть одной влажности с формами, но на практике этого невозможно достичь по разным причинам. Пробное литье в формы тоже невозможно, ибо это линия, в которой шликер на все формы подается одновременно. Что-то вроде этого, но проще, конечно, кустарнее :)
(http://xn--b1aecnthebc1acj.xn--p1ai/uploads/36(1657)/9-%D1%83%D0%BD%D0%B8%D1%82%D0%B0%D0%B7%D1%8B-%D0%BF2-min.jpg)
Вот эту разницу во влажности формулы не учитывают. Из-за чего стенки изделий получаются толще или тоньше необходимой толщины. Шликер оседает в формах не одинаково с кружкой из-за разницы во впитываемости влаги гипсом.
Bhudh, вот скрин из ссылки выше (лаб. работа).
(https://cdn1.savepice.ru/uploads/2019/5/1/bb1d899a5b83524547e87916c0497c63-full.png)
Это простая и понятная формула. Но я хочу добавить к ней зависимость от влажности. Но не понимаю как.
Цитата: true от мая 1, 2019, 12:44
Это простая и понятная формула.
Не очень понятно вообще-то. Почему, если вверху время под корнем (и размерность коэффициента указана соответствующая), в формуле для времени не появился квадрат? Хотя вообще там, НЯП, сама эта степень в формуле - какая-то чисто эмпирическая.
Цитата: true от мая 1, 2019, 06:57
Примерно все это выглядит так: есть гипсовая кружка, в которую заливают шликер. По идее она должна быть одной влажности с формами, но на практике этого невозможно достичь по разным причинам.
Ладно, невозможно достичь одинаковой влажности с формами. Но можно ли специально для опыта приготовить несколько таких кружек разной влажности в пределах такой, какая в реальности встречается у форм, и эту разную влажность достаточно точно измерить? Потом сделать пробные отливки и обработать результаты, и в результате, например, нарисовать кривую зависимости К от влажности. Ну нет тут никаких других вариантов кроме такого, эмпирического - хотя бы поскольку изначальная формула сама эмпирического происхождения.
Цитата: Toman от мая 1, 2019, 13:13
Но можно ли специально для опыта приготовить несколько таких кружек разной влажности в пределах такой, какая в реальности встречается у форм, и эту разную влажность достаточно точно измерить? Потом сделать пробные отливки и обработать результаты, и в результате, например, нарисовать кривую зависимости К от влажности
Запросто. Я ж говорю - скажите что и я сделаю.
Цитата: true от мая 1, 2019, 19:37
Запросто. Я ж говорю - скажите что и я сделаю.
Ну так я ж фактически уже сказал, что: сделать несколько кружек разной влажности и точно измерить оную, а потом сделать в них пробные отливки, в простейшем случае в течение одинакового времени, в более сложном (если нет уверенности в самой приведённой формуле и показателе степени в ней, и хочется проверить конкретно для своих материалов и условий) - для нескольких (2-3) разных времён, и замерить толщину получившихся отливок. Дальше по полученным данным делать интерполяцию - хоть вручную, или каким-нибудь расчётным методом, это уже в принципе не принципиально. Это будет уже в принципе готовый к практическому применению график реальных экспериментальных данных. А потом можно пробовать разные нехитрые функции для приближения получившегося графика, исходя из того, как он вообще будет выглядеть.
(Да, а толщина кружек для пробных отливок примерно такая же, как у рабочих форм? Если нет, то задача радикально усложняется, и вообще не факт, что практически разрешима).
Как доказать, что для любого нерационального элемента поля Q[x1,x2,...,xn] всегда существует изменяющая его перестановка иксов???
Кроме этой фигни все теорию Галуа реконструировал. Эта хрень ну никак не дается. В принципе это самая суть и самое сложное в теории Галуа. У нее нетривиальные следствия. Например, если x1x2+x3x4 рационально, то вообще любое f(x1)f(x2)+f(x3)f(x4) тоже рационально.
Какой алгоритм проще?
(wiki/ru) Задача_о_кратчайшем_пути#%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B (https://ru.m.wikipedia.org/wiki/%D0%97%D0%B0%D0%B4%D0%B0%D1%87%D0%B0_%D0%BE_%D0%BA%D1%80%D0%B0%D1%82%D1%87%D0%B0%D0%B9%D1%88%D0%B5%D0%BC_%D0%BF%D1%83%D1%82%D0%B8#%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B)
Цитата: Karakurt от августа 24, 2021, 22:58
Какой алгоритм проще?
(wiki/ru) Задача_о_кратчайшем_пути#%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B (https://ru.m.wikipedia.org/wiki/%D0%97%D0%B0%D0%B4%D0%B0%D1%87%D0%B0_%D0%BE_%D0%BA%D1%80%D0%B0%D1%82%D1%87%D0%B0%D0%B9%D1%88%D0%B5%D0%BC_%D0%BF%D1%83%D1%82%D0%B8#%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B)
Если граф не взвешенный, то поиск в ширину. Если граф взвешенный, то Дейкстра. Если граф взвешенный с возможными отрицательными рёбрами, то Беллман — Форд. Все эти алгоритмы могут работать с ориентированными и неориентированными графами.
Цитата: kemerover от августа 24, 2021, 23:25
Все эти алгоритмы могут работать с ориентированными и неориентированными графами.
Неправда.
Все алгоритмы (кроме поиска в ширину на невзвешенном графе) работают с ОРГРАФАМИ.
И не все эти алгоритмы переносятся на неориентированные графы. Это связано с тем, что при расщеплении неориентированного ребра на пару противоположно направленных дуг образуется орцикл. Если ребро имело отрицательный вес, то образуется контур отрицательного веса. Таким образом, на неориентированные графы переносится только алгоритм Дейкстры. А алгоритмы Форда-Беллмана и Флойда применимы только для неор. графов без отрицательных весов.
Цитата: Karakurt от августа 24, 2021, 22:58
Какой алгоритм проще?
(wiki/ru) Задача_о_кратчайшем_пути#%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B (https://ru.m.wikipedia.org/wiki/%D0%97%D0%B0%D0%B4%D0%B0%D1%87%D0%B0_%D0%BE_%D0%BA%D1%80%D0%B0%D1%82%D1%87%D0%B0%D0%B9%D1%88%D0%B5%D0%BC_%D0%BF%D1%83%D1%82%D0%B8#%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC%D1%8B)
Самый простой - алгоритм Флойда. Кроме тройного цикла там ничего нет. И граф хранится в двумерном массиве весов.
И получаем сразу длины кратчайших путей между всеми парами вершин.
Ещё одно замечание. Сам кратчайший путь выдаёт только поиск в ширину. Дейкстра, Форд-Беллман и Флойд дают на выход матрицу расстояний. А по этой матрице расстояний уже восстанавливается сам кратчайший путь. Сразу скажу, что если в графе есть орциклы нулевого веса, то стандартная процедура восстановления пути (которая приводится во всех учебниках) может зациклиться. Когда у меня это случилось, я была в шоке. Не пишут в учебниках всю правду ;D Так что восстановление пути нужно писать отдельно и самому, считать, сколько раз была посещена вершина. Если больше двух - всё, попали в цикл.
Цитата: _Swetlana от августа 25, 2021, 00:44
Неправда.
Все алгоритмы (кроме поиска в ширину на невзвешенном графе) работают с ОРГРАФАМИ.
И не все эти алгоритмы переносятся на неориентированные графы. Это связано с тем, что при расщеплении неориентированного ребра на пару противоположно направленных дуг образуется орцикл. Если ребро имело отрицательный вес, то образуется контур отрицательного веса. Таким образом, на неориентированные графы переносится только алгоритм Дейкстры. А алгоритмы Форда-Беллмана и Флойда применимы только для неор. графов без отрицательных весов.
Вроде алгоритм Беллмана — Форда детектирует отрицательные циклы и отлично с ними справляется. Если же надо найти кратчайший
простой путь (то есть, в котором каждая вершина встречается максимум один раз), то тут он не подойдёт, но это и задача другая. Для неё вроде каких-то классических алгоритмов нету, разве что перебором решать или лезть в какие-то учебники и журналы.
Мне, оказывается, нужно было такое:
Есть кучка муравьев, нужно чтобы они как можно быстрее дошли до конца. Алгоритм - поиск в ширину.
https://www.youtube.com/watch?v=d5b5Xp5Ikuw
Цитата: kemerover от августа 25, 2021, 01:54
Цитата: _Swetlana от августа 25, 2021, 00:44
Неправда.
Все алгоритмы (кроме поиска в ширину на невзвешенном графе) работают с ОРГРАФАМИ.
И не все эти алгоритмы переносятся на неориентированные графы. Это связано с тем, что при расщеплении неориентированного ребра на пару противоположно направленных дуг образуется орцикл. Если ребро имело отрицательный вес, то образуется контур отрицательного веса. Таким образом, на неориентированные графы переносится только алгоритм Дейкстры. А алгоритмы Форда-Беллмана и Флойда применимы только для неор. графов без отрицательных весов.
Вроде алгоритм Беллмана — Форда детектирует отрицательные циклы и отлично с ними справляется. Если же надо найти кратчайший простой путь (то есть, в котором каждая вершина встречается максимум один раз), то тут он не подойдёт, но это и задача другая.
1. Сам алгоритм Форда-Беллмана не детектирует отрицательные циклы. Он за n-1 итерацию формирует вектор расстояний. Если к нему что-то ещё дописать, тогда, конечно, будет. Есть такая вещь, называется корректная математическая постановка. Вот для Ф.-Б. она звучит так: задан орграф без контуров отрицательного веса и вершина-источник. Результат работы: вектор расстояний от источника до всех вершин графа.
То есть вначале проверь граф на наличие отрицательных контуров, а затем запускай поиск кратчайшего пути.
С отрицательными контурами работает один-единственный алгоритм дефекта, который строит в сети циркуляцию минимальной стоимости. И этот контур с отрицательной стоимостью должен иметь ограниченную пропускную способность.
2. Форд-Беллман автоматически находит простые пути без циклов. Потому что в орграфе, с которым он может работать, все контуры имеют положительный вес. Добавление к пути контура положительного веса его удлиняет, поэтому кратчайший путь, найденный Ф.-Б., автоматически не содержит контуров, т.е. в нём нет повторяющихся вершин.
А вот с контурами нулевого веса, как я уже говорила, есть определённые проблемы. Но эти проблемы возникают не на этапе генерации вектора расстояний от источника до всех остальных вершин, а на этапе восстановления пути.