Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.23;
Скачать: CL | DM;

Вниз

Математика для программиста   Найти похожие ветки 

 
TUser ©   (2006-03-28 15:11) [80]

> Думкин ©   (28.03.06 14:33) [79]

Собственно, люди, полагающие, что им не нужна математика, обычно думают примерно так - "да, на бумажке посчитать, там надо думать об оптимальности, а сегодня неоптимальность моего алгоритма компенсируется мощностью процессоров". Что является логическим заблуждением.


 
Paul_K ©   (2006-03-28 16:50) [81]


> Юрий Зотов ©   (28.03.06 14:25) [78]
> И я в упор не понимаю, как
> можно научиться читать, не выучив сначала букв.

А программы для чтения текста? :) существуют дже они, разработаны  умными  дядьками. Специально для тех кто букв учить не хочет


 
Думкин ©   (2006-03-28 18:28) [82]

> TUser ©   (28.03.06 15:11) [80]

Согласен. Но это вершина айсберга. Во многих вещах и мощь процессора не поможет. Результат может быть совсем далек от верного.
Как это ни покажется странным, но наблюдал баталии такого свойства: люди используют равные модели математические, потом строят расчетные модели (вроде как близкие) и получают далекие друг от друга результаты, и потом бодаются - как правило это из-за низкой общей подготовки. Они пытаются вложиться в расчеты раньше, чем исследовать соответствие моделей, корректность и т.п. Лишь бы что-то получить.
Имея один вектор получаем другой. И многие считают, что этого достаточно. Если не очень - то увеличим число точек. А то, что при этом можем удалятся от решения и невдомек. Хотя вроде бы все пучком. А в чем непучковость - тут на пальцах не всегда объяснишь.


 
TUser ©   (2006-03-28 18:33) [83]

> Если не очень - то увеличим число точек. А то, что при этом можем удалятся от решения и невдомек.

Примерно говоря так. Все что угодно можно аппроксимировать полиномом сотой степени. Только такая чушь получается. Счастлив, что работаю под руководством людей, которые это понимают и могут мне объяснить.


 
Думкин ©   (2006-03-28 18:50) [84]

> TUser ©   (28.03.06 18:33) [83]

Ну или так:
1. Имеем потенциальное обтекание осесиметричного эллипсоида. Найти распределение скоростей жидкости на нем. Задача имеет решение выписываемое в квадратурах.
2. Поробуем рассчетом получить. Строим модель считаем. Нечто получаем. Можем сравнить с точным ответом. Не подошло - ищем дальше.
3. Потом полученное прилагаем к обтеканию клина (в осесимметричном не знаю, есть ли решение в квадратурах, но все рассуждения можно к плоскому случаю свести - там точно есть). Если не сходится - можем подгонять метод дальше.
4. Дано произвольное осесимметричное тело. Получим результат. Где гарантия, что то, что мы получили близко к точному решению? И что увеличивая число точек мы все больше и больше приближаемся в какой-нибудь норме в определенном пространстве к точному решению? Исходя из метода применямого в 2-3 - у нас такой гарантии нет.
5. Гарантия может быть получена или очерчены границы построенного метода, но для этого и нужны приемы далеко выходящие за начальные рамки. К сожалению, понимание этого есть не у многих, даже тех кто вроде в этом.


 
SkyRanger ©   (2006-03-29 01:03) [85]

Но опять же, надеюсь, спорить никто не будет, что нужно не только и сколько изучить "алфавит". Но и еще и "буковки" писать???
У нас же ситуация такая. Человек вызубривает "буковки" и кое как умеет их "писать".

Я за то чтобы было больше РЕАЛЬНЫХ практических задач.

К примеру тот же пресловутый красивый график построить. Не только математически, но и прогу написать. Хотя бы на Си или на Паскале используя Graph модуль...


 
Думкин ©   (2006-03-29 05:10) [86]

> SkyRanger ©   (29.03.06 01:03) [85]

Лично я, в выражаемой вами позиции совершенно запутался. Кто на ком сидел - так и не понял.


 
Думкин ©   (2006-03-29 05:20) [87]

А недостатка в РЕАЛЬНЫХ практических задачах и не наблюдается. Куда больше? Например, уменьшить трубное сопротивление при движении воды - для отопления хотя бы. Или взять грунт со дна не сделав воду мутной. Или экологически вменяемую добычу рудного и россыпного золота. И....
И чтобы дешево. Вам еще? Их есть у меня.


 
Думкин ©   (2006-03-29 05:50) [88]

А у вас может ситуация и такая.
Но.... у вас а не у нас(с)


 
Думкин ©   (2006-03-29 05:51) [89]

