2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу Пред.  1, 2, 3, 4, 5, 6 ... 13  След.
 
 Re: Язык программирования для математика
Сообщение29.06.2010, 08:31 
meduza в сообщении #336075 писал(а):
Это, конечно, очень по-дзенски. Но посмотрим, как Вы будете реализовывать решение какой-нибудь (даже простой) задачи по ЧМ (или ещё хуже -- какие-нибудь символьные вычисления). Мазохисты Вам позавидуют.
А, это шутка была! Поздно, я и не сообразил сразу. Смешно.[/off]

Вообще-то в принципе не так и сложно, нужны только соответствующие элегантные функции на все случаи жизни, подобные той, которую я привёл. Например для работы с дробными числами. Или с графикой. А символы - это вообще суть целые числа, что тут сложного? Зато:

1. Быстродействие. 4-х ядерные процессоры долго еще отдыхали бы.
2. Компактность. Были, были времена, когда вполне приличные игрушки умещались на одной дискете 1,3mb.

 
 
 
 Re: Язык программирования для математика
Сообщение29.06.2010, 13:59 
Обратись к спецам из майкрософт с вопросом - си или другое. И скажут вам, что бэйсик самое то.

 
 
 
 Re: Язык программирования для математика
Сообщение29.06.2010, 14:08 
yk2ru в сообщении #336173 писал(а):
Обратись к спецам из майкрософт с вопросом - си или другое. И скажут вам, что бэйсик самое то.
Были прецеденты?

 
 
 
 Re: Язык программирования для математика
Сообщение29.06.2010, 16:21 
Аватара пользователя

(Оффтоп)

Alexu007, хм... что-то Ваш ник внезапно стал мне странно знакомым :D
Во времена, ныне канувшие в лету, на бескрайних просторах ФИДО некто под именем, похожим на Ваш ник, был весьма знаменит пропагандою ассемблера (хотя, конечно, не только этим :D )... это Вы?

 
 
 
 Re: Язык программирования для математика
Сообщение29.06.2010, 18:34 
worm2 в сообщении #336195 писал(а):

(Оффтоп)

Alexu007, хм... что-то Ваш ник внезапно стал мне странно знакомым :D
Во времена, ныне канувшие в лету, на бескрайних просторах ФИДО некто под именем, похожим на Ваш ник, был весьма знаменит пропагандою ассемблера (хотя, конечно, не только этим :D )... это Вы?

Нет. Я не знаю, что такое ФИДО и не пропагандировал ассемблер, по крайней мере не помню этого. Хотя что греха таить, мне нравится этот спартанский язык.

 
 
 
 Re: Язык программирования для математика
Сообщение04.07.2010, 22:36 
Аватара пользователя
Немножно анчал изучать mathematica. Но вот никак не пойму, возможно ли написать программу в виде отдельного файла (чтобы она что-то считала и возможно выводила в файлы какие-то графики) и ваполнять как скрипт, т. е. как бы
Код:
math script.m

Или обязательно нужно загружать фронт-енд, и уже потом как-то загружать написанную программу (кстати, как?)?

 
 
 
 Re: Язык программирования для математика
Сообщение16.07.2010, 23:12 
caxap в сообщении #325937 писал(а):
Я знаю Си, но он идеален для системного прораммирования, а в моим задачам не чоень подходит, даже мат. библиотека там скудная. С++ не предлагать.


http://www.boost.org/doc/libs/1_43_0/?view=category_Math

Скудно?

 
 
 
 Re: Язык программирования для математика
Сообщение25.07.2010, 16:37 
Никогда не считал себя профессиональным программистом. Но, тем не менее, написал десятки тысяч строк ПО на самых разных языках: Бейсик, машинные коды, Ассемблера, Фортран, PL/1, C, C++, VisualBasic. Разрабатывать приходилось достаточно сложные системы, включая интерпретаторы, компиляторы, кросс-ассемблеры. В частности, несколько лет был зав. лабораторией программирования.

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

Ну а я, зная нравы айтишников, задергался и ... попробовал VB Excel. И оччень понравилось. Отмечу главные достоинства:

1. Все очень просто.
2. Можно легко комбинировать собственно Excel и программирование, что бывает очень полезно.
3. Не нужно учить множество команд. Например, надо записать что-то в нужный лист в нужную ячейку - включаешь запись макроса - записываешь вручную, а потом берешь этот макрос и вставляешь его в свою программу.
4. Многие вычислительные задачи, например, метод Монте-Карло, делаются элементарно - делаешь конкретный пример средствами Excel, а потом добавляешь соответствующие циклы и прочие программистские припампасы.

А теперь как-то и не хочу слезать с VB Excel. В качестве примера см. программу правильного питания на моем сайте.

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

 
 
 
 Re: Язык программирования для математика
Сообщение25.07.2010, 18:08 
Аватара пользователя
Около года назад начал учавствовать в проекте openFOAM -"open source CFD" -открытая интегрируемая платформа для численного моделирования задач механики сплошных сред

 
 
 
 Re: Язык программирования для математика
