预备知识-Matlab基础知识_第1页
预备知识-Matlab基础知识_第2页
预备知识-Matlab基础知识_第3页
预备知识-Matlab基础知识_第4页
预备知识-Matlab基础知识_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一讲Matlab基础知识

本次课的目的:

熟悉上机环境;了解并掌握Matlab的基本操作,并掌握基本的数学运算。

1.1Matlab概述:

Matlab来源于MatrixLaboratory,它的首创者是在数值代数领域颇具影响的Cleve

Moler博士(也是MathWorks的创始人之一)。Matlab本身是一-种科学计算软件,专门以矩

阵的形式处理数据。它把高性能的计算与可视化集成在一起,同时提供了大量的内置函数,

来提供了一种高级的解释型编程语言一一M语言。同时针对每一类问题开发了工具包

(Toolbox),并且大多都是开放的,这样就使得工程技术人员、科研人员在使用Matlab的同

时可以很容易的对其扩充,这使其更具竞争力。

Matlab历史:1984-2010,不同的版本不断地完善。

Matlab优点:

•编程简单,类似于其他语言,如C

•集成度更高,扩展性更好

•数学问题数值解能力强大

•由Maple内核构成的符号运算工具箱可以继承Maple所有解析解的求解能力

•在数学、工程领域有各种“工具箱”

・强大的系统仿真能力,Simulink建模,在控制界是国际首选的计算机语言

Matlab的功能:

三大基本功能:数值计算、符号计算、图形处理

程序设计与应用程序接口

MATLAB科学计算中的应用

在数值分析中的应用

多项式与插值、数据的曲线拟合

数值微分与数值积分

线性代数

非线性方程求根

微分方程

在最优化问题中的应用

在概率统计中的应用

在偏微分方程解法中的应用

在复变函数中的应用

数学问题的非传统解法

模糊逻辑与模糊推理

神经网络在数据拟合中的应用

遗传算法在最优化求解中的应用

在建模仿真中的应用

Matlab安装:2009a,2009b以前的版本,安装无需激活。2009a-2010b再安装之后需要激

活。

介绍Matlab操作界面

打开Matlab后,有儿个窗口:CommandWindow(命令窗口);Workspace;CommandHistory.

CommandWindow:可以直接输入命令行来实现计算或作图功能。它也可以单独显

示。举个例子:在命令窗口输入

A=[l23;456;789]%(注释符)创建矩阵A

输出A=

123

456

789

(变量名,注释,空格,逗号)

输入A*3

ans=

369

121518

212427

(ans它是answer的缩写。同时在Workspace中会有两个变量:A,ans)

接下来输入a=3.141592回车后输出

a=3.141592

a=

3.141592000000000

输入》formatshort

»a

a=

3.1416

(formatshort命令是数据显示的控制命令,表示小数点后有4位有效数字,

formatlong,表示小数点有15位有效数字,类似的还有一些数据显示格式的控制指令:

formatshorte表示用5位科学计数法表示,formatlonge表示用15位科学计数法表示)

a=3.1416e+000,(c=1.111le-001,),3.141592000000000e+000,

(2)常见的通用操作指令

Matlab提供了一些基本的操作指令,如查看、保存或删除当前工作空间中的变量等。

clc清除CommandWindow,光标回到屏幕的左上角

clear清除Workspace中所有变量

who列出当前Workspace中的变量

whos列出当前Workspace中的变量和信息

deletev文件名,删除磁盘中的指定文件

what列出当前目录下的m文件和mat文件

clearall清除Workspace中所有变量和函数

help查询所列命令的帮助信息

(3)CommandWindow中的标点符号

空格用于变量之间的分隔符及数组行元素之间的分隔符

逗号(,)用于要显示计算结果的命令之间的分隔符;用于变量之间

的分隔符及数组行元素之间的分隔符

冒号(:)用于生成一维数组,还可以表示一维数组的全部元素和多

维数组某一维的全部元素。

分号(

;)用于不显示计算结果命令行的结尾,用于不显示计算结果

命令行之间的分隔符,用于数组元素行之间的分隔符

引号(一)表示字符串

(%)表示注释,它后面的命令不执行

([])用于构成向量和矩阵,用于函数输出列表

(())运算的先后次序,用于函数输入变量列表,引用数组元素

当前目录(currentfolder;CurrentDirectory)

