Mathematica教程(1)--认识Mathematica-mathematica12教程

2023-08-11 20:28:57

 

关于mathematics的使用,我们可以从四个步骤进行学习,逐渐到熟练使用。

(一)初认识

主要讲解Mathematica的最为基本的知识,包括操作运算符用法以及基本的计算函数。

(二)函数用法

主要用函数的用法出发总结出Mathematica最为重要的用法,并通过实例演示。

(三)图形绘制

主要讲解利用Mathematica如何绘图,并进一步修图,实现数据计算与图形的可视化操作。

(四)软件进阶

Mathematica如何被C++和Python结合,实现联合调用操作。和基于DLL、SQL、Java、.NET、C++、FORTRAN、CUDA、OpenCL以及http的系统相链接的工具

注:[关于如何安装软件,网络上有大量的教程,大家可以按照自己需要安装软件,官网地址:

https://www.wolfram.com/mathematica/

今天主要是从Mathemathica的具体操作出发,初步认识一下Mathematica的用法

(1)基本介绍

1.1 基本信息

Mathematica是一款科学计算软件,很好地结合了数值和符号计算引擎、图形系统、编程语言、文本系统、和与其他应用程序的高级连接。很多功能在相应领域内处于世界领先地位,它也是使用最广泛的数学软件之一。Mathematica的发布标志着现代科技计算的开始。Mathematica是世界上通用计算系统中最强大的系统。自从1988发布以来,它已经对如何在科技和其它领域运用计算机产生了深刻的影响。可以说,Mathematica 和MATLAB、Maple并称为三大数学软件。

当Mathematica1.0版发布时,《纽约时代报》写道:“这个软件的重要性不可忽视”;紧跟着《商业周刊》又将Mathematica评比为当年十大最重要产品。在科技界,Mathematica被形容为智能和实践的革命。

1.2 客户群体

Mathematica的用户群中最主要的是科技工作者和其它专业人士。但是,Mathematica还被广泛地用于教学中。数学中的许多计算是非常繁琐的,特别是函数的作图费时又费力,而且所画的图形很不规范,所以现在流行用Mathematica符号计算系统进行学习,从高中到研究生院的数以百计的课程都使用它,很多问题便迎刃而解。此外,随着学生版的出现,Mathematica已经在全世界的学生中流行起来,成为了一个著名的工具。

1.3 用户界面

Mathematica 分为两部分:内核和前端。内核对表达式(即 Mathematica 代码)进行解释,并且返回结果表达式。

前端由Theodore Gray设计,提供了一个GUI,它使得用户可以创建并且编辑一个“笔记本文档”,该笔记本文档可以包含程序代码和其它格式化的文本(比如公式、图像、GUI组件、表格、声音等),并且支持标准文字处理功能。所有的内容和格式都可以通过算法生成或者通过交互式方法进行编辑。

文档可以使用层次式单元进行结构化处理,这样便于对文档划分章节。文档也可以表示为幻灯片形式,便于进行演讲。笔记本与其内容均以 Mathematica 表达式的形式存储,并且可用使用 Mathematica 程序进行创建、编辑和修改,而且还可以转化为其它格式,比如TeX或者XML。

前端包括开发工具,比如调试器、输入自动补全、以及自动语法着色。

默认情况下,Mathematica 使用一个标准前端,不过也有其它前端可供选择,包括WolframWorkbench、2006年引入的基于Eclipse的IDE。它们为 Mathematica 提供了面向项目的开发工具,包括版本管理、调试、归档和测试。 此外,Mathematica 还包括一个命令行前端(Mathematica Kernel)。

1.4 Mathematica可谓是无所不能

Mathematica不仅可以进行数值计算,绘图,修图,数据分析、自然语言处理、机器学习等几乎你能想到的模型他都能解,你几乎想到的所有需要软件处理的,他也都可以处理。当然,有一些无法实现的功能,也可以借助调用其他软件或平台的形式得以解答。

不愧是与maple和matlab并驾齐驱的三大佬。

(2)认识Mathematica界面

首先,初始认识Mathematica界面及其简易操作,进入编辑页面,进行下面的相应操作,先对软件进行一定程度的熟悉:

(1)输入111*121,然后点击shift+enter,即可得到计算结果,可以其即可以作为一个计算器,但是下面的自动就出现了相应的默认求解工具,

我们任意选择一个,比如说是,点击质因数分解,可以得到输出结果的所有因子,并可以继续对因子进行相应的计算:

(2)因式分解,也就是说进行合并同类项,这一个非常重要,往往很多时候用在我们撰写文章求解计算时。

(3)求解方程组,使用函数Solve[]

(4)求导数和积分,输入D即可以得到很多选项

(4)一般在撰写文章时,需要绘制图形

A=x*Sin[x】*2*x

(5)计算向量矩阵的特征值

(3)基本操作

3.1 基本运算符

①Mathematica支持常见运算符+ - * / ^ ! (加,减,乘,除,指数,阶乘)。

②逻辑运算符&&与,||或,!非;

③乘法之间既可以用*,又可以用空格表示,如2 3=2*3=6,不过个人认为最好用*表示,否则可能仅仅用空格表示,可能会使的程序可读性变差。

④n! 就表示计算n的阶乘

⑤ ()圆括号表示项的结合顺序,如(x+(y^x+1/(2x)));[]方括号表示函数,如Log[x],BesselJ[x,1];{}大括号表示一个“表”(一组数字、任意表达式、函数等的集合),如{2x,Sin[12 Pi],{1+A,y*x}};[[]]双方括号表示“表”或“表达式”的下标,如{1,2,3}[[1]]=1。

⑥ base^^num表示以base为进位的数

3.2 基本操作

Line1; 执行Line,不显示结果

Line1,line2 顺次执行Line1,2,并显示结果

?name 关于系统变量name的信息

??name 关于系统变量name的全部信息

!command 执行Dos命令

!!filename 显示文件内容

<<filename 读入文件并执行

Expr>> filename 打开文件写,这里的Expr就是文件的名所对应的字符串;

Expr>>>filename 打开文件从文件末写;

<*Math Fun*> 在c语言中使用math的函数

(*Note*) 程序的注释

#n 第n个参数

## 所有参数

rule& 把rule作用于后面的式子

% 前一次的输出

%% 倒数第二次的输出

%n 第n个输出

var::note 变量var的注释

"Astring " 字符串

Context ` 上下文

++,-- 自加1,自减1

=,-=,*=,/= 同C语言

>,<,>=,<=,==,!= 逻辑判断(同c)

lhs=rhs 立即赋值

lhs:=rhs 建立动态赋值

lhs:>rhs 建立替换规则

lhs->rhs 建立替换规则

expr//funname 相当于filename[expr]

expr/.rule 将规则rule应用于expr

expr//.rule 将规则rule不断应用于expr直到不变为止

param_ 名为param的一个任意表达式(形式变量)

param__ 名为param的任意多个任意表达式(形式变量)

3.3表达式

Mathematica可直接将字母符号带入运算,如x+2y+y=x+3y(字母符号的运算);f=2x(定义一个含有字母的表达式)。自定义的变量可以取几乎任意的名称,长度不限,但不可以数字开头。另外,①回车表示换行,Shift键与回车同时按下表示执行程序。②一个表达式以分号;结尾则不输出计算结果,一行可以写多个表达式,但是需要用分号分隔。

3.4 系统常数

Pi 3.1415....的无限精度数值

E 2.17828...的无限精度数值

Catalan 0.915966..卡塔兰常数

EulerGamma 0.5772....高斯常数

GoldenRatio 1.61803...黄金分割数

Degree Pi/180角度弧度换算

I 复数单位

Infinity 无穷大

-Infinity 负无穷大

ComplexInfinity 复无穷大

Indeterminate 不定式

3.5 内置函数:

Mathematica有已经定义好的内置函数,其以大写字母开头,如常见的Sin[]正弦函数,Plot[]用于函数绘制,Expand[]用于多项式展开等。

3.6 求解精度:

Mathematica默认以绝对精确的形式输出计算结果。例如:输入 In[1]:=367/122,系统会输出Out[1]:=367/122,如果想得到近似解,则应输入 In[2]:=N[378/123,3],即求其5位有效数字的数值解,系统会输出Out[2]:=3.01;此外,Mathematica还可以根据你前面使用的数字的精度自动地设定精度。

3.7 表的使用

如果建立了一个表,可以通过下表操作符[[]](双方括号)来访问它的每一个元素,如定义table={2,Pi,Sin[x],{aaa,A*I}}为一个表,那么table[[1]]就为2,table[[2]]就是Pi,而table[[3,1]]表示嵌套在table中的子表{aaa,A*I}的第一个元素即aaa,table[[3,2]]表示{aaa,A*I}第二个元素即A*I。总之,表每一层次上并列的部分用逗号分割,表可以无穷嵌套。

添加表元素:通过Append[表,表达式]或Prepend[表,表达式]把表达式添加到表的最前面或最后面,如Append[{1,2,3},a]表示{1,2,3,a},也就是说在后边添加a。

合并表元素:通过Union[表1,表2,......];Jion[表1,表2,......]来把几个表合并为一个表,二者不同在于Union在合并时删除了各表中重复的元素,而后者仅是简单的合并;

合并表元素(抹平表元素):使用Flatten[表]把表中所有子表"抹平"合并成一个表;如Flatten[{1,2,{Sin[x],dog},{{y}}}]表示{1,2,Sin[x],y},

子表分割:Patition[表,整数n]把表按每n个元素分段作为子表,集合成的表。Partition[{1,2,Sin[x],y},2]把表每两个分段,结果为{{1,2},{Sin[x],y}};

删除、插入表元素:通过Delete[表,位置]、Insert[表,位置]向表中按位置插入或删除元素,如可用Delete[table[[3,2]]]来实现;

表元素的排序、倒置、翻转:Sort[表]给出了表中各元素的大小顺序,Reverse[表]将表中元素倒置处理,RotateLeft[表,整数n]、RotateRight[表,整数n]可以分别将一个表进行翻转、左转n个元素、右转n个元素等操作。

表长度计算:Length[表]给出了表第一个层次上的元素个数;

表元素的位置:Position[表,表达式]给出了表中出现该表达式的位置,类似于C++中的指针,但是看上去比指针更好用;

表元素出现次数计算:Count[表,表达式]则给出表达式出现的次数。

想要系统学习Mathematica软件的,可以关注我的CSDN博客,

另外,木子在CSDN技术社区上推出了Python、Matlab、Wolfram Mathematica等小白课,仅需19.9元,就可以与木子一起学编程、学算法。木子会分享科研与编程方面的心路历程,另有机器学习的相关算法整理和复现,欢迎关注。

获取方式一:直接搜索:爱听雨声的北方汉。

获取方式二:https://blog.csdn.net/qq_25018077?spm=1000.2115.3001.5343


以上就是关于《Mathematica教程(1)--认识Mathematica-mathematica12教程》的全部内容,本文网址:https://www.7ca.cn/baike/64108.shtml,如对您有帮助可以分享给好友,谢谢。
标签:
声明

排行榜