Сообщение25.07.2010, 21:13 
Для пояснения прелестей Excel и Excel VB приведу пример из своих лекций. Cлучайная величина, распределенная по закону $N(0, 1)$, в русскоязычном Excel генерируется формулой НОРМСТОБР(СЛЧИС()). Дискретный обобщенный винеровский процесс моделируется в Excel протягиванием формулы $$A_i = A_{i-1} + x_i,$$где $x_i$ распеделена по нормальному закону $N(\mu,\sigma).$

А далее любые свойства этого процесса изучаются многократным построением реализации процесса с помощью элементарной VB программы. Запустив эту программу на ночь, к утру получал нужные мне таблицы, например, зависимости вероятности достижения некоторого уровня при различных $\mu, \sigma$.

К этому добавлю полезность изобразительных возможностей Excel. Например, при построении красивых графиков типа "двадцать разноцветных реализаций обобщенного винеровского процесса". Нажатием F9 Вы генерируете новые 20 реализаций - очень полезно для разных демонстрашек.

 
 
 
 Re: Язык программирования для математика
Сообщение26.07.2010, 11:10 
vek88
VB Excel - это те самые VB-скрипты, которые можно в Excel писать?
А в них можно научить Excel брать значение ячейки с координатами, написанными в другой паре ячеек? Ну типа
Код:
=A3+[B3][C4]

здесь [B3] - буква, написанная в ячейке B3, а C4 - натуральное число из C4.
:?: а то часто надо, а не получается обычно

 
 
 
 Re: Язык программирования для математика
Сообщение26.07.2010, 11:22 
Аватара пользователя
Sonic86,
посмотрите справку по ключевым словам "ДВССЫЛ" и "АДРЕС".

 
 
 
 Re: Язык программирования для математика
Сообщение27.07.2010, 17:50 
Sonic86 в сообщении #340927 писал(а):
А в них можно научить Excel брать значение ячейки с координатами, написанными в другой паре ячеек? Ну типа
Код:
=A3+[B3][C4]
здесь [B3] - буква, написанная в ячейке B3, а C4 - натуральное число из C4.

Примерно так:
Код:
=A3+INDIRECT(CONCATENATE(B3,C4))
Русских названий функций я не знаю.

Посмотрите тему "Связь ячеек в Excell"

 
 
 
 Re: Язык программирования для математика
Сообщение27.07.2010, 20:47 
Sonic86 в сообщении #340927 писал(а):
vek88
VB Excel - это те самые VB-скрипты, которые можно в Excel писать?
А в них можно научить Excel брать значение ячейки с координатами, написанными в другой паре ячеек? Ну типа
Код:
=A3+[B3][C4]

здесь [B3] - буква, написанная в ячейке B3, а C4 - натуральное число из C4.
:?: а то часто надо, а не получается обычно
Честно скажу - не знаю, что такое VB-скрипты. Сам Excel вместе с VB Excel - это огромная система с огромными возможностями. Для примера, в одном из уважаемых западных банков на VB Excel разработали серьезную банковскую систему.

А я не ставил задачу изучить все - брал только нужное в моих конкретных задачах.

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

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

If ActiveCell.Column <> 3 Then
Answer = MsgBox("Выберите ячейку в 3-й колонке и нажмите кнопку ЕДА снова!", _
vbOKOnly, SystemName)
Exit Sub
ElseIf ActiveCell.Value <> "" Then
Answer = MsgBox("Выберите свободную ячейку и нажмите кнопку ЕДА снова", _
vbOKOnly, SystemName)
Exit Sub
End If

FirstRow = ActiveCell.Row ' Запомнить первую строку ЕДЫ
If Cells(FirstRow - 1, 3).Value <> "" Then ' Добавить свободную строку ПЕРЕД
Range(Format(FirstRow) & ":" & Format(FirstRow)).Select
Selection.Insert Shift:=xlDown
FirstRow = FirstRow + 1
End If

ClientID = Sheets("Настройка").Cells(16, 2).Value

И еще раз подчеркну - помнить всю эту билиберду не надо. Первый раз берем из макроса. Потом из своей же программы в качестве образца. Ну уж в крайнем случае - лезем в Help.

ЗЫ 1. Виноват - сломал формат при копировании.

ЗЫ 2. Если же Вы имеете в виду научить этому сам Excel (без VB), то, думаю, можно, но сам этим не занимался. А VB - это мощная система программирования, которая, естественно, может все, что можно вообще программировать.

 
 
 
 Re: Язык программирования для математика
Сообщение27.07.2010, 21:57 
VB — это кошмар, кошмар, из которого следует просыпаться.

-- Ср июл 28, 2010 01:03:18 --

caxap в сообщении #337295 писал(а):
Или обязательно нужно загружать фронт-енд, и уже потом как-то загружать написанную программу (кстати, как?)?
Не знаю, но можно не загружать front-end, а только ядро, у него есть простой текстовый интерфейс. Конечно, графики-звука вы там не увидите, но ведь это нужно редко. Ярлык к "голому" ядру находится там же, где и к front-end'у. Для скриптов можно вроде использовать функции Open..., что-то подобное там. Есть, по крайней мере, две функции для чтения и записи выражения в файл, если ничего лучше не найдёте, можете оформить скрипт как одно выражение (с помощью ;, например, или ещё и с Block/Module/With) и выполнять его функцией.

 
 
 [ Сообщений: 195 ]  На страницу Пред.  1, 2, 3, 4, 5, 6 ... 13  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group