最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

MATLAB原理应用实验报告第三章(符号运算)

来源:动视网 责编:小OO 时间:2025-09-30 22:25:39
文档

MATLAB原理应用实验报告第三章(符号运算)

《MATLAB原理及应用》实验报告第三章MATLAB的符号运算一.实验目的1、掌握符号对象的命名方法2、掌握符号表达式的基本运算3、掌握符号级数的求法二.实验设备计算机、MATLAB软件三.实验内容1.确定符号表达式的变量为了简化符号对象的操作和计算,MATLAB为用户提过了findsym命令。r=findsym(S)确定符号表达式或者矩阵S中自由符号变量r=findsym(S,n)确定符号表达式或者矩阵S中靠近x最近的n个符号变量。【实验3-1】使用MATLAB的命令确定符号表达式的变量
推荐度:
导读《MATLAB原理及应用》实验报告第三章MATLAB的符号运算一.实验目的1、掌握符号对象的命名方法2、掌握符号表达式的基本运算3、掌握符号级数的求法二.实验设备计算机、MATLAB软件三.实验内容1.确定符号表达式的变量为了简化符号对象的操作和计算,MATLAB为用户提过了findsym命令。r=findsym(S)确定符号表达式或者矩阵S中自由符号变量r=findsym(S,n)确定符号表达式或者矩阵S中靠近x最近的n个符号变量。【实验3-1】使用MATLAB的命令确定符号表达式的变量
              《MATLAB原理及应用》实验报告

                  第三章 MATLAB的符号运算

一.实验目的

1、掌握符号对象的命名方法

2、掌握符号表达式的基本运算

3、掌握符号级数的求法

二.实验设备

计算机、MATLAB软件

三.实验内容

1.确定符号表达式的变量

     为了简化符号对象的操作和计算,MATLAB为用户提过了findsym命令。

      r=findsym(S)确定符号表达式或者矩阵S中自由符号变量

      r=findsym(S,n)确定符号表达式或者矩阵S中靠近x最近的n个符号变量。

【实验3-1】使用MATLAB的命令确定符号表达式的变量。

      在MATLAB的命令窗口中输入下例内容:

>> syms a x y z t

      确定下面简单符号表达式中的符号变量信息:

>>findsym(sin(pi*t))

         ans =

         t

      确定下面简单符号表达式中的符号变量信息:

>>findsym(x+i*y-j*z)

         ans =

         x, y, z

      确定下面简单符号表达式中的符号变量信息:

>>findsym(a+y,1)

         ans =

         y

2.符号表达式元算

1.符号表达式的四则运算

   表达式的四则运算与数字运算一样,用+、-、/、运算符实现,其运算结果依然是一个符号表达式。

【实验3-2】

  在MATLAB的命令窗口中输入下例内容: 

  >>f=sym('2*x^2+3*x-5');%定义符号表达式

g=sym('x^2-x+7');

f+g  

ans = 

3*x^2+2*x+2 

ans = 

3*x^2+2*x+2 

>> f^g

ans = 

(2*x^2+3*x-5)^(x^2-x+7)

3.符号表达式的提取分子和分母运算

如果符号表达式是一个有理分式或可以展开为有理分式,可以可利用numden函数来提取符号表达式的分子或分母。期一般调用格式为

[n,d]=numden函数来提取符号表达式

     该函数提取的符号表达式s的分子和分母,分别将它们存放在n和d中。

  【实验3-3】

        在MATLAB的命令窗口中输入下例内容:

>> f= sym('a*x/(b+x)');

>> [n,d]=numden(f)

n =

a*x

d = 

b+x

  numden函数在提取各部分之前,将符号表达式有利化后返回所得分子和分母

>> g=sym('(x^2+3)/(2*x-1)+3*x/(x+1)');

>> [n,d]=numden(g)

n =

x^3+7*x^2+3

d = 

(2*x-1)*(x+1)

如果符号表达式是一个符号矩阵,numden返回两个新矩阵n和d,其中n是分子矩阵,d是分母矩阵。

>> h=sym('[3/2,(2*x+1)/3;a/x+a/y,x+4]')

h =

[       3/2, (2*x+1)/3]

[   a/x+a/y,       x+4]

>> [n,d]=numden(h)

n =

[       3,   2*x+1]

[ a*(y+x),     x+4]

d = 

[   2,   3]

[ x*y,   1]

4.符号表达式的因式分解与展开

MATLAB提供了符号表达式分解与展开的函数,函数的调用格式为

①factor(s) :对符号表达式s分解因式。

②expand(s):对符号表达式s进行展开。

③collect(s):对符号表达式s进行合并同类型。

④collect(S,v) 将表达式S中相同次幂的合并,v的默认值是x

【实验3-4】

>> syms x y

    下面简单符号表达式s1因式分解

>> s1=x^3-y^3;

>> factor(s1)

     ans = 

     (x-y)*(x^2+x*y+y^2)

    下面简单符号表达式s2进行展开

>> s2=(-7*x^2-8*y^2)*(-x^2+3*y^2);

>> expand(s2)

     ans =

     7*x^4-13*x^2*y^2-24*y^4

     下面简单符号表达式s3按变量y合并同类型

>> s3=(x+y)*(x^2+y^2+1);