一般默认“Matlab/work”,单击Matlab/bin/win32/matlab.exe则默认为

“Matlab/bin/win32”

Worspa阳工作空间浏览器窗口)

同时提供了保存(save,load等命令)

CommandHistory

它有很多实用的功能,如:单行或多行的复制(选中一copy),单行或多行命令的运行

(EvaluateSelection),双击某•行,执行该行命令,方向

键的使用

Matlab的帮助系统

Matalb提供了数目繁多的命令和函数,要把他们都记录下来,很不现实。可行的办法是先

掌握一般的、基本的内容,然后在实践中不断总结和积累,逐步掌握其他内容。而通过软件

系统本省提供的帮组系统来学习软件的使用时非常有效的方法。其次可以利用网络资源,如

Mathworks公司的主页(),国内也有很多网站有丰富的信息。

帮助命令:

要了解Matlab最简洁的方式是在CommandWindow通过帮助命令对特定的内容进行快速

查询。常用的命令是help.

例如:help回车会出现许多内容,如:

matlab\elfun-Elementarymathfunctions.

matlab\helptools-Helpcommands.

matlab\demos-Examplesanddemonstrations.

simulink\simulink-Simulink

finance\finance-FinancialToolbox

finance\calendar-FinancialToolboxcalendarfunctions.

finance\findemos-FinancialToolboxdemonstration

function.

finance\ftseries-FinancialToolboxTimesSeriesFunctions.

finderiv\finderiv-FinancialDerivativesToolbox

helpelfun回车后就会看见基本初等函数:三角函数(Trigonometric,sincostan

cot,asin,acos,atan,acot,Exponential.exp,log,Iog2,log10,

pow2-Base2powerandscalefloatingpointnumber.

realpow-Powerthatwillerroroutoncomplexresult.

reallog-Naturallogarithmofrealnumber.

realsqrt-Squarerootofnumbergreaterthanorequaltozero.

sqrt-Squareroot.

nthroot-Realn-throotofrealnumbers.

nextpow2

realpow(3,2)

ans=

9

输入helpdemos(会出现各种例子和演示,这是很好的学习方法,缺点需要时间耐心的看

完)

基本初等运算:放在1.2节讲(注意它的特别之处)

1.2Matlab基本知识

实数的运算法则+-*/A;a+b,a-b,a*b,a/b,aAb(取a,b为具体的数计算)

abs(a)为数a的绝对值。

我们要学习常量的表示:数组和矩阵及其运算

数组(array)

1.一维数组的标识、访问与赋值

一维数组本身就是一行向量。如何在Matlab中输入一个数组呢?(或

者表示一个数组呢)看一个例子:

例子:输入向量(1,2,3,4)

在CommadWindow窗口输入:

[1234],然后回车得到

ans=

1234

注意:数组需要用使用方括号,数组的元素用空格隔开,也可以用逗

号隔开上述数组也可以在如下输入:

[1,2,3,4]回车后看到答案是

ans=

1234

若令a=[l234](这是个赋值语句,把数组口234]给变量a).现在想查

询a的第三个元素,可如下操作,在CommandWindow中输入:

a=[l234];a(3)回车得到答案:

ans=

3

若查询数组a的第二到第四个元素

输入a(2:4)回车得到

a(2:4)

ans=

234

除了直接输入外,最常用的用来产生相同增量的向量的方法是利用

算符。例如,在命令窗口输入:

Z=l:5回车后得到

z=

12345

这是增量为1的数组,此为默认状态。也可产生单位增量不是1

的如:

x=0:pi/4:似表示产生-一个0到pi的行向量,单位增量为pi/4)回车

后得到:

x=

00.78541.57082.35623.1416

2.多维数组(矩阵)的输入,标识,访问和赋值

手工输入一个矩阵如:

A=[l23;456;789]回车得到

A=

123

456

789

是一个3乘3阶的矩阵。可以看出,每行元素是用空格来分隔元素,

每行用分号“;”来换行。

利用函数输入一些矩阵常用的如下:

ones(3)

ans=

111

111

111

数组和矩阵的四则运算。

(1)数组的加法a=[l,2],b=[3,4],显然a+b=[4,6]

若a=[l25]b=[3,4],a+b不能相加

(2)数组的乘法、除法

若a=[l2],b=[3,4],输入a*b会出错。

有一种新的运算输入a.*b