- Итак, что мы имеем.
- Простите, не мы, а вы. (с Операция Ы)


 
Юрий Зотов ©   (2006-03-29 06:39) [90]

> SkyRanger ©   (29.03.06 01:03) [85]

Слова, слова... поистине велик и могуч русский язык. Ладно, давайте посмотрим, как Ваша позиция будет выглядеть не на словах, а на деле.

Вы хотели построить красивый график? ОК, пусть в результате некоторых измерений получилась вот такая кривая, заданная точками:

X    Y
 0  500
70  335
140  39
210  30
280 183
350 329
420 420
490 466
560 487
630 495
700 498

Задача - построить красивый график этой кривой. Только именно красивый, а не тяп-ляп. Вы же как раз о ней, красоте говорили?

Оси, их оцифровку и прочие бантики можно не рисовать, это вопрос техники и он не интересен. Интересна лишь сама кривая.

Стройте, увидим, что у Вас получится без теории. Результат в виде рисунка можно закинуть хотя бы на WebFile. Потом я закину туда же тот же график, но полученный уже с применением теории. Сравним - увидим, что она дает даже в такой простейшей задаче. Вот тогда и поговорим, чиста канкретна.


 
Юрий Зотов ©   (2006-03-29 06:39) [91]

> SkyRanger ©   (29.03.06 01:03) [85]

Слова, слова... поистине велик и могуч русский язык. Ладно, давайте посмотрим, как Ваша позиция будет выглядеть не на словах, а на деле.

Вы хотели построить красивый график? ОК, пусть в результате некоторых измерений получилась вот такая кривая, заданная точками:

X    Y
 0  500
70  335
140  39
210  30
280 183
350 329
420 420
490 466
560 487
630 495
700 498

Задача - построить красивый график этой кривой. Только именно красивый, а не тяп-ляп. Вы же как раз о ней, красоте говорили?

Оси, их оцифровку и прочие бантики можно не рисовать, это вопрос техники и он не интересен. Интересна лишь сама кривая.

Стройте, увидим, что у Вас получится без теории. Результат в виде рисунка можно закинуть хотя бы на WebFile. Потом я закину туда же тот же график, но полученный уже с применением теории. Сравним - увидим, что она дает даже в такой простейшей задаче. Вот тогда и поговорим, чиста канкретна.


 
Юрий Зотов ©   (2006-03-29 06:40) [92]

Упс... сорри за дубль.


 
SkyRanger ©   (2006-03-29 09:16) [93]

Я "Чиста конкретна" никогда не гворил. Я вообще стараюсь избегать на форуме таких выражений и пальцезагибаний...
Я нигде не говрил о своей крутости и т.д.


 
Думкин ©   (2006-03-29 09:19) [94]

График - пресловутый.
Вы - реально решающий задачи программист.
В чем заминка?


 
Юрий Зотов ©   (2006-03-29 11:01) [95]

> SkyRanger ©   (29.03.06 09:16) [93]

"Чиста конкретна" - это я вставил в шутку. Возможно, неудачную.

Крутость тут тоже ни при чем. Надо всего лишь нарисовать график по заданным точкам, абсолютно ничего крутого в этом нет.

Но график этот должен быть красивым. Не в смысле "с рюшечками, бантиками и всеми цветами радуги", а в смысле "хорошо соответствовать точкам".

И раз уж Вы сами заговорили именно о такой задаче, то почему бы Вам не подтвердить свои слова на практике? Докажите делом, не словами, что хотя бы для этой простейшей задачки математика действительно не нужна.


 
isasa ©   (2006-03-29 12:29) [96]

Юрий Зотов ©   (29.03.06 11:01) [95]
Но график этот должен быть красивым. ... "хорошо соответствовать точкам".


:) т.е. "гладким"


 
Kerk ©   (2006-03-29 12:32) [97]

Юрий Зотов ©   (29.03.06 11:01) [95]
Докажите делом, не словами, что хотя бы для этой простейшей задачки математика действительно не нужна.


Задачка-то хоть и простая, но математическая. И решать математическую задачу без математики... хм.. очень смело. :)


 
isasa ©   (2006-03-29 12:40) [98]

Kerk ©   (29.03.06 12:32) [97]
Задачка-то хоть и простая, но математическая.


Тут есть ньюансы.
Если апроксимировать массив, то да, скорее всего, математика.
Если интерполировать, т.е. проводить гладкую прямую через заданые точки, то - задача визуализации массива на экране ... к математике постольку - поскольку ее использует.

ЗЫ. Гладкая - имеющая непрерывную производную.


 
Jeer ©   (2006-03-29 12:54) [99]

isasa ©   (29.03.06 12:40) [98]

..существование и непрерывность производных до порядка r


 
isasa ©   (2006-03-29 12:59) [100]

