新書推薦:
《
冯友兰和青年谈心系列
》
售價:NT$
762.0
《
利他主义的生意:偏爱“非理性”的市场(英国《金融时报》推荐读物!)
》
售價:NT$
352.0
《
认知行为疗法:心理咨询的顶层设计
》
售價:NT$
454.0
《
FANUC工业机器人装调与维修
》
售價:NT$
454.0
《
吕著中国通史
》
售價:NT$
286.0
《
爱琴海的光芒 : 千年古希腊文明
》
售價:NT$
908.0
《
不被他人左右:基于阿德勒心理学的无压力工作法
》
售價:NT$
301.0
《
SDGSAT-1卫星热红外影像图集
》
售價:NT$
2030.0
|
編輯推薦: |
n 全面阐述Mathematica软件Wolfram语言及其程序设计方法。
n 诠释Wolfram语言Compile模块编译技术。
n 涵盖Wolfram语言程序包设计方法。
n 既适合于Mathematica初学者,又适用于长期使用Mathematica的研究人员。
|
內容簡介: |
本书基于Mathematica 12.3,全面介绍了Mathematica软件的高级编程技术,全书分为8章:第1章Mathematica基础,重点阐述Mathematica软件的入门操作;第2章Wolfram语言经典编程,讨论类似于C语言等高级语言的Mathematica编程方法;第3章Wolfram语言列表,叙述了Mathematica软件重要的数据类型列表的操作方法;第4章详细讨论了Wolfram语言内置函数和自定义函数的用法;第5章模块编程技术分析Mathematica软件四种主要的模块编程技巧;第6章讨论了Wolfram语言字符串和数据集;第7章展示了Mathematica软件强大的绘图和声音处理能力;第8章详细阐述了Mathematica程序包的设计方法。Mathematica软件是能体现计算机价值的科学计算软件,而运行于其上的Wolfram语言是**层次的科学计算语言。本书基于Mathematica 12.3,全面介绍了Mathematica软件的高级编程技术, 本书可作为高等院校工学、理学、艺术学和经济学等学科本科生和研究生学习Mathematica软件和Wolfram语言的入门教材,也可作为这些学科门类下设专业本科生和研究生及科研人员用于数据分析的参考书。
|
關於作者: |
张勇,男,计算机科学与技术,工学博士,教授,硕士生导师,IEEE高级会员。研究兴趣:信息安全、机器学习与量子计算。主讲课程:高级语言程序设计、嵌入式系统、数字图像处理、图像工程、物联网信息安全等。发表第一作者学术论文40余篇,出版学术专著4部,第一作者教材16部,主持国家自然科学基金2项,省级课题6项。张勇老师,具有使用Mathematica软件近20年的经验。
|
目錄:
|
第1章Mathematica基础
1.1认识Mathematica
1.1.1启动Mathematica
1.1.2笔记本
1.1.3一个简单实例
1.2自定义函数
1.2.1笔记本自定义函数
1.2.2程序包自定义函数
1.3全局变量
1.3.1变量名
1.3.2上下文环境
1.3.3全局参数
1.4基本数据类型
1.4.1Wolfram语言常数
1.4.2原子数据类型
1.4.3浮点数
1.4.4数量单位
1.4.5数制表示
1.5文档中心
1.5.1帮助文档
1.5.2插件文档
本章小结
第2章Wolfram语言经典编程
2.1循环编程
2.1.1For循环
2.1.2While循环
2.1.3NestWhile循环
2.1.4Do循环
2.2关系运算符和逻辑运算符
2.2.1关系运算符
2.2.2逻辑运算符
2.3选择编程
2.3.1If分支
2.3.2Switch分支
2.3.3Which分支
2.3.4Piecewise函数
2.4典型实例
本章小结
第3章Wolfram语言列表
3.1列表构造
3.1.1Import函数
3.1.2Table函数
3.1.3数组与矩阵
3.1.4字符列表
3.1.5随机数列表
3.2列表操作
3.2.1列表元素访问
3.2.2Map和Apply方法
3.2.3向量与矩阵操作
3.2.4集合操作
本章小结
第4章内置函数与自定义函数
4.1常用内置函数
4.1.1列表处理
4.1.2基本初等数学函数
4.1.3基本高等数学函数
4.1.4基本矩阵函数
4.1.5函数调用形式
4.2自定义函数
4.2.1函数定义
4.2.2函数选项设置
4.3纯函数
4.3.1纯函数定义
4.3.2嵌套函数
本章小结
第5章模块编程技术
5.1Module模块
5.1.1Module函数
5.1.2Module模块实例
5.2Block模块
5.2.1Block函数
5.2.2Block模块实例
5.3With模块
5.3.1With函数
5.3.2With模块实例
5.4Compile模块
5.4.1配置MinGW64编译器
5.4.2Compile函数
5.4.3Compile模块实例
5.5并行编程
5.5.1并行计算函数
5.5.2并行处理函数
本章小结
第6章字符串与数据集
6.1字符串
6.1.1字符串合并与拆分
6.1.2字符串替换操作
6.1.3字符串模式匹配
6.1.4正则表达式
6.1.5字符串变换函数
6.2规则与关联
6.2.1规则
6.2.2关联
6.3数据集
6.4模式匹配
本章小结
第7章图形与声音
7.1二维绘图
7.1.1Plot函数
7.1.2DiscretePlot函数
7.1.3ListPlot函数
7.1.4ListLinePlot函数
7.1.5Graphics函数
7.1.6PolarPlot函数
7.1.7ParametricPlot函数
7.1.8ContourPlot函数
7.1.9BarChart函数
7.1.10PieChart函数
7.1.11Show函数
7.1.12GraphicsGrid函数
7.2三维绘图
7.2.1Plot3D函数
7.2.2DiscretePlot3D函数
7.2.3ParametricPlot3D函数
7.2.4RevolutionPlot3D函数
7.2.5SphericalPlot3D函数
7.2.6ListPlot3D函数
7.2.7ContourPlot3D函数
7.2.8ListContourPlot3D函数
7.2.9ListSurfacePlot3D函数
7.2.10Graphics3D函数
7.3动画
7.3.1Animate函数
7.3.2Manipulate函数
7.4图像处理基础
7.4.1图像转换为矩阵
7.4.2矩阵转换为图像
7.5声音
本章小结
第8章Mathematica程序包
8.1欧几里得算法
8.2程序包
8.3Wolfram Workbench开发
8.3.1Wolfram Workbench安装
8.3.2创建程序包
8.3.3创建测试文档
8.3.4创建帮助文档
8.4自然语言
8.5程序调试
本章小结
第9章神经网络
9.1数据预处理
9.1.1数据归一化
9.1.2数据白化
9.1.3协方差均衡
9.1.4数据还原
9.1.5数据预处理模块程序
9.2感知器
9.2.1感知器原理
9.2.2感知器实例
9.2.3Wolfram实现方法
9.3BP神经网络
9.3.1BP算法
9.3.2BP神经网络实例
9.3.3Wolfram实现方法
本章小结
附录AMathematica笔记本目录管理和显示样式
参考文献
|
內容試閱:
|
Mathematica在作者们的学习和科研中占据着核心地位。对于从事教学和科研的普通高校教师来说,Mathematica软件是最有价值的软件,也是教学和科研工作的强有力助手。除了Mathematica软件之外,我们还经常使用Visual Studio(C#语言)和RAD Studio(C 语言)两种编程开发环境,但都是为Mathematica软件服务。在Mathematica软件环境下使用Wolfram语言设计并测试好算法程序后,再借助于C#或C 语言生成可执行工程软件。我们拟通过本书向和我们一样从事教学和科研工作的朋友们推荐Mathematica软件,同时向对高级程序设计和科学计算感兴趣的读者推荐Wolfram语言。
Mathematica软件能做什么?在科学研究上,我们使用Mathematica软件实现图像的加密与解密算法、神经网络算法以及量子计算算法(一类有趣的复矩阵变换); 在教研活动上,我们在大学物理、高等数学、线性代数、概率论与数理统计、复变函数、数学物理方程、数学建模、信号与系统、数字信号处理、自动控制(还使用了SystemModeler软件)、数字图像处理和神经网络与机器学习等课程中,均借助Mathematica软件辅助教研,效果颇佳。总体来说,Mathematica软件是一种称为Wolfram语言的高级计算机语言的工作平台,Wolfram语言比其他计算机语言更容易实现各类算法,且以友好的方式呈现算法结果。C语言被称为“过程化”语言,其按算法的实现流程进行程序设计,即过程化编程。C 和C#语言称为面向对象的语言,用类(一种数据结构)将算法的属性(即数据)和方法(即函数)封装起来,增强程序的健壮性。而Wolfram语言是一种函数式的语言,不同于C语言(由于C语言程序由一个main函数和其他若干功能函数组成,C语言也称函数化语言),Wolfram语言的“函数式”是指这种语言中,程序由函数实现,不但每个函数均可以独立运行得到相应的结果,而且函数可以“复合”调用执行复杂的功能。Wolfram语言可视为一种“泛函化”的语言,并可称之为“数学语言”或“超级语言”。
Mathematica软件诞生于1988年,创始人为科学家Stephen Wolfram,而运行于Mathematica软件上的程序设计语言则以这位科学家的名字命名,称之为“Wolfram语言”。目前,Mathematica软件包括6000多个函数,涉及了物理学、数学、化学、生物学、信息科学、计算机科学、艺术学、宇宙学、建筑学和金融学等众多领域,这些函数的实现方法统称为Wolfram技术。Mathematica软件在系统仿真领域的拓展软件称为SystemModeler(SystemModeler软件支持Modelica建模语言和Wolfram科学计算语言,为Mathematica软件的伴侣软件),Mathematica软件和SystemModeler软件被公认为科学计算和建模仿真领域最先进的软件,在全球范围内推动了并继续推动着科学和技术的创新。可以说,Mathematica软件是最能体现计算机价值的科学计算软件,而Wolfram语言是最高层次的科学计算语言。
多年来,Mathematica软件已经成为物理学和数学领域的主要科研工具,而现在,Mathematica软件和Wolfram技术也被广泛应用于信息科学、计算机科学、生命科学、社会科学和金融等学科领域的数据分析和工程计算。本书着眼于Mathematica软件的基本用法和Wolfram技术的基本技巧,面向拟使用Mathematica软件助力其学习和研究的大学生、研究生和科研工作人员。本书是一本自成体系的Mathematica教材。此外,对于初次接触Mathematica软件的读者,推荐《Mathematica科学计算与程序设计》(西安电子科技大学出版社,2021年)作为入门速成教材; 对于信息安全研究人员,推荐《高级图像加密技术——基于Mathematica》(西安电子科技大学出版社,2020年)作为学习Mathematica软件应用于密码算法编程的参考书。这两本教材展示了Wolfram技术不但以优美的形式实现各式各样的算法,而且还将这些算法的结果呈现进一步升华,助力研究人员深入分析算法的本质和内涵。
全书基于Mathematica 12.3,共分为9章。第1章为Mathematica基础,介绍了Mathematica软件的入门操作和基本数据类型,为后续章节的学习奠定基础。第2章为Wolfram语言经典编程,重点分析了经典分支语句和循环语句的实现方法,同时介绍了Mathematica软件中的关系运算符和逻辑运算符,并通过大量实例突出了经典编程方法的特点。第3章讨论了Wolfram语言中最重要的数据类型——列表,介绍了列表的构造方法和操作技巧。第4章阐述了Mathematica内置函数的用法以及自定义用户函数的技巧和方法,重点讨论了Map和Apply函数的用法。第5章详细阐述了Wolfram语言模块编程技术,对比分析了4种模块编程函数的用法,并讨论了并行编程方法。第6章详细介绍了字符串的操作方法,并讨论了规则、关联、数据集和模式匹配。第7章结合科技文献出版中对图形的要求,详细阐述了Mathematica软件的二维绘图、三维绘图和动画技术,并讨论了Mathematica软件的声音处理技术。第8章深入介绍了自定义程序包技术,讨论了编写程序包并将自定义函数及其说明文档添加到Mathematica软件中的方法,最后叙述了Wolfram自然语言输入和笔记本程序调试方法。第9章讨论了感知器和BP神经网络的实现方法,详细介绍了借助Wolfram语言实现神经网络学习和预测的程序设计技巧。
本书由国家自然科学基金(No. 61762043)、江西省自然科学基金(No. 20192BAB207022)和江西省教育厅科学技术研究重点项目(No. GJJ190249)资助出版,特此鸣谢。
本书由江西财经大学量子计算研究中心信息安全课题组编写。其中,江西财经大学陈爱国执笔第1章、唐颖军执笔第2章、吴文华执笔第3章、陈伟执笔第4章、熊堂堂执笔第6章、张勇执笔第7~9章; 滨州学院胡永生教授执笔第5章。全书由张勇统稿、定稿。作者张勇感谢导师陈天麒教授、洪时中教授和汪国平教授对其科研工作和学术研究的长期指导,他们对科学的热爱和对作者的鼓励是作者从事科研工作的巨大精神支柱; 感谢其爱人贾晓天老师在烦琐的资料检索和整理工作方面所做的细致工作,为其节省了大量学习时间。全体作者感谢Wolfram Research公司杨圣汇老师的悉心指导,为本书的写作清除了技术困难和障碍; 感谢清华大学出版社赵凯老师对本书写作和出版的支持。
本书极力呈现Mathematica软件对于大学生和各领域教研人员的重要性,但限于作者们的知识水平,书中难免有缺漏之处,恳请同行专家、学者和读者朋友不吝赐教。
免责声明: 书中Mathematica和Wolfram Research等是Wolfram公司的注册商标。本书内容仅用于教学,严禁任何单位和个人将其应用于商业场合。
作者
2022年2月
于江西财经大学枫林园
源码
教学大纲
|
|