Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.10.2011, 13:29   #1
ivan.tiran
Форумчанин
 
Аватар для ivan.tiran
 
Регистрация: 24.08.2011
Сообщений: 138
По умолчанию Численными методами найти длину кривой y=x^2 на участке от нуля до десяти с шагом 0,001?

Я пишу программу, и поэтому мне нужна чисто формула. То есть, я разбиваю отрезок на определённое количество шагов и подставляю каждый раз этот шаг в формулу (в какую?). В конечном итоге я должен сложить все F(x).
ivan.tiran вне форума Ответить с цитированием
Старый 04.10.2011, 13:49   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Форумала расстояния между двумя точками учится кажется в классе 5-м школы...
p51x на форуме Ответить с цитированием
Старый 04.10.2011, 13:59   #3
ivan.tiran
Форумчанин
 
Аватар для ivan.tiran
 
Регистрация: 24.08.2011
Сообщений: 138
По умолчанию

Вы меня точно насмех хотите выставить. Я не такой идиот и знаю, как найти расстояние между точками. Мне нужно не расстояние, а принцип по которому можно найти длину дуги. В какую формулу я должен в цикле каждый раз подставлять x(i)?
ivan.tiran вне форума Ответить с цитированием
Старый 04.10.2011, 14:14   #4
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

в теорему пифагора
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 04.10.2011, 14:16   #5
Guy
Форумчанин
 
Регистрация: 15.12.2010
Сообщений: 398
По умолчанию

от х до у

double sum=0;
for(int i=x; i < y; i += 0.001)
{
sum += i*i;
}
Guy вне форума Ответить с цитированием
Старый 04.10.2011, 14:26   #6
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Цитата:
Сообщение от Guy Посмотреть сообщение
от х до у

double sum=0;
for(int i=x; i < y; i += 0.001)
{
sum += i*i;
}
Извините конечно, но написали вы бред полный
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 04.10.2011, 14:45   #7
Guy
Форумчанин
 
Регистрация: 15.12.2010
Сообщений: 398
По умолчанию

мотивируй___
Guy вне форума Ответить с цитированием
Старый 04.10.2011, 14:46   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Вы меня точно насмех хотите выставить. Я не такой идиот и знаю, как найти расстояние между точками. Мне нужно не расстояние, а принцип по которому можно найти длину дуги.
боюсь сморозить глупость, но всё же напишу...

дело в том, что, имхо, вам шаг дан как раз для того, чтобы не искать длину дуги, на разбить дугу на бесконечно малые участки, и посчитать длину каждого участка, считая её ПРЯМОЙ линией. координаты линии Xi и X(i+1),
где X(i+1) := Xi + 0.001;
Yi := F(Xi)
Y(i+1) := F(X(i+1))
ну, думаю, как найти расстояние рассказывать не надо...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 04.10.2011, 16:20   #9
JUDAS
фонатик DELPHI
Форумчанин
 
Аватар для JUDAS
 
Регистрация: 14.01.2008
Сообщений: 714
По умолчанию

ivan.tiran, начнём с математики, как пишет один из участников дискусии.
Цитата из учебника Ильина.
Цитата:
Если кривая L является графиком функции f(x), имеющей на сегменте [a,b] непрерывную производную f'(x)
производная от y=x^2 вроде бы как 2x. Соотвественно длина линии на участке 0..x = банальный результат l=2x
Если Вам нужно площать, в первообразную = 2*x^3 подставье 2 значения и найдите разницу.
---------
+ а если Вы сделаете
Цитата:
я должен сложить все
то получите площадь между графиком функции и осью X в пределах Хo Xn
95% сбоев и ошибок приложений, находится в полу метрах от монитора
JUDAS вне форума Ответить с цитированием
Старый 05.10.2011, 08:26   #10
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,876
По умолчанию

Первообразная будет (x^3)/3 и она суть метода вычисления площади методом интегралов, вычисление же численными методами (вкупе с условием шага) предполагает метод итераций. Производную тоже не стоит, метод всё же другой
Длину дуги , как правильно сказал Serge_Bliznykov, необходимо искать в цикле, примерно таком :
Код:
const 
  stp = 0.001;
var
  x0, x1, x, xt, s : double;
...
function myF(ax : double):double;
begin
result := ax*ax;
end;
...
//получим  x0 и x1
x := x0;
s := 0;
while x <=x1 do
  begin
  xt := x + stp;
  s := s+sqrt(sqr(xt-x)+sqr(myf(xt)-myf(x)));
  x := xt;
  end;
...
writeln('длина = ',s);
Guy там ведь действительно по теореме Пифагора надо вычислять, а у Вас не то
phomm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение систем линейных уравнений численными методами. Spyke Паскаль, Turbo Pascal, PascalABC.NET 7 02.10.2011 17:46
создание программы для вычисления функции (численными методами) DANATER Помощь студентам 9 22.02.2011 18:54
найти положение нуля в матрице С++ Guzal Общие вопросы C/C++ 3 22.10.2010 07:29
найти длину кратчайшего цикла в графе Petruha-nsk Общие вопросы C/C++ 4 13.05.2009 17:08
как найти длину последней подстроки в паскале Artem1987 Помощь студентам 1 27.12.2007 18:17