Jeer ©   (29.03.06 12:54) [99]
..существование и непрерывность производных до порядка r

:) Для одного графика такой глубины не надо.


 
Jeer ©   (2006-03-29 13:05) [101]

Я на глаз замечаю негладкость по второй:)


 
Юрий Зотов ©   (2006-03-29 13:48) [102]

Точки взяты не с потолка. Грамотно подобранная аппроксимирующая функция непрерывна сама и имеет непрерывную производную бесконечного порядка (по крайней мере, при X > 0).


 
Юрий Зотов ©   (2006-03-29 13:58) [103]

Впрочем, для того, чтобы получить "красивый" (т.е., гладкий "на глаз") график, не обязательно аппроксимировать целиком весь массив единой функцией, можно применить и кусочную интерполяцию. Однако, и в этом случае куски придется сращивать (в том числе и хотя бы по первой производной). И путь желающие попробуют сделать это без математики.

А ведь задачка-то пустяковая - всего лишь график нарисовать. Что ж тогда говорить о более сложных?


 
Algol   (2006-03-29 14:08) [104]


> А ведь задачка-то пустяковая - всего лишь график нарисовать

Хех, пустяковая.... Мой отдел примерно год делал систему построения графиков...


 
Юрий Зотов ©   (2006-03-29 14:17) [105]

> Kerk ©   (29.03.06 12:32) [97]
> Задачка-то хоть и простая, но математическая.

Если решать ее так, как положено решать подобные задачи - то да, математическая. И тогда для ее решения нужно знать математику.

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

Уж не знаю, какой она тогда становится (логической? еще какой-то?), но ясно, что если для решения задачи математика не нужна, то и сама задача не математическая, это уж точно.

Что ж, как говорится - вперед, и с песней. Будем поглядеть, что из этого получится (если, конечно, вообще получится хоть что-нибуть путное).


 
Юрий Зотов ©   (2006-03-29 14:19) [106]

> Algol   (29.03.06 14:08) [104]

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


 
Думкин ©   (2006-03-30 07:07) [107]

Странно, что до сих пор не возник вопрос о некорректности. Но и результат не видно. :(


 
Юрий Зотов ©   (2006-03-30 22:45) [108]

> SkyRanger

Похоже, наша дискуссия завершилась естественным образом?
:о)

Ну так как, нужна программисту математика, или нет?

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


 
Jeer ©   (2006-03-31 13:51) [109]

Юрий Зотов ©   (30.03.06 22:45) [108]

Вероятно, SkyRanger отказывается решать некорретно поставленную задачу.:))


 
Sandman25 ©   (2006-03-31 14:11) [110]

Jeer ©   (31.03.06 13:51) [109]

Да еще и забесплатно.


 
Юрий Зотов ©   (2006-03-31 14:17) [111]

> Jeer ©   (31.03.06 13:51) [109]

Почему некорректно? Стандартная постановка задачи аппроксимации, что в ней некорректного?

Готов решить ее сам и рассказать весь ход решения. Тем самым доказав корректность постановки.


 
default ©   (2006-03-31 14:21) [112]

"ОК, пусть в результате некоторых измерений получилась вот такая кривая, заданная точками:"
никакая это не кривая, уже некорректность


 
Jeer ©   (2006-03-31 15:40) [113]

То, что задача решаема - мы с вами понимаем:)

Но мы умеем, с нашим-то опытом, домысливать недосказанное или "творчески" выбрать более очевидный вариант решения, т.е переводить задачу из чисто математической в прикладную, инженерную.

- "Задача - построить красивый график этой кривой" - тут вообще не оговорено ничего, даже прохождение графика по точкам;
-"визуально гладкую,красивый график" - не математическая постановка;
-"и в единственном экземпляре" -бесконечно много, если не оговорены дополнительные условия;

Математики наверняка "наплюют" еще не одну тарелку:))

Ясно, что расчет (фора) был на математическую необразованность SkyRanger-а, но и он прав - отказываясь.


 
Jeer ©   (2006-03-31 16:03) [114]

Ну, а кроме шуток, если бы SkyRanger владел хотя бы математикой в объеме школьного курса, то задачку можно решить не прибегая к "великим сложностям".
Считать ли это арифметикой - не знаю.

Тот, кто чертил когда-либо карандашом с использованием лекал - знает правило вычерчивания гладких линий: по лекалу визуально соединяются три точки, но рисуется линия только между двумя.
Такое "кусочное" сшивание дает вполне "гладкий и красивый" результат.
Безусловно, там заложена математика, в лекале:))

Дальнейшее развитие такого метода - сплайны, но это уже вглубь.