ans=38

表示数组的每个对应元素的乘积,做乘积后还是数

组。类似的还有例如a./b

ans=

1/31/2

“.八”如a.八2回车后得到

»a.A2

ans=

14

再输入aJb,回车后得到

»a.Ab

ans=

116

(3)size(),这命令输出数组或矩阵的维数

a=[l23],输入size(a)得到

»size(a)

ans=

13

若输入length(a)得到

length(a)

ans=

3

表示数组的“长度”,若是行向量,就是行数;若是列向量,

就表示是列数

输入a,得到是"

ans=

1

2

3

»length(a)

ans=

3

矩阵的运算.

加减乘分别用.Matlab还提供了除法(看帮助自己

学)Arithmeticoperators.

plus-Plus+

uplus-Unaryplus+

minus-Minus-

uminus-Unaryminus-

mtimes-Matrixmultiply*

times-Arraymultiply.*

mpower-MatrixpowerA

power-Arraypower.A

mldivide-Backslashorleftmatrixdivide\

mrdivide-Slashorrightmatrixdivide/

Idivide-LeftarraydivideA

rdivide-RightarraydivideJ

idivide-Integerdivisionwithroundingoption,

kron-Kroneckertensorproduct

Relationaloperators.

eq_Equal==

ne-Notequal~=

It-Lessthan<

gt-Greaterthan>

le-Lessthanorequal<=

ge-Greaterthanorequal>=

(转置,输入命令A,输出后是矩阵A)

A=

123

456

B=

234

789

»A=B

ans=

000

000

»A~=B

ans=

111

111

类似的可以看到A<B,A>B,A<=B,A>=B

注意:

还有些能够用函数生成的矩阵。如

zeros

如:B=zeros(n)%生成n阶方阵

B=zeros(m,n)%生成m行n列矩阵

zeros(2,2,2)

ans(:,:,l)=

00

00

ans(:,:,2)=

00

00

函数:eye

eye(n),eye(m,n),eye(size(A))生成单位阵

函数:ones

ones(m),ones(m,n),ones(size(A))生成全一阵

注意:输入的时候,m,n一定要带入具体的数

几种矩阵操作:改变它的形式、取出子矩阵、扩充矩阵和旋转矩阵。其中

最重要的算符为“:”,它的作用是取出选定的行和列。

若A=[l,2,3;4,5,6;7,8,9],则A(:,l)表示第一歹U,输出的是列向量。A(l,:)

表示的第一行,输出的是第一行,是一个行向量。

A(:)(自己验证)(输出的是按列的方向拉成长长的1列(向量))

变形函数如下:fliplr,flipudjesh叩e,例子如下:

A=[l23;456],fliplr(A)输出的结果是

A=

123

456

»fliplr(A)

ans=

321

654

flipud(A),

»flipud(A)

ans=

456

123

现在需要对矩阵A增加一行(或一列)该如何做呢?

A=[A;789]

A=[A;789]

A=

123

456

789

再增加一列有

»A=[A(l,:),10;A(2,:),ll;A(3,1),12]

A=

12310

45611

78912

看reshape命令,

reshape(A,2,6)

»reshape(A,2,6)

ans=

1753911

42861012

可以看出reshape命令是将矩阵的元素以列为单位进行重组,把原来的3

乘4阶的矩阵变成了2成6阶的矩阵。且按列展开。

对函数的运算问题

令a=[1,2,3],sin(a)即:

»sin(a)

ans=

0.84150.90930.1411

»sin(A)

ans=

0.84150.90930.1411-0.5440

-0.7568-0.9589-0.2794-1.0000

0.65700.98940.4121-0.5366

(4)矩阵的行列式,矩阵的秩,特征值,特征根,矩阵的逆运算

行列式:det(),如A=[l3;24].det(A).

矩阵的秩:rank(),rank(A)

矩阵的特征值、特征根运算d=eig(A),(d是一个列向量,当A非对称

矩阵的时候,不-一定都是实数)。[V,D]=eig(A),输出的V是特征向量的矩阵

A=

10

0-1

»d=eig(A)

d=

-1

1

»[V,D]=eig(A)

V=

01

10

D=

-10

01

A*V==V*D

ans=

11

11

关于常量我们就讲这么多,下面我们讲变量

第一个问题就是变量名的问题。MATLAB语言的变量命名规则是:

