]]> ]]>

Wolfram Mathematica 8.0.4

Версия реализации Wolfram Mathematica языка программирования Wolfram Mathematica

Версия, выпущенная 26 октября 2011.

Основные изменения:

  • поддержка формата CDF (Computable Data Format), предназначенного для интерактивной визуализации данных.
  • система протестирована под ОС Mac OS X Lion.
  • улучшение производительности библиотеки MKL и функций цитирования.
  • улучшение использования памяти функцией Share при сохранении больших объемов данных.
  • новая подсветка ситнтаксиса предупреждает об использовании переменной Module в Dynamic.
  • улучшение процесса сохранения безымянного Notebook под Linux.

Примеры:

Числа Фибоначчи - Wolfram Mathematica (153):

Print обязательно завершает вывод переносом строки, поэтому для того, чтобы вывести все числа Фибоначчи в одной строке, их нужно накопить в переменной msg и вывести ее. <> — оператор конкатенации; он работает только с явными строками, поэтому результат вызова Fibonacci нужно явно перевести в строку функцией ToString.

msg = "";
Do[msg = msg <> ToString[Fibonacci[i]] <> ", " , {i, 16} ];
Print[msg, "..."];

Факториал - Wolfram Mathematica (152):

Используется встроенная функция вычисления факториала !. Do — один из способов реализации циклов; выполняет первый аргумент для всех значений, заданных вторым аргументом, а именно: для всех i от 0 до 16 с шагом 1.

Do[Print[i, "! = ", i!] , {i, 0, 16, 1}]

Квадратное уравнение - Wolfram Mathematica (151):

После ввода коэффициентов определяем переменную y — квадратное уравнение с заданными коэффициентами. Так как x не определено, в уравнении оно останется обычной переменной (например, Print[y] выведет запись полученного уравнений c + b x + a x^2 с подставленными коэффициентами a, b и c). Функция Reduce вычисляет значения переменных, при котором указанное условие будет истинным. Условие в данном случае — квадратное уравнение, а переменная — x.

a = Input["Input a", 0];
b = Input["Input b", 0];
c = Input["Input c", 0];
y = a*x^2 + b*x + c;
Print[Reduce[y == 0]];

Hello, World! - Wolfram Mathematica (149):

В этом случае создается временная строковая переменная. В конце строки нет символа “;”, и значение этой переменной выводится отдельным Out, что не всегда удобно.

"Hello, World!"

Hello, World! - Wolfram Mathematica (150):

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

Print["Hello, World!"];

Факториал - Wolfram Mathematica (468):

Используется рекурсивное определение факториала. Обратите внимание на то, что при определении функции ее аргумент дополняется символом _.

Fact[n_] := If[n == 0, 1, Fact[n - 1]*n];
For[i = 0, i <= 16, i++, Print[i, "! = ", Fact[i]]];

Факториал - Wolfram Mathematica (564):

Символу f[x] ставится в соответствие список (List[…]) первых x натуральных чисел, генерируемый функцией Range[x], в которой головная часть List заменяется на Times при помощи функции Apply[head, expr], записанной здесь как head@@expr.

Здесь использованы две парадигмы программирования, реализованные в Wolfram: во-первых, с помощью шаблонного выражения x_ число, вписанное в квадратные скобки, подставляется в соответствующее место справа от знака отсроченного присваивания := . Во-вторых, функциональная парадигма позволила избавить код от громоздких процедурных конструкций и придти к похожей на математическую записи.

fact[x_]:=Times@@Range[x];

Комментарии

]]>

blog comments powered by Disqus

]]>

Работа программистам