IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Помогите решить задачу по физие в Pascal, впринципе нужно решить только уравнение
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 4
Пол: Мужской
Реальное имя: Иван

Репутация: -  0  +


Условие задачи: На дно сферы радиусом R=0.2 м насыпали горсть песка. Определить, где будут находиться песчинки после того, как сферу привели во вращение вокруг вертикальной оси с угловой скоростью w=10*Pi. Коэфициент трения песчинок о дно сферы принять равным m=0,01.
Всё решение задачи сводится к уравнению: 9.8*((sinx+m*cosx)/(cosx-m*sinx))-(w^2)*R*sinx=0.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


А в чем, собственно, загвоздка?
Вот решение методом простой дихотомии. Если не разберешься, спрашивай.

const
e = 0.000000001; // precision
R = 0.2;
w = 10*Pi;
m = 0.01;

function f(x:real):real;
begin
f:=9.8*((sin(x)+m*cos(x))/(cos(x)-m*sin(x)))-(w*w)*R*sin(x)
end;

var
x,y,x1,x2: real;
i:integer;

begin
x1:=0;
x2:=Pi/2;
x:=x1;
while x<x2 do begin
WriteLn('x=',x:8:3,' f=',f(x):8:3);
x:=x+0.1
end;
i:=0;
repeat
Inc(i);
x:=(x1+x2)/2;
y:=f(x);
if f(x)*f(x1)>0 then x1:=x else x2:=x
until Abs(y)<e;
WriteLn('Solution: x=',x:12:9,' f(x)=',y:12:9,' iterations: ',i);
ReadLn
end.


Добавлено через 1 мин.
Я там еще оставил распечатку значений функции с шагом 0.1. Делал для прикидки, чтоб понять общий ход функции, а потом не убрал..


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





Группа: Пользователи
Сообщений: 4
Пол: Мужской
Реальное имя: Иван

Репутация: -  0  +


Загвоздка заключается в том, что я не могу вычислить угол на который поднимутся песчинки. Зная угол можно очень легко и просто вычислить длину дуги по которой поднимаются песчинки.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Casatik @ 23.11.2008 14:42) *
Загвоздка заключается в том, что я не могу вычислить угол на который поднимутся песчинки. Зная угол можно очень легко и просто вычислить длину дуги по которой поднимаются песчинки.

Погоди. Это что ли уже физика начинается? Ты попросил решить уравнение, я это сделал. Что еще? Я даже не вникал в физику - ты же сам сказал, что это не нужно. Более того, я даже не знаю, что такое x - угол или еще что-то.. Для меня это просто неизвестная в уравнении.

Этот раздел - Паскаль, Задачи.
Если тебе неясны физические стороны процесса - иди в соответствующий раздел.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5





Группа: Пользователи
Сообщений: 4
Пол: Мужской
Реальное имя: Иван

Репутация: -  0  +


Извините, я наверно не правильно выразился. Ситуация такая: я решил задачу по физике и пришёл к уравнению данного вида. Теперь мне необходимо принять полученное выражение за функцию f(x) и найти численное значение х. Осталось лишь произвести арифметическое вычисление, никакой физики. Не вижу разницы между тем, как обозначить неизвестную переменную - х или другой буквой латинского алфавита.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Casatik @ 23.11.2008 15:52) *
Теперь мне необходимо принять полученное выражение за функцию f(x) и найти численное значение х.

Ничего не понимаю. Но я же тебе это сделал! Нашел x.
Совершенно не понимаю, что ты имеешь в виду.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.03.2024 8:23
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name