(1)变量名必须是不含空格的单个词;(2)变量名区分大小写;

(3)变量名最多不超过19个字符;(4)变量名必须以字母打头,之后可以

是任意字母、数字或下划线,变量名中不允许使用标点符号。

Matlab保留的常量有如下:

特殊变量取值

ans用于结果的缺省变量名

Pi圆周率

计算机的最小数,当和1相加就产生一个比

eps

1大的数

flops浮点运算数

inf无穷大,如1/0

NaN不定量,如0/0

i,Ji=j=7-1

nargin所用函数的输入变量数目

nargout所用函数的输出变量数目

realmin最小可用正实数

realmax最大可用正实数

对提高matlab编程能力的方法,我想主要有以下三个:

1.查help

2.多上上论坛,搜索帖子、发帖子问人

3.阅读别人、特别是牛人的程序

当然了,正如所有的程序语言一样,”3分课本7分上机”,•定要动手

才行,不能光看。多想、多思考、多尝试,才是正路。

最后,整理一下常用的快捷键(用[]表示)或命令:

1.I.在命令窗LI(CommandWindow)中:

2.I)【上、下健】——切换到之前、之后的命令,可以重复按多次来达到你想要的命令

3.2)clc一一消除命令窗口显示的语句,此命令并不清空当何工作区的变圻,仅仅是把辨幕上显示出来的语句清除掉

4.3)clear——这个才是清空»前1.作区的变量命令,常用语句clearall来完成

5.4)[Tab](转白版友心灯》在maUab@看到的:在command窗门,输入'个命令的前几个字符,然后按lab

键,会弹出前面含这儿个字符的所有命令,找到你要的命令,回车,就可以自动完成。目前讨论结果是:mallab6.5版本中,

如果候选命令超过100个,则不圾示而在matlab7以后版本中,则没有这个限制,均可正常提示

6.5)[Ctrl+C](«£ICtrl+Br^k])-------(转自版友yangjin_ren)在哗Uab程序运行过程中,可能由于程序编写的失误,导致

程序不停的运行.在命令窗口输入“Ctrl+C”可以将运行的程序停下来,而不需要将整个Matlab程序关掉.不过进行此操作的前

提是能够激活切换到命令窗口才行,呵呵。

2.在编辑器(Editor)中:

1.1)【Tab】(或【Cm+]】)一增加缩进(对多行有效)

2.2)【Ctrl”】一一减少缩进(对多行有效)

3.3)[Ctrl+lJ一一自动缩进(即自动排版,对多行有效)

4.4)[Ctrl+R]——注释(对多行有效)

5.5)(Ctrl+T]—去掉注释(对多行有效)

6.6)[Ctrl-B]―括号配对检杳(对版本6.5有效,但版本7.0无效,不知道是取消了还是换「另外的快捷键,请大牛们指点,

其他版本没有测试过)

7.7)[F12]——设置或取消断点

8.8)[F5]—运行程序

第二讲:Matlab绘图------基本操作

可视化图形比单纯的数据更具可读性,所包含的信息量也大,使用图形来呈现实验或运算结

果也更能够增加说服力。

《一》:Matlab二维绘图

首先,想打开一个图形窗口。应用figure即可实现。

»figure

也可以打开多个图形窗口,

»figure(1),figure(2)

画二维图形最常用的命令是plot函数。例如:

»x=-pi:0.01:pi;,y=sin(x);

»plot(x,y)

还可以对图形打给图形加上栅格线:

»girdon

事实上,plot函数画图时可以选择,线型,线的颜色,在节点处的形状。

»x="pi:0.1:pi;y=sin(x);

