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
]]>