Страница 2 из 4

вопрос между физикой и программированием

Добавлено: 01 фев 2012, 21:16
NT
return (z*z*cos(phi/2)*cos(phi/2)-z*dy*sin(phi)+(dy*dy-y*y)*sin(phi/2)*sin(phi/2))*exp(-1/(2*a)*(sqrt((x+dx)*(x+dx)+(y+dy)*(y+dy)+z*z)+sqrt((x-dx)*(x-dx)+(y-dy)*(y-dy)+z*z)));


$$\displaystyle  f=( z^2\cos^2{\frac{\varphi}{2}} - {z}\Delta y \sin{\varphi} \ +$$
$$\displaystyle (\Delta y^2-y^2)\sin{\frac{\varphi}{2}}{e}^{-\frac{1}{2a}}(\sqrt{(x+\Delta x)^2+(y+\Delta y)^2+z^2}+\sqrt{(x-\Delta x)^2+(y-\Delta y)^2+z^2}})$$
Переписал вашу "Подинтегральную функцию".
Это она?

1. Проверьте это верно записано?
$$\displaystyle (\Delta y^2-y^2) ...$$

2. И аргументы под радикалами,
корни у вас должны возвращаться толко положительные или плюс/минус?

PS.Проверить значит - не в программе, а в физической формуле.
Например, в программе машина вычисляет корень только положительный.
А в физической формуле как надо ?
Надеюсь вы меня поняли.

вопрос между физикой и программированием

Добавлено: 01 фев 2012, 21:39
laplas
NT писал(а):Source of the post
return (z*z*cos(phi/2)*cos(phi/2)-z*dy*sin(phi)+(dy*dy-y*y)*sin(phi/2)*sin(phi/2))*exp(-1/(2*a)*(sqrt((x+dx)*(x+dx)+(y+dy)*(y+dy)+z*z)+sqrt((x-dx)*(x-dx)+(y-dy)*(y-dy)+z*z)));


$$\displaystyle  f=( z^2\cos^2{\frac{\varphi}{2}} - {z}\Delta y \sin{\varphi} \ +$$
$$\displaystyle (\Delta y^2-y^2)\sin{\frac{\varphi}{2}}{e}^{-\frac{1}{2a}}(\sqrt{(x+\Delta x)^2+(y+\Delta y)^2+z^2}+\sqrt{(x-\Delta x)^2+(y-\Delta y)^2+z^2}})$$
Переписал вашу "Подинтегральную функцию".
Это она?

1. Проверьте это верно записано?
$$\displaystyle (\Delta y^2-y^2) ...$$

2. И аргументы под радикалами,
корни у вас должны возвращаться толко положительные или плюс/минус?



вот она

$$\displaystyle {f=( z^2\cos^2{\frac{\varphi}{2}} - {z}\Delta y \sin{\varphi} \ +}$$
$$\displaystyle (\Delta y^2-y^2)\sin^2{\frac{\varphi}{2}}){e}^{-\frac{1}{2a}(\sqrt{(x+\Delta x)^2+(y+\Delta y)^2+z^2}+\sqrt{(x-\Delta x)^2+(y-\Delta y)^2+z^2})}}}$$

вопрос между физикой и программированием

Добавлено: 01 фев 2012, 21:49
NT
Да вы правы - еще раз посмотрел код и поправил.

Upss ...

$$\displaystyle  f=( z^2\cos^2{\frac{\varphi}{2}}-{z}\Delta y \sin{\varphi}+(\Delta y^2-y^2)\sin^2{\frac{\varphi}{2}}){e}^{-\frac{1}{2a}(\sqrt{(x+\Delta x)^2+(y+\Delta y)^2+z^2}+\sqrt{(x-\Delta x)^2+(y-\Delta y)^2+z^2})}$$

PS. А по пункту 2 ?

вопрос между физикой и программированием

Добавлено: 01 фев 2012, 22:11
laplas
спасибо, да в формуле вроде правильно) корни это модуль радиус-вектора

вопрос между физикой и программированием

Добавлено: 02 фев 2012, 00:07
NT
Rectangle method
$$\displaystyle \int_a^b f(x)\,dx \approx h \sum_{n=0}^{N-1} f(x_{n}) $$
...
For a function f which is twice differentiable, the approximation error in each section (a,a + Δ) of the midpoint rule decays as the cube of the width of the rectangle. (For a derivation based on a Taylor approximation, see Midpoint method)
$$\displaystyle    E_i \le \frac{\Delta^3}{24}\,f''(\xi) $$ ...


У вас это так запрограммировано:

$$\displaystyle   \int=\frac{h^3}{32\pi a^5} \sum \limits_{i=1}^n\sum \limits_{j=1}^n\sum\limits_{k=1}^nf( a + h * (i - 0.5), a + h * (j - 0.5),a + h * (k - 0.5), m )$$



Проверил программу и вышло:

Вызов интеграла:
integral=rectangle_integrate(-1,1,100,f);
с параметрами
a = -1; b = 1; n = 100;
и ввод параметра например m=3
даёт :
шаг h=0.02 и интеграл : The value of the integral is: -0.001748

вопрос между физикой и программированием

Добавлено: 02 фев 2012, 10:12
NT
По программе знак интеграла определяется этим множителем :
$$\displaystyle  \displaystyle   \int=\frac{h^3}{32\pi a^5} ...$$
а точнее :
$$\displaystyle   \frac{(b-a)^3}{32\pi a^5n^3} $$

отсюда для заданных параметров :
$$\displaystyle  a = -1; \\  \tab b = 1; \\  \tab n = 100; $$
получается отрицательная величина.

вопрос между физикой и программированием

Добавлено: 04 фев 2012, 07:45
Сан Иваныч
СергейП писал(а):Source of the post Видимо 3.14 это пи такое

В math.h есть константа M_PI.

вопрос между физикой и программированием

Добавлено: 04 фев 2012, 12:38
k1ng1232
Сан Иваныч писал(а):Source of the post
СергейП писал(а):Source of the post Видимо 3.14 это пи такое

В math.h есть константа M_PI.

не вижу смысла ее использовать, если это просто макрос, если 2ух знаков хватает то ее использование нерационально

вопрос между физикой и программированием

Добавлено: 04 фев 2012, 15:34
YURI
k1ng1232 писал(а):Source of the post не вижу смысла ее использовать, если это просто макрос, если 2ух знаков хватает то ее использование нерационально

Тогда уж нужно было для порядка воспользоваться директивой define:

Код: Выбрать все

#define PI 3.14

вопрос между физикой и программированием

Добавлено: 04 фев 2012, 19:04
Сан Иваныч
k1ng1232 писал(а):Source of the post не вижу смысла ее использовать, если это просто макрос, если 2ух знаков хватает то ее использование нерационально

Точность не важна? Тогда можно просто const BYTE pi = 3. Один байт. И память сэкономится...