»plot(x,y;r-d')

其中,你r代表的是红色,-代表的是实线,d代表的在节点上采用的是菱形。这些都需要

用英文状态下的单引号括起来。

还可以表示其他的颜色,如y(黄色),m(紫色),c(青蓝),r(纤色),g(绿色),b(蓝色),

w(白色),k(黑色)。

线型:(表示点线)-.(虚点线)--(虚线)

记号类型.(表示点),。表示圈,x表示叉号,*表示星号,s表示正方形,d表示菱形,

p表示五角形,h表示六角形,v表示向上三角形,人表示向下三角形,〈表示向左三角形,>

表示向右三角形。

注意:线性,记号,颜色都需要用英文状态的单引号括起来。

我们接下来看如何在一个图形窗口中画多个图形。

首先把figure窗口分割成几个部分,用subplot函数来实现。

我们来实现这样的命令:

»subplot(2,1,1)

»plot(x,y,'r-v')

»subplot(2,1,2)

»plot(x,cos(x),'r-*')

可以看到subplot命令分别创建了两个坐标系,(如何看创建儿个坐标系?就是看它的前两

个参数2,1,这表示两行一列共2个坐标系)

下面看如何进行图形标注。

可以用命令来实现,也可以在figure窗口使用它提供的编辑工具来实现。

»plot(x,cos(x),T・*')

»xlabelfx,)

»ylabel(y)

表示对图形添加x轴标记和y轴标记

»title(,cos(x)r)

有时一张图中需要画多条曲线,为便于区分,可对图中的曲线进行标注说明。用legend

函数来实现

»legend('cos(x),)

也可以用text函数来实现,

»text(-l,0.5,'cos(x)')

注意(-1,0.5)表示加标注的位置,在横坐标为-1纵坐标为0.5的位置上加标注。

接下来的问题是如何在同一个窗口画多个图形。有这样几种方法,从简单到复杂的顺序来介

绍:

如,要在同一个窗口画出sin(x),cos(x)曲线,

可以使用holdon命令。

>>clf表示清除图形窗口的内容。

输入如下的命令:

»clf

»x=-pi:0.1:pi

»plot(x,cos(x),k*)

»holdon

»plot(x,sin(x);r-d')

»gridon%表示加格线

第二种方法:用plot函数

»plot(x,cos(x),,r-*,,x,sin(x),,y-d,)

其他的二维绘图命令:

绘制直方图的命令为bar

例如x=[l2345];y=[21357]

»bar(x,y)

怎样让每个直方图有不同的颜色呢?这个需要图形的句柄函数,这里先给出具体

答案。

x=U2345];产[32467]

»bar(x,y)

»b=bar(x,y);

»ch=get(b,'children');

»set(ch,'FaceVertexCData',[O0l;011;111;10l;010])

注意(set,get函数是对图形句柄操作的一组命令,其中children,

,FaceVertexCData'是这两个函数的参数选项)

»A=rand(3,2)%随机生成一个矩阵3-by-2

A=

0.8147236863931790.913375856139019

0.9057919370756190.632359246225410

0.1269868162935060.097540404999410

»bar(A,'group')

这是一个按列画图的图形

接下来看另一个函数fill

x=[l43];y=[7812]

fm(x,y,'r')

表示把由点(1,7)(4,8)(3,12)三个点围城的三角形用红色填充。

离散图形的绘制主要的命令有stem,stair

»t=linspace(-2*pi,2*pi,10);

%generatesarowvectortof10pointslinearlyspacedbetweenandincluding-2*pi

and2*pi.

»h=stem(t,cos(t),'fiH',

»set(get(h,'BaseLine'),'LineStyle',':')

»set(h,'MarkerFaceColor','red')

»title('Thestems')

stem注意这是画离散的图形

stair是画梯形图

stairs

功能:绘制梯形图。

stairs函数与stem函数类似,只是stem函数绘制竖条图,而stairs函数用于

绘制梯形图。例如输入

x=linspace(-2*pi,2*pi,40);

stairs(x,sin(x))

当然还可以画饼图等,具体看帮助或者Matlab书籍。

关于坐标轴有如下命令可以使用:

坐标控制

函数的调用格式为:

axis([xminxmaxyminymaxzminzmax])

axis函数功能丰富,常用的用法还有:

axisequal纵、横坐标轴采用等长刻度

axissquare产生正方形坐标系(缺省为矩形)

axisauto使用缺省设置

axisoff取消坐标轴

axison显示坐标轴

gridon/off命令控制是画还是不画网格线,不带参数的grid命令在两种状态之间

进行切换。

boxon/off命令控制是加还是不加边框线,不带参数的box命令在两种状态之间

进行切换。

现在看绘制三维图形。

直观的看一个例子:画一个球体

»sphere

这是一个画球体的命令,其结果为

画一个xA2/l+yA2/2人2+z八2/3人2=1的这样一个曲面的话,用如下命令:

»[x,y,z]=ellipsoid(0,0,0,1,2,3);%生成数据,0,0,0表示中心,123表示半

径。》surf(x,y,z)%生成曲面的命令。

为了显示三维图形,Matlab提供了丰富的三维绘图函数,包括三维数据的显示、

空间曲线、曲面、分块、填充及视角转换、旋转等功能操作。

1.类似二维图形,可以用plot函数操作。调用的格式是:

»plot3(x,y,z,s),其中s代表线型,颜色,跟二维的一样。

例如:

»t=0:pi/50:10*pi;

»plot3(t.*sin(t),t.*cos(t),t)

»plot3(t.*sin(t),t.*cos(t),t,'r-d')

同时,子图,多图的命令,仍然适合三维图形。holdon;supplot()仍然适用。

2.网格图和曲面图

所谓的网格图是把相邻的数据点连接起来形成的网状曲面。三维网格图形成

的原理为:现在x-y平面上指定一个长方形区域,采用与坐标轴平行的直线

将其分格;计算矩形网格点上的函数值,即z的坐标,从而得到三维空间的

数据点;把这些三维的点,用曲线和曲面连接起来就得到网格图。看如下例

子:

»[x,y,z]=peaks;

»mesh(x,y,z)

%peaks函数是用来生成三维高斯型分布的数据。网格图的不同的线条有不

同向颜色,而且颜色随着高度变化。Hiddenon;hiddenoff这两个命令控制隐

藏效果。

mesh和plot3何起来用可以标记出一些重要的点。看下面这个例子:

»clear%清空变量

»[x,y]=meshgrid([-3:0.2:3]);%meshgrid表示把平面打成格子。

»z=peaks(x,y);

»mesh(x,y,z)

»holdon

»plot3(x,y,z,,x7MarkerSize,,3)

3.曲面图

曲面图示是把网格图的每一小片填充成彩色表面。用到的函数是surf,它与

mesh的用法一样。看个例子:

»[x,y,z]=peaks;

»surf(x,y,z)

常有光照效果的,个函数,»surfl(x,y,z)

这是最基本的对图形的处理,还有好多内容,同学们要自己学习。还可以自

作动画的。

下面我们来学习编程。

首先来学习符号变量。然后学习M文件;

在学习,M语言的几种结构:循环,选择。

符号运算是由matlab符号数学工具箱提供的,是建立在Maple软件基础上的。

我先看一个例子:

我们输入:

»sqrt(5)

»ans=2.2361

这是matalb标准的数值类型。

下面我们看怎样得到符号对象。

»a=sym(5)

a=

5

»b=sqrt(5)

b=

5A(l/2)

现在把b转化成数值型的可以用double(b)来实现。

那如何创建符号表达式呢?可以用sym(),syms()函数。例如:

»a=sym(Elpha)%符号串要用两个英文状态下的单引号来实现。

a=

alpha

用sym来实现符号表达式:

»gr=sym('l+sqrt(5)/2‘)

gr=

5A(l/2)/2+1

现在我想得到Uax"+bx+c,如何实现呢?

»symsabcx%一次生成多个符号变量

»f=sym(,a*xA2+b*x+c,)

f=

a*xA2+b*x+c

有时候输出的符号表达式很复杂,可用函数simplify。函数来化简结果。

下面看一下符号矩阵:

»s=sym(,[abc;def;ghj]()

s=

[a,b,c]

[d,e,f]

[&h,j]

»det(s)

ans=

b*f*g-a*f*h+c*d*h-c*e*g+a*e*j-b*d*j

»eig(s)

ans=

a/3+e/3+j/3+(((((a+e+j)*(a*e-b*d-c*g+a*j-f*h+e*j))/6-(a+e+

j)A3/27+(a*f*h)/2-(b*/g)/2-(c*d*h)/2+(c*e*g)/2-(a*e*j)/2+(b*d*j)/2)A2-

((b*d)/3-(a*e)/3+(c*g)/3-(a*j)/3+(f*h)/3-(e*j)/3+(a+e+j)A2/9)A3)A(l/2)

-((a+e+j)*(a*e-b*d-c*g+a*j-f*h+e*j))/6+(a+e+j)A3/27-(a*f*h)/2+

(b*f*g)/2+(c*d*h)/2-(c*e*g)/2+(a*e*j)/2-(b*d*j)/2)A(l/3)+((b*d)/3-

(a*e)/3+(c*g)/3-(a*j)/3+(伊h)/3-(e*j)/3+(a+e+j)A2/9)/(((((a+e+j)*(a*e-

b*d-c*g+a*j-俨h+e*j))/6-(a+e+j)A3/27+(a*f*h)/2-(b*f*g)/2-

(c*d*h)/2+(c*e*g)/2-(a*e*j)/2+(b*d*j)/2)A2-((b*d)/3-(a*e)/3+(c*g)/3-

(a*j)/3+(f*h)/3-(e*j)/3+(a+e+j)A2/9)A3)A(l/2)-((a+e+j)*(a*e-b*d-c*g

+a*j-f*h+e*j))/6+(a+e+j)A3/27-(a*f*h)/2+(b*f*g)/2+(c*d*h)/2-

(c*e*g)/2+(a*e*j)/2-(b*d*j)/2)A(l/3)

a/3+e/3+j/3-(((((a+e+j)*(a*e-b*d-c*g+a*j-f*h+e*j))/6-(a+e+

j)A3/27+(a*f*h)/2-(b*/g)/2-(c*d*h)/2+(c*e*g)/2-(a*e*j)/2+(b*d*j)/2)A2-

((b*d)/3-(a*e)/3+(c*g)/3-(a*j)/3+(£*h)/3-(e*j)/3+(a+e+j)A2/9)A3)A(l/2)

・((a+e+j)*(a*e-b*d-c*g+a*j-f*h+e*j))/6+(a+e+j)A3/27-(a*f*h)/2+

(b*f*g)/2+(c*d*h)/2-(c*e*g)/2+(a*e*j)/2-(b*d*j)/2)A(l/3)/2-((b*d)/3-

(a*e)/3+(c*g)/3-(a*j)/3+(f*h)/3-(e*j)/3+(a+e+j)A2/9)/(2*(((((a+e+

j)*(a*e-b*d-c*g+a*j-f*h+e*j))/6-(a+e+j)A3/27+(a*f*h)/2-(b*f*g)/2-

(c*d*h)/2+(c*e*g)/2-(a*e*j)/2+(b*d*j)/2)A2-((b*d)/3-(a*e)/3+(c*g)/3-

(a*j)/3+(f*h)/3-(e*j)/3+(a+e+j)A2/9)A3)A(l/2)-((a+e+j)*(a*e-b*d-c*g

+a*j-/h+e*j))/6+(a+e+j)A3/27-(a*f*h)/2+(b*#g)/2+(c*d*h)/2-

(c*e*g)/2+(a*e*j)/2-(b*d*j)/2)A(l/3))-(3A(l/2)*((((((a+e+j)*(a*e-b*d-

c*g+a*j-f*h+e*j))/6-(a+e+j)A3/27+(a*f*h)/2-(b*f*g)/2-(c*d*h)/2+

(c*e*g)/2-(a*e*j)/2+(b*d*j)/2)A2-((b*d)/3-(a*e)/3+(c*g)/3-(a*j)/3+

(f*h)/3-(e*j)/3+(a+e+j)A2/9)A3)A(l/2)-((a+e+j)*(a*e-b*d-c*g+a*j-

f*h+e*j))/6+(a+e+j)A3/27-(a*f*h)/2+(b*f*g)/2+(c*d*h)/2-(c*e*g)/2+

(a*e*j)/2-(b*d*j)/2)A(l/3)-((b*d)/3-(a*e)/3+(c*g)/3-(a*j)/3+(f*h)/3-

(e*j)/3+(a+e+j)A2/9)/(((((a+e+j)*(a*e-b*d-c*g+a*j-f*h+e*j))/6-(a+

e+j)A3/27+(a*f*h)/2-(b*f*g)/2-(c*d*h)/2+(c*e*g)/2-(a*e*j)/2+

(b*d*j)/2)A2-((b*d)/3-(a*e)/3+(c*g)/3-(a*j)/3+(f*h)/3-(e*j)/3+(a+e+

j)A2/9)A3)A(l/2)-((a+e+j)*(a*e-b*d-c*g+a*j-f*h+e*j))/6+(a+e+

j)A3/27-(a*俨h)/2+(b*P1cg)/2+(c*d*h)/2-(c*e*g)/2+(a*e*j)/2-

(b*d*j)/2)A(l/3))*i)/2

a/3+e/3+j/3-(((((a+e+j)*(a*e-b*d-c*g+a*j-f*h

太多了,简化一下:

simplify(ans)

ans=

a/3+e/3+j/3+(((((a+e+j)*(a*e-b*d-c*g+a*j-f^h+e*j))/6-(a+e+

j)A3/27+(a*f*h)/2-(b*f*g)/2-(c*d*h)/2+(c*e*g)/2-(a*e*j)/2+(b*d*j)/2)A2-

((b*d)/3-(a*e)/3+(c*g)/3-(a*j)/3+(f*h)/3-(e*j)/3+(a+e+j)A2/9)A3)A(l/2)

-((a+e+j)*(a*e-b*d-c*g+a*j-f*h+e*j))/6+(a+e+j)A3/27-(a*f*h)/2+

(b*f*g)/2+(c*d*h)/2-(c*e*g)/2+(a*e*j)/2-(b*d*j)/2)A(l/3)+((b*d)/3-

(a*e)/3+(c*g)/3-(a*j)/3+(f*h)/3-(e*j)/3+(a+e+j)A2/9)/(((((a+e+j)*(a*e-

b*d-c*g+a*j-f*h+e*j))/6-(a+e+j)A3/27+(a*f*h)/2-(b*f*g)/2-

(c*d*h)/2+(c*e*g)/2-(a*e*j)/2+(b*d*j)/2)A2-((b*d)/3-(a*e)/3+(c*g)/3-

(a*j)/3+(f*h)/3-(e*j)/3+(a+e+j)A2/9)A3)A(l/2)-((a+e+j)*(a*e-b*d-c*g

+a*j-f*h+e*j))/6+(a+e+j)A3/27-(a*f*h)/2+(b*f*g)/2+(c*d*h)/2-

(c*e*g)/2+(a*e*j)/2-(b*d*j)/2)A(l/3)

a/3+e/3+j/3-(3A(l/2)*(((((a+e+j)*(a*e-b*d-c*g+a*j-f*h+e*j))/6-(a

+e+j)A3/27+(a*f*h)/2-(b*f*g)/2-(c*d*h)/2+(c*e*g)/2-(a*e*j)/2+

(b*d*j)/2)A2-((b*d)/3-(a*e)/3+(c*g)/3-(a*j)/3+(f*h)/3-(e*j)/3+(a+e+

j)A2/9)A3)A(l/2)-((a+e+j)*(a*e-b*d-c*g+a*j-f*h+e*j))/6+(a+e+

j)A3/27-(a*f*h)/2+(b*/g)/2+(c*d*h)/2-(c*e*g)/2+(a*e*j)/2-

(b*d*j)/2)A(l/3)*i)/2-(((((a+e+j)*(a*e-b*d-c*g+a*j-f*h+e*j))/6-(a+e

+j)A3/27+(a*f*h)/2-(b*f*g)/2-(c*d*h)/2+(c*e*g)/2-(a*e*j)/2+

(b*d*j)/2)A2-((b*d)/3-(a*e)/3+(c*g)/3-(a*j)/3+(f*h)/3-(e*j)/3+(a+e+

j)A2/9)A3)A(l/2)-((a+e+j)*(a*e-b*d-c*g+a*j-f*h+e*j))/6+(a+e+

j)A3/27-(a*仔h)/2+(b*f*g)/2+(c*d*h)/2-(c*e*g)/2+(a*e*j)/2-

(b*d*j)/2)A(l/3)/2-((b*d)/3-(a*e)/3+(c*g)/3-(a*j)/3+(f*h)/3-(e*j)/3+(a+

e+j)A2/9)/(2*(((((a+e+j)*(a*e-b*d-c*g+a*j-f*h+e*j))/6-(a+e+

j)A3/27+(a*f*h)/2-(b*/g)/2-(c*d*h)/2+(c*e*g)/2-(a*e*j)/2+(b*d*j)/2)A2-

((b*d)/3-(a*e)/3+(c*g)/3-(a*j)/3+(f*h)/3-(e*j)/3+(a+e+j)A2/9)A3)A(l/2)

-((a+e+j)*(a*e-b*d-c*g+a*j-f*h+e*j))/6+(a+e+j)A3/27-(a*f*h)/2+

(b*f*g)/2+(c*d*h)/2-(c*e*g)/2+(a*e*j)/2-(b*d*j)/2)A(l/3))+

(3A(l/2)*((b*d)/3-(a*e)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论