>> collect(s3,y)

     ans =

     y^3+x*y^2+(x^2+1)*y+x*(x^2+1)

     下面简单符号整数分解因式

>> factor(sym(630))

    ans = 

     (2)*(3)^2*(5)*(7)

5.符号表达式的化简

     MATLAB提供的对符号表达式化简的函数如下

Simplify(s) ;应用MuPAD简化规则对s进行化简。

Simple(s):调用MATLAB的其他函数对表达式进行综合化简,并显示化简过程。

【实验3-5】

 在MATLAB的命令窗口中输入下例内容:

>> s=sym('(x^2+5*x+6)/(x+2)');

>> simplify(s)

ans = 

x+3

>> s=sym('[2*cos(x)^2-sin(x)^2,sqrt(16)]');

>> simplify(s)

ans =

[ 3*cos(x)^2-1,  4]

函数simple试用了几种不同的化简工具,然后选择在结果表达式中含有最少字符的那种形式。

 下面是表达式cos(3arccos(x))的化简结果

>> s=sym('cos(3*acos(x))');

>> simple(s) %自动调用多种函数对s化简,并显示每步结果

显示一系列化简过程后,最后显示化简结果

   ans = 

   4*x^3-3*x

6.级数符号求和

求无穷级数的和需要符号表达式求和函数symsum,其调用格式为

 Symsum(s,v,,n,m)

其中s表示一个级数的通项,是一个符号表达式。v是求和变量,v省略时使用系统的默认变量。n和m是求和的开始项和末项。

【实验3-6】求

在MATLAB的命令窗口中输入下例内容:

>> syms k

>> symsum(1/k^2,k,1,inf)

ans =

1/6*pi^2 

>> eval(ans)

ans =

    1.49

  7.符号微积分

     1.符号的积分

     符号积分由函数int来实现,一般调用格式如下。

     int(s):没有指定积分变量和积分阶数时, 

     int(s,v): 义v为自变量,对被积函数或符号表达式求不定积分。

     int(s,v,a,b): 求定积分运算,a,b分别表示定积分的上下限。求函数的定积分

 【实验3-6】 

  (1)  

   在MATLAB的命令窗口中输入下例内容:

>> f=sym('cos(x)');

>> int(f)

    ans =

    sin(x)

   2.符号的微分

         diff函数用于对符号表达式求导数,一般调用格式如下。

         diff(s) :按findsym 函数指示的默认变量对符号表达式s求一阶导数。

         diff(s,’v’) :以v为自变量,对符号表达式s求一阶导数。

         diff(s,n) :按findsym 函数指示的默认变量对符号表达式s求n阶导数。

         diff(s,’v’,n) ::以v为自变量,对符号表达式s求n阶导数。

  【实验3-7】 已知f(x)=ax2+bx+c,求f(x)的微分。

    在MATLAB的命令窗口中输入下例内容:      

>> f=sym('a*x^2+b*x+c');

>> diff(f)

     ans =

      2*a*x+b

 8.符号方程的求解

      在MATLAB中,求解用符号表达式表示的代数方程可以用solve实现,其调用格式如下:

     solve(s):求解符号表达式s的代数方程,求解变量为默认变量。

     solve(s,v):求解符号表达式s的代数方程,求解变量为v

     Solve (s1,s2…sn,v1,v2 …vn):求解符号表达式s1,s2…sn组成的代数方程,求解变量分别为v1,v2 …vn。

【实验3-8】  求方程x2+2x+1=0的解

  在MATLAB的命令窗口中输入下例内容:    

>> f=sym('x^2+2*x+1=0');

>> solve(f)

ans =

 -1

 -1

      

9.课后练习题

 1.提取符号表达式的自由变量

(当符号表达式中含有多余一个符号变量时,只有一个变量是变量,其余的符号当作常量。如果不指定那一个变量当作是自由变量,matlab将基于一定原则选择一个自由变量。)

提示:findsym(s,n)

 2.在MATLAB中计算多项式的父母和分子 

        (提示:使用[n,d]=numden(A))

 2.1、建立符号函数

(1)提取该表达式的分子和分母,并分别付给两个变量

(2)对这两个变量分别进行代数运算(加减乘除及乘方)

3.在MATLAB中,按照不同的方式合并表达式的参数类项。

3.1.按来合并表达式的同类项。

4、使用simple和simplify两个指令分别化简,比较两个结果有什么不同

5.求级数1+x+x2+…+xk+…和的和。(使用symsum函数)

6.分别求下例积分

(1)   (2)      (3)

 

7.求  、、

  

8. 求三元非线性方程组的解

  

文档

MATLAB原理应用实验报告第三章(符号运算)

《MATLAB原理及应用》实验报告第三章MATLAB的符号运算一.实验目的1、掌握符号对象的命名方法2、掌握符号表达式的基本运算3、掌握符号级数的求法二.实验设备计算机、MATLAB软件三.实验内容1.确定符号表达式的变量为了简化符号对象的操作和计算,MATLAB为用户提过了findsym命令。r=findsym(S)确定符号表达式或者矩阵S中自由符号变量r=findsym(S,n)确定符号表达式或者矩阵S中靠近x最近的n个符号变量。【实验3-1】使用MATLAB的命令确定符号表达式的变量
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top