2014 dxdy logo

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

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




Начать новую тему Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней. На страницу Пред.  1, 2, 3, 4, 5, 6 ... 13  След.
 
 Re: Язык программирования для математика
Сообщение29.06.2010, 08:31 


24/05/09

2054
meduza в сообщении #336075 писал(а):
Это, конечно, очень по-дзенски. Но посмотрим, как Вы будете реализовывать решение какой-нибудь (даже простой) задачи по ЧМ (или ещё хуже -- какие-нибудь символьные вычисления). Мазохисты Вам позавидуют.
А, это шутка была! Поздно, я и не сообразил сразу. Смешно.[/off]

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

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

 Профиль  
                  
 
 Re: Язык программирования для математика
Сообщение29.06.2010, 13:59 


03/10/06
826
Обратись к спецам из майкрософт с вопросом - си или другое. И скажут вам, что бэйсик самое то.

 Профиль  
                  
 
 Re: Язык программирования для математика
Сообщение29.06.2010, 14:08 
Заслуженный участник


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

 Профиль  
                  
 
 Re: Язык программирования для математика
Сообщение29.06.2010, 16:21 
Заслуженный участник
Аватара пользователя


01/08/06
3128
Уфа

(Оффтоп)

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

 Профиль  
                  
 
 Re: Язык программирования для математика
Сообщение29.06.2010, 18:34 


24/05/09

2054
worm2 в сообщении #336195 писал(а):

(Оффтоп)

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

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

 Профиль  
                  
 
 Re: Язык программирования для математика
Сообщение04.07.2010, 22:36 
Заслуженный участник
Аватара пользователя


07/01/10
2015
Немножно анчал изучать mathematica. Но вот никак не пойму, возможно ли написать программу в виде отдельного файла (чтобы она что-то считала и возможно выводила в файлы какие-то графики) и ваполнять как скрипт, т. е. как бы
Код:
math script.m

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

 Профиль  
                  
 
 Re: Язык программирования для математика
Сообщение16.07.2010, 23:12 


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


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

Скудно?

 Профиль  
                  
 
 Re: Язык программирования для математика
Сообщение25.07.2010, 16:37 


15/10/09
1344
Никогда не считал себя профессиональным программистом. Но, тем не менее, написал десятки тысяч строк ПО на самых разных языках: Бейсик, машинные коды, Ассемблера, Фортран, 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 
Заслуженный участник
Аватара пользователя


11/04/07
1352
Москва
Около года назад начал учавствовать в проекте openFOAM -"open source CFD" -открытая интегрируемая платформа для численного моделирования задач механики сплошных сред

 Профиль  
                  
 
 Re: Язык программирования для математика
Сообщение25.07.2010, 21:13 


15/10/09
1344
Для пояснения прелестей 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 
Заслуженный участник


08/04/08
8562
vek88
VB Excel - это те самые VB-скрипты, которые можно в Excel писать?
А в них можно научить Excel брать значение ячейки с координатами, написанными в другой паре ячеек? Ну типа
Код:
=A3+[B3][C4]

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

 Профиль  
                  
 
 Re: Язык программирования для математика
Сообщение26.07.2010, 11:22 
Заслуженный участник
Аватара пользователя


01/08/06
3128
Уфа
Sonic86,
посмотрите справку по ключевым словам "ДВССЫЛ" и "АДРЕС".

 Профиль  
                  
 
 Re: Язык программирования для математика
Сообщение27.07.2010, 17:50 
Заслуженный участник


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

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

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

 Профиль  
                  
 
 Re: Язык программирования для математика
Сообщение27.07.2010, 20:47 


15/10/09
1344
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 
Заслуженный участник


27/04/09
28128
VB — это кошмар, кошмар, из которого следует просыпаться.

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

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

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 195 ]  На страницу Пред.  1, 2, 3, 4, 5, 6 ... 13  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group