说起数学软件,我们很多人脑子里浮现出的第一个就是 matlab,不可否认,matlab 确实是一个优秀的数学软件,但是它需要付费啊(这里不讨论盗版问题)。那么有没有一个同样强大但免费的数学软件呢?答案是肯定的,那就是本文所要说的 Maxima,当然了,不只是有这一个。

预备知识

在正式介绍其使用方法之前,想先介绍 Maxima 里面一些规则。

  1. 在求极限的时候,如果极限不存在,范围值可能为 und(极限不存在),ind(极限不存在但是有界),infinity(发散)
  2. 自然常数 e 用 %e 表示
  3. 圆周率 π 用 %pi 表示
  4. 注释:方法与 C 语言相同,/*...*/

一、求极限

在 Maxima 中用 limit 函数来进行极限求解。

limit (expr, x, val)  /*计算 x 趋近于 val 时 expr 的极限*/

limit (expr, x, val, dir) /*dir 为 plus 时求的是右极限,为 minus 时求的是左极限。*/

例如:

limit(sin(x)/x,x,0);

limit((1+1/x)^x,x,inf);

limit((2^(1/x)+1)/(2^(1/x)-1),x,0);

limit((2^(1/x)+1)/(2^(1/x)-1),x,0,minus);

limit((2^(1/x)+1)/(2^(1/x)-1),x,0,plus);

limit((2*x^2+x)/(x^2-2),x,inf);

二、求和与求积运算

可以使用 sum 和 product 函数进行求和以及求积操作。

sum (expr, i, i_0, i_1)  /*求和*/
product (expr, i, i_0, i_1) /*求积*/

例如:

sum (i^2, i, 1, 7);

sum (a[i], i, 1, 7);

sum(1/k^2,k,0,inf);

sum (1/3^i, i, 1, inf), simpsum;

product (x + i*(i+1)/2, i, 1, 4);

product (a(i), i, 1, n);

product (k, k, 1, n), simpproduct;

三、taylor 级数展开

函数f(x)的在 x = a 附近的幂级数可以通过 powerseries (f(x), x, a) 获得。

powerseries (f(x), x, a);/*求 x=a 处f(x)的幂级数*/

例如:

powerseries(1/(1-x^2), x, 0);

上面得到的结果中的求和指数 i2 看起来显得不那么专业,可以用 niceindices 函数将其变的看起来更专业些。

niceindices(powerseries(1/(1-x^2), x, 0));

很多时候我们无法得到级数的解析表示,这时候可以用 taylor (f(x), x, a, n)得到函数f(x)在x = a附近第 n 阶项((x - a)^n)以下各项的泰勒级数

taylor(sin(x), x, 0, 8);

同样,对多元函数也可以进行 taylor 展开。

taylor (sin (y + x), x, 0, 3, y, 0, 3);

利用 pade 近似可以将 taylor 级数转化为多项式函数。比如下面的例子

taylor(sin(x), x, 0, 8);

pade(%,5,5);

未完待续!!

作者:耑新新,发布于  博客园

转载请注明出处,欢迎邮件交流:zhuanxinxin@aliyun.com