А каков минимальный порядок кривой, проходящей через три точки (только без Лобачевского) ? Как минимум, и этого достаточно - это часть круга или параболы, т.е. кривая второго порядка.
Найти коэффициенты уравнения параболы по трем точкам должен уметь любой ученик старших классов.
А далее - по методу лекала.

В этом случае не нужны интерполяционные формулы в явном виде.

Да..
Если бы еще и SkyRanger хоть что-то написал из своих "безматематических" мыслей по этому поводу, но он отказывается от некорректных задач, очевидно:))


 
Юрий Зотов ©   (2006-03-31 18:09) [115]

> default ©   (31.03.06 14:21) [112]

Хочется надеяться, что Вам все-таки знаком математический термин, именуемый "таблично заданная функция".

> Jeer

Поиск математически строгого (тем более, единственного) решения задачей даже и не ставился (тем более, что оно, конечно же, не единственное).

Задачей ставилось просто-напросто нарисовать ЛЮБЫМ способом ЛЮБУЮ гладкую кривую, проходящую как можно ближе ко всем заданным точкам одновременно. Всего лишь.

И если кто-то сумеет написать программу, которая нарисует такую кривую и при этом не будет использовать математики сверх школьного курса - ОК, значит эту задачу действительно можно решить, не используя математики сверх школьного курса.

Но пока я не увидел ни кода такой программы, ни результата, который она выдает, я буду считать, что решить даже такую простенькую задачку и при этом не использовать математики сверх школьного курса - нельзя.

Точнее, такую программу нельзя написать за РАЗУМНОЕ время (за один день, например). А за полжизни, может быть, и можно.

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

А может, даже и быстрее получится.
:о)


 
Jeer ©   (2006-03-31 18:36) [116]

Юрий Зотов ©   (31.03.06 18:09) [115]

Вообще-то речь шла не о "кто-то", а о сомневающихся в необходимости владения математикой в процессах программирования.

То, что лично я могу "нарисовать" кучу "школьных" вариантов решения такой задачи - надеюсь, ты не сомневаешься:))


> за пару-тройку часов.


На "старость" фору даду:))


 
Jeer ©   (2006-03-31 18:37) [117]


> проходящую как можно ближе ко всем заданным точкам одновременно


Это уже корректировка постановки задачи и не один раз, причем.


 
default ©   (2006-03-31 18:53) [118]

Юрий Зотов ©   (31.03.06 18:09) [115]
таблично задана ф-ия, у неё есть график, но в моих понятиях график ф-ции не всегда есть кривая(чтобы была кривая надо кусочную непрерывность гарантировать хотя бы) а какая нафиг непрерывность для таблично заданной ф-ции?!:)

школьной математикой гладкую кривую можно получить из условия:
если есть некоторое число точек, то мы первую часть из них аппроксимируем
гладкой кривой и тогда вторую часть аппроксимируем тоже гладкой кривой, но ещё накладываем условие равенства производных этих двух гладких ф-ции в точке сцепления(для гладкого сращивания двух гладких кривых)


 
default ©   (2006-03-31 19:11) [119]

+[118]
конечно, нужно число сращиваемых кривых выбирать по числу точек
аппроксимирующие ф-ции можно брать полиномами(порядок их зависит от числа точек им накрываемых)


 
Юрий Зотов ©   (2006-03-31 19:29) [120]

> Jeer ©   (31.03.06 18:36) [116]

> То, что лично я могу "нарисовать" кучу "школьных" вариантов решения
> такой задачи - надеюсь, ты не сомневаешься:))

В том-то и дело, что сомневаюсь. Не в тебе, конечно, а в том, эту задачу вообще можно хоть сколько-нибудь прилично решить школьными методами.

> На "старость" фору даду

Хех, вряд ли она потребуется. 2-3 часа - это вполне реальная оценка.

> default ©   (31.03.06 18:53) [118]

1. График любой ф-ции есть именно кривая. Прямая она на самом деле, или ломаная, или кусочно-гладкая, или кусочно-непрерывная, или еще что-то - неважно. Все это есть частные случаи общего термина "кривая".

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

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



Страницы: 1 2 3 4 вся ветка

Текущий архив: 2006.04.23;
Скачать: CL | DM;

Наверх




Память: 0.73 MB
Время: 0.055 c
2-1144406754
Alex_C
2006-04-07 14:45
2006.04.23
Sharemem и чудеча!


15-1144059580
balepa
2006-04-03 14:19
2006.04.23
Как можно "Ваше имя" сменить ?


15-1143818149
antonn
2006-03-31 19:15
2006.04.23
Ну вот, продали дельфи...


11-1125182052
ebta
2005-08-28 02:34
2006.04.23
just a little bug v2.10


2-1144665608
dima_kds
2006-04-10 14:40
2006.04.23
Использование SQLConnection