Вверх ↑
Этот топик читают: Гость
Ответов: 1397
Рейтинг: 50
#1: 2008-01-16 09:04:13 ЛС | профиль | цитата
Вопрос заключается в следующем. Необходимо написать формулу построения прямой линии в графике по двум известным точкам. Например, первая точка x=0,1 y=10, вторая точка x=5, y=90. То есть формула должна выглядеть примерно так a*x*y.
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 9906
Рейтинг: 351
#2: 2008-01-16 10:22:35 ЛС | профиль | цитата
Валерий писал(а):
формулу построения

Мой лексический парсер отказывается принимать такую конструкцию
"Построение" - есть какое-то действие (program)
Которое может состоять из какого-то количества каких-то элементарных действий (statment)
Элементарное действие может требовать данные, вычисляемые по какой-то формуле (expression)

Так чего надо-то
карма: 9

0
Ответов: 8958
Рейтинг: 824
#3: 2008-01-16 10:24:19 ЛС | профиль | цитата
Валерий, в каком классе учитесь?
Y = (Y2-Y1)*X/(X2-X1) + (X2*Y1 - X1*Y2)/(X2 - X1)
карма: 19

0
Ответов: 1397
Рейтинг: 50
#4: 2008-01-16 12:55:30 ЛС | профиль | цитата
Galkov писал(а):
Мой лексический парсер отказывается принимать такую конструкцию


code_8156.txt
Леонид, неужели Вы помните формулу по памяти?
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
файлы: 1code_8156.txt [747B] [192]
Ответов: 5446
Рейтинг: 323
#5: 2008-01-16 14:10:07 ЛС | профиль | цитата
Валерий, даже если и не помнит - вывод занимает не более минуты.
------------ Дoбавленo:

P.S. Как любит говорит самый страшный препод нашей кафедры, главное для физика не знать что-либо (формулу, значение, ...), а знать, откуда это взять.
карма: 1

0
Ответов: 9906
Рейтинг: 351
#6: 2008-01-16 14:13:11 ЛС | профиль | цитата
1) Дык и сказал бы сразу:
Формула, которая по известному X вычисляет Y, чтобы точка {X,Y} лежала на прямой, которая проходит через известные точки {X1,Y1}, {X2,Y2}
Случай "вертикальной" прямой (X1=X2) - не рассматриваем

Хотя тоже, получилось лишнее доказательство того, что схема (как предназначенная для абсолютно формального парсера) устраняет практически любые неоднозначности...

2) Так помнить не трудно, если это не "буковки", а смысл.
Например такой: z-координата векторного произведения (R-R1)X(R2-R1) должна быть равна 0.
Дешево и сердито.
Остальное все автоматически за 2 минуты.
А "буковки", так и я запоминать не умею
------------ Дoбавленo:

iarspider писал(а):
а знать, откуда это взять

Пень он.
Главное - владеть Пониманием ситуации (с большой буквы - обязательно)
карма: 9

0
Ответов: 8958
Рейтинг: 824
#7: 2008-01-16 14:19:45 ЛС | профиль | цитата
Валерий,
iarspider писал(а):
вывод занимает не более минуты
без бумажки
На экзаменах по математике (сдавал и за себя и за друзей) коронный номер был вывод тригонометрических формул на глазах экзаменатора (я их и так помнил, да и сейчас почти все помню) - рисовал оси, окружность и два угла, 5 секунд делал вид, что думаю и выдавал формулу - преподаватели это любят, 5 баллов обеспечено
карма: 19

0
Ответов: 9906
Рейтинг: 351
#8: 2008-01-16 14:21:53 ЛС | профиль | цитата
Довольно просто, если помнить, что косинус и синус - это координаты комплексной экспоненты
карма: 9

0
Ответов: 1397
Рейтинг: 50
#9: 2008-01-16 17:39:28 ЛС | профиль | цитата
Леонид писал(а):
Валерий, в каком классе учитесь?

Ладно смеяться. Спасибо.
Но есть и вторая задача, посложней. Чтобы не плодить топики пишу тут. Необходимо построить по нескольким точкам уже не прямую, а линию вида Y=a*X^2? минимум сколько точек необходимо для построения?
Только не спрашивайте про классы
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 9906
Рейтинг: 351
#10: 2008-01-16 17:41:02 ЛС | профиль | цитата
Валерий писал(а):
линию вида Y=a*X^2

Одна ненулевая, если парабола через {0,0} проходит
Если нет - читай выше про постановку задачи
карма: 9

0
Ответов: 1397
Рейтинг: 50
#11: 2008-01-16 17:49:07 ЛС | профиль | цитата
Через ноль проходит, точки такие:
Х1=10; Y1=50
Х2=20; Y2=80
X3=30; Y3=150
Х4=100; Y4=1070
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 9906
Рейтинг: 351
#12: 2008-01-16 20:22:07 ЛС | профиль | цитата
Это не есть парабола вида Y=a*X^2
И через 0 это не проходит
Первым трем точкам соответствует: Y = 0.2* X^2 - 3*X + 60
А Y4=1760, при этом

Так что -- не надо нас дурить
------------ Дoбавленo:

Вобщем, на тебе общую формулу, и считай хоть 10-й степени полиномы:
Y = Y1*(X-X2)*(X-X3)/(X1-X2)/(X1-X3) + Y2*(X-X1)*(X-X3)/(X2-X1)/(X2-X3) + Y3*(X-X1)*(X-X2)/(X3-X1)/(X3-X2)

карма: 9

0
Ответов: 1397
Рейтинг: 50
#13: 2008-01-16 21:05:22 ЛС | профиль | цитата
Galkov писал(а):
Так что -- не надо нас дурить

Ну делать мне не чего, только дурить
Просто эта кривая (парабола) получена экспериментальным путем и я хочу ее привязать к формуле, т.е. найти какую то зависимость. Вполне возможно полного совпадения и не будет. Но кривая начинается с нуля это точно. Спасибо за формулу, будет возможность пошевелить извилинами
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 2125
Рейтинг: 159
#14: 2008-01-16 22:25:27 ЛС | профиль | цитата
Валерий писал(а):
кривая (парабола) получена экспериментальным путем

Если не учитывать, что первая точка чуток выше кривой, то у меня получается 0.607*Х^1.623

карма: 1

0
Ответов: 9906
Рейтинг: 351
#15: 2008-01-16 23:06:16 ЛС | профиль | цитата
Ну получить-то -- чего хочешь можно

А "классика" состоит в следующем:

1) Считают пары значений {Xi, Yi/Xi}

2) Получают такое

{ 10,  5}
{ 20, 4}
{ 30, 5}
{100,10.7}
3) Далее, по теории, находят коэффициенты линейной регрессии (методом наименьших квадратов)

4) Но как-то не очень смахивает это прямую, проходящую через ноль.
Шеф бы сказал: иди заново все эксперименты делай -- и не морочь мне голову этой ерундой
карма: 9

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)