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

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

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

 
 Ответить  Открыть новую тему 
> Помогите решить задачу по физие в Pascal, впринципе нужно решить только уравнение
Casatik
сообщение 23.11.2008 10:35
Сообщение #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 
 К началу страницы 
+ Ответить 
Lapp
сообщение 23.11.2008 12:48
Сообщение #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 
 К началу страницы 
+ Ответить 
Casatik
сообщение 23.11.2008 14:42
Сообщение #3





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

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


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


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

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

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


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

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

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


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





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

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


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


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

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

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


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

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


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

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

 



- Текстовая версия 20.07.2025 18:43
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"