Maxima 使用教程的更多相关文章

  1. NumPy的详细教程

    原文  http://blog.csdn.net/lsjseu/article/details/20359201 主题 NumPy 先决条件 在阅读这个教程之前,你多少需要知道点python.如果你想 ...

  2. OpenCV教程(44) harris角的检测(2)

          在上一篇教程中,我们得到的harris特征角二值图中,角的数目特别多,本章我们用一个局部最大化的方法,只保留局部值最大的harris特征角. // Harris角计算 cv::corner ...

  3. 【转】numpy教程

    [转载说明] 本来没有必要转载的,只是网上的版本排版不是太好,看的不舒服.所以转过来,重新排版,便于自己查看. 基础篇 NumPy的主要对象是同种元素的多维数组. 这是一个所有的元素都是一种类型.通过 ...

  4. 转:Numpy教程

    因为用到theano写函数的时候饱受数据结构困扰 于是上网找了一篇numpy教程(theano的数据类型是基于numpy的) 原文排版更好,阅读体验更佳: http://phddreamer.blog ...

  5. Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求

    上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...

  6. Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数

    上一篇:Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数 之前介绍了简单的路由以及传参,这篇文章我们将要学习复杂一些的路由以及传递其他附加参数.一个好的路由系统可以使我们 ...

  7. Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数

    上一篇:Angular2入门系列教程-服务 上一篇文章我们将Angular2的数据服务分离出来,学习了Angular2的依赖注入,这篇文章我们将要学习Angualr2的路由 为了编写样式方便,我们这篇 ...

  8. Angular2入门系列教程4-服务

    上一篇文章 Angular2入门系列教程-多个组件,主从关系 在编程中,我们通常会将数据提供单独分离出来,以免在编写程序的过程中反复复制粘贴数据请求的代码 Angular2中提供了依赖注入的概念,使得 ...

  9. Angular2入门系列教程1-使用Angular-cli搭建Angular2开发环境

    一直在学Angular2,百忙之中抽点时间来写个简单的教程. 2016年是前端飞速发展的一年,前端越来越形成了(web component)组件化的编程模式:以前Jquery通吃一切的田园时代一去不复 ...

  10. wepack+sass+vue 入门教程(三)

    十一.安装sass文件转换为css需要的相关依赖包 npm install --save-dev sass-loader style-loader css-loader loader的作用是辅助web ...

随机推荐

  1. 解决 Docker CE 在无根模式(rootless)下无法通过 IPv6 拉取映像的问题

    折腾一天快把我逼疯了 本来 Docker 对 IPv6 的支持就不好,再来个 rootless,雪上加霜 首先,我们要区分 Docker Engine 和 里面的 Image. 拉取映像是 Docke ...

  2. 利用XtraBackup对MGR集群进行扩容

    运行了一段时间以后MGR集群,需要扩容节点,这是一个常见的需求.很多时候我们都喜欢用mysqldump工具来进行,因为这个工具有一个很好用的参数叫做master-data以及single-transa ...

  3. 微服务全链路跟踪:jaeger集成hystrix

    微服务全链路跟踪:grpc集成zipkin 微服务全链路跟踪:grpc集成jaeger 微服务全链路跟踪:springcloud集成jaeger 微服务全链路跟踪:jaeger集成istio,并兼容u ...

  4. 轻松易懂,一文告诉你什么是http协议?

    阅读本文之前,请详细阅读以下几篇文章: <一文包你学会网络数据抓包> <教你如何抓取网络中的数据包!黑客必备技能> 一.什么是http? Http协议即超文本传送协议 (HTT ...

  5. visual studio安装MFC模板

    计算机图形学 奇怪的重点 需要单击选中使用C++的桌面开发 才会跳出右侧的选项 要么就是展开右侧的收缩

  6. CSP-J 第一轮 2024模拟卷-1

    CSP-J 第一轮 2024模拟卷-1 单项选择题 我只写重点!!! 第四题 NOI复赛评测机所用的Linux系统属于() A.UML B.IDE C.OS D.Database 答案:C 解析:UM ...

  7. win2003 密钥 vl_cd1_X13-46432.iso

    1.使用的 ISO为:cn_win_srv_2003_r2_enterprise_with_sp2_vl_cd1_X13-46432.iso 2.迅雷链接 ed2k://|file|cn_win_sr ...

  8. Java多线程并发之同步容器和并发容器-第一篇

    Java多线程并发之同步容器和并发容器-第一篇 概述 本文主要讲解在Java多线程并发开发中,集合中有哪些支持并发的的.什么是同步容器(集合),什么是并发容器(集合)?并发容器分类有哪些?每个分类都有 ...

  9. vue 中 elementUI el-table 实现滚动加载

    vue 中 elementUI el-table 实现滚动加载 一.需求 vue 中 elementUI el-table 实现滚动加载,场景:当表格需要显示大量数据时,又想通过一页来进行展示数据. ...

  10. 使用 `Roslyn` 分析器和修复器 对异步方法规范化返回Async结尾

    之前写过一篇使用修复器帮助添加头部注释文本的功能,今天使用Roslyn的代码修复器对异步返回方法规范化的功能 实现分析器 首先需要实现分析器,使用RegisterSyntaxNodeAction,分析 ...