实验四MATLAB数值计算与符号计算

实验四 MATLAB数值计算与符号计算

一、实验目的

1.掌握数据插值和曲线拟合的方法

2.掌握求数值导数和数值积分的方法

3.掌握代数方程数值求解的方法

4.掌握常微分方程数值求解的方法

5.掌握求解优化问题的方法

6.掌握求符号极限、导数和积分的方法

7.掌握代数方程符号求解的方法

8.掌握常微分方程符号求解的方法

二、实验原理

1.数据插值

a) 一维数据插值 Y1=interp1(X,Y,X1,’method’)

b) 二维数据插值 Z1=interp2(X,Y,Z,X1,Y1,’method’)

2.曲线拟合

[P,S]=polyfit(X,Y,m)

3.符号对象的建立

(1)符号量名=sym(符号字符串):建立单个的符号变量或常量;

(2)syms arg1 arg2,…,argn:建立n个符号变量或常量。

4.基本符号运算

(1)基本四则运算:+,-,*,\,^

(2)分子与分母的提取:[n,d]=numden(s)

(3)因式分解与展开:factor(s),expand(s)

(4)化简:simplify, simple(s)

5.符号函数及其应用

(1)求极限:limit(f,x,a)

(2)求导数:diff(f,x,a);

(3)求积分:int(f,v)

三、实验内容

1.按下表用3次样条方法插值计算0~900范围内整数点的正弦值和0~750范围内整数点的正切值,然后用5次多项式拟合方法计算相同的函数值,并将两种计算结果进行比较。

x2=0:75;

y1=sin(pi.*x1./180);

y2=tan(pi.*x2./180);;

a=interp1(x1,y1,45,'cublic')

b=interp1(x1,y1,45,'cublic')

p1=polyfit(x1,y1,5)

p2=polyfit(x2,y2,5)

c1=polyval(p1,x1);

c2=polyval(p2,x2);

subplot(2,1,1);

plot(x1,c1,':o',x1,y1,'r');

subplot(2,1,2);

plot(x2,c2,':o',x2,y2,'r');

10

20

30

40

50

60

70

80

2.(1)求函数33()sin cos f x x x =+在点,,,

6432x ππππ

=的数值导数。

dy =

-0.2255 -0.0674 0.0674 0.2255

x=[0,pi/6,pi/4,pi/3,pi/2]; p=sin(x).^3+cos(x).^3; dy=diff(p)

3. 求方程 3sin 0x x x e +-=在0 1.5x =附近的根。 >> fzero('zz',1.5) ans =

1.8900

function f=zz(x) f=3*x+sin(x)-exp(x);

4. 求函数3cos ln ()x

x x x x

f x e ++=在(0,1)内的最小值。

>> [x,fmin]=fminbnd('zz',0,1) x =

0.5223

fmin =

0.3974 function f=zz(x)

f=(x^3+cos(x)+x*log(x))/exp(x);

5. 求解有约束最优化问题(6分)。

121212

223

1221

2

121

0.50.4..0.50.50,01min

(,)0.430x x s t x x x x f x x x x x x x x +≥⎧⎪

+≥⎨⎪≥≥⎩=++-+

建立函数文件:

function f=Untitled(x)

f=0.4*x(2)+x(1)^2+x(2)^2-x(1)*x(2)+1/30*x(1)*x(1)^3;

建立约束条件,调用上面函数 x0=[0.5;0.5];

A=[-1,-0.5;-0.5,-1]; b=[-0.4;-0.5]; lb=[0;0];

option=optimset;https://www.360docs.net/doc/1a19314130.html,rgeScale='off';option.Display='off'; [x,f]=fmincon('Untitled',x0,A,b,[],[],lb,[],[],option) 运行结果 :

6. 分别用数值求解和符号求解定积分ln 220

(1)x x e e dx +⎰

数值求解:X=0:0.01:log10(2); Y=exp(X).*(1+exp(X)).^2; trapz(X,Y)

符合求解:x=sym('x'); >> f=exp(x).*(1+exp(x)).^2; >> a=int(f,0,log10(2)); >> eval(a) ans =

1.6662

7. 求下列微分方程的数值解与符号解,并画图进行比较

224290

(0)0,(0)0d y dy

y dx dx

y y ⎧++=⎪⎨⎪'==⎩

数值解 建立函数文件:

function xdot=sys(t,x) xdot=[x(1)+29*x(2);x(1)];

建立约束条件,调用上面函数 t0=0;tf=20;

[t,x]=ode45('sys',[t0,tf],[0,0]); [t,x] ans =

0 0 0 0.5000 0 0 1.0000 0 0 1.5000 0 0 2.0000 0 0 2.5000 0 0 3.0000 0 0 3.5000 0 0 4.0000 0 0 4.5000 0 0 5.0000 0 0 5.5000 0 0 6.0000 0 0 6.5000 0 0 7.0000 0 0

7.5000 0 0

8.0000 0 0

8.5000 0 0

9.0000 0 0

9.5000 0 0

10.0000 0 0

10.5000 0 0

11.0000 0 0

11.5000 0 0

12.0000 0 0

12.5000 0 0

13.0000 0 0

13.5000 0 0

14.0000 0 0

14.5000 0 0

15.0000 0 0

15.5000 0 0

16.0000 0 0

16.5000 0 0

17.0000 0 0

17.5000 0 0

18.0000 0 0

18.5000 0 0

19.0000 0 0

19.5000 0 0

20.0000 0 0

符号解

y=dsolve('D2y+4*Dy+29*y','y(0)=0','Dy(0)=0','x')

y =

四、实验心得

本次实验主要对数值计算上函数的应用。通过对各种公式的求解函数从而解决了数学的计算难题,其中编程上在细节上极其讲究,需要认真编写程序,在解法上也有各种不同的解法。通过本次实验,让我更深入的了解掌握了matlab的软件编程应用和对编程的函数求解过程。也更深化了数学的基础。

MATLAB实验报告

实验二MATLAB语言基础 一、实验目的 基本掌握MA TLAB向量矩阵数组的生成及基本运算(区分数组运算和矩阵预算)、常用的数学函数。了解字符串的操作。 二、实验内容 (1)向量的生成和运算。 (2)矩阵的创建、引用和运算。 (3)多维数组的创建和运算。 (4)字符创的操作。 三、实验步骤 1.向量的生成和运算 1)向量的生成 <1>、直接输入法 <2> 冒号表达式法 <3> 函数法:

Linspace()是线性等分函数,logspace()是对数等分函数。 2)向量的运算 1>维数相同的行、列向量之间可以相加减,标量可以与向量直接相乘除。 2>向量的点积与叉积运算 E1和E2虽然表达式相同,但E1是标量,E2是矩阵。 2.矩阵的创建、引用和运算 1)矩阵的创建和引用 矩阵是由m*n元素构成的矩形结构,行向量和列向量是矩阵的特殊形式。 1>直接输入法:

2>抽取法:包括单下标抽取和全下表抽取两种方式,且两种方式抽取的元素都必须以 小括号括起来。 3>函数法:利用ones(m;n)创建全1矩阵,zeros()创建全0矩阵,eyes()创建单位 矩阵等等。 4>拼接法:

纵向拼接 横向拼接 5>利用拼接函数cat()repmat()和变形函数reshape()>> A1=[1 2 3;9 8 7 ;4 5 6];A2=A1.'; >> cat(1,A1,A2) 沿行向拼接 ans = 1 2 3 9 8 7 4 5 6 1 9 4 2 8 5 3 7 6 >> cat(2,A1,A2) 沿列向拼接 ans = 1 2 3 1 9 4 9 8 7 2 8 5 4 5 6 3 7 6

《MATLAB仿真技术》实验指导书2016附问题详解

实验项目及学时安排 实验一 MATLAB环境的熟悉与基本运算 2学时实验二 MATLAB数值计算实验 2学时实验三 MATLAB数组应用实验 2学时实验四 MATLAB符号计算实验 2学时实验五 MATLAB的图形绘制实验 2学时实验六 MATLAB的程序设计实验 2学时实验七 MATLAB工具箱Simulink的应用实验 2学时实验八 MATLAB图形用户接口GUI的应用实验 2学时实验一 MATLAB环境的熟悉与基本运算 一、实验目的 1.熟悉MATLAB开发环境 2.掌握矩阵、变量、表达式的各种基本运算

二、实验基本知识 1.熟悉MATLAB环境: MATLAB桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器、文件和搜索路径浏览器。 2.掌握MATLAB常用命令 3.MATLAB变量与运算符 变量命名规则如下: (1)变量名可以由英语字母、数字和下划线组成 (2)变量名应以英文字母开头 (3)长度不大于31个 (4)区分大小写 MATLAB中设置了一些特殊的变量与常量,列于下表。 MATLAB运算符,通过下面几个表来说明MATLAB的各种常用运算符

4.MATLAB的一维、二维数组的寻访 表6 子数组访问与赋值常用的相关指令格式

5.MATLAB的基本运算 表7 两种运算指令形式和实质涵的异同表 6.MATLAB的常用函数 表8 标准数组生成函数

表9 数组操作函数 三、实验容 1、学习使用help命令,例如在命令窗口输入help eye,然后根据帮助说 明,学习使用指令eye(其它不会用的指令,依照此方法类推)

实验4答案 Matlab程序设计1

实验4 Matlab 程序设计1 实验目的: 1、 掌握建立和执行M 文件的方法; 2、 掌握实现选择结构的方法; 3、 掌握实现循环结构的方法。 实验内容: 1. 从键盘输入一个4位整数,按如下规则加密后输出。加密规则:每位数字都加上7,然 后用和除以10的余数取代该数字;再把第一位与第三位交换,第二位与第四位交换。 a = input('请输入一个四位整数:'); a1 = fix(a/1000); a2 = rem(fix(a/100),10); a3 = rem(rem(fix(a/10),100),10); a4 = rem(a,10); a1 = rem(a1+7,10) a2 = rem(a2+7,10) a3 = rem(a3+7,10) a4 = rem(a4+7,10) b1 = a1;a1 = a3;a3 = b1; b2 = a2;a2 = a4;a4 = b2; b = a1*1000+a2*100+a3*10+a4 2. 求分段函数的值。 ,x x x x y x x x x x x x ?+- <≠-?=-+ ≤<≠≠??-- ?2226035605231且且及其他 用if 语句实现,分别输出x=-5,-3,0,1,2,2.5,3,5时的y 值。 x = input(请输入X 的值:'); if x <0 & x~=-3 y = x.*x +x-6; elseif x>=0 & x<5 & x~=2 & x~=3 y = x.*x-5*x+6;

else y = x.*x-x-1; end y 3.输入一个百分制成绩,要求输出成绩等级A、B、C、D、E,其中90~100分为A,80~89 分为B,70~79分为C,60~69分为D,60分以下为E。 要求: (1)分别用if语句和swich语句实现。 (2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。 str = 'abcD'; str(find(str>='A'&str<='Z'))=[] x = input('请输入成绩:'); while x>100|x<0|ischar(x) disp('输入错误'); x = input('请输入成绩:'); end if x>=90&x<=100 disp('A'); elseif x>=80 disp('B'); elseif x>=70 disp('C'); elseif x>=60 disp('D'); else x<60 disp('E'); end x = input('请输入成绩:'); while x>100|x<0|ischar(x) disp('输入错误'); x = input('请输入成绩:'); end switch fix(x/10) case {9,10} disp('A'); case 8 disp('B'); case 7

MATLAB实验教案

MATLAB 实验教案 实验一 MATLAB 集成环境使用 实验内容与要求 1. 观察MATLAB 的基本环境,熟悉菜单和工具栏 2. MATLAB 基本命令的使用 a.运行demos, 观看演示程序 b.工作空间管理命令: who , whos , clear , which , quit ,exit workspace c.路径编辑命令: path, cd ,addpath rmpath d.显示格式命令: type wall.m , more on , type coneball.m , more off ,type coneball.m e.窗口清理命令: coneball2 clc cla clf close f. 操作系统命令: copyfile pwd dir delete mkdir g. 联机帮助命令:help help . helpwin lookfor zoom which rguizoom help rguizoom what ver signal 3. 简单线性方程组的求解 以学号 208040401 为例 A=[ 2 0 8 0 4 0 4 0 1] b=[ 208 40 401] x==A\b 4. 行编辑与页面编辑 a.键入magic(4) 使用↑,调出该命令,并改变为magic(6)执行. b.执行coneball 命令 edit 命令, 打开coneball.m 文件 改变文件中的半径和高, 存盘后,重新执行该命令,比较前后的不同. 实验二 基本操作,基本运算练习 1.用两种方式输入数组 a=1 3 5 7 9 11 13 15 (101) 2. 输入矩阵: 1233235713573 2391894A ????????=????????

实验指导书matlab基础

《MATLAB基础实验指导书》 哈尔滨理工大学 自动化学院 电子信息科学与技术系 2018.4

实验一 MATLAB 的基本操作 一、 实验目的: 1. 掌握Matlab 软件使用的基本方法; 2. 熟悉常用命令的操作; 3. 熟悉Matlab 的数据表示和基本运算 二、 实验内容: 1. 计算 y =x 3 (x-0.98)2/(x 1.35)3 -5(x I, x)当 x =2 和 x =4 的值 2. 计算 cos60; -3;9-「2 _ 2 2 3. 已知 a =3,A =4,b =a ,B =b -1,c =a A -2B,C =a 2B c ,求C 4. 创建一个3*3矩阵,然后用矩阵编辑器将其扩充为 4*5矩阵 5. 创建一个3*3矩阵魔方阵和相应的随机矩阵,将两个矩阵并接起来,然后提 取任意两 个列向量 矩阵,计算矩阵的5次方 - _1 4 8 13〕 一5 4 3 -2〕 7.设 A = -3 6 -5 _9 , B = 6 -2 3 -8 2 —7 -12 _8 —1 3 _9 7」 C = * A 1 。 B D A B 2 8. 求23 (s 4)(s 1) 的“商”及“余”多项式。 s 3 +s + 1 9. 建立矩阵A ,然后找出在[10,20]区间的元素的位置 10. 创建一个有7个元素的一维数组,并做如下处理: 1) 直接寻访一维数组的第6个元素; 2) 寻访一维数组的第1、3、5个元素; 3) 寻访一维数组中第4个至最后1个元素; 4) 寻访一维数组中大于70的元素。 三、实验要求: 1. 撰写预习报告。 6找出数组A =;4 2 41中所有绝对值大于 3 5 3的元素。利用上题的

数值计算方法实验指导(Matlab版)讲解

《数值计算方法》 实验指导 (Matlab版) 肇庆学院数学与统计学学院 计算方法课程组

《数值计算方法》实验1报告 班级: 20xx 级XXXXx 班 学号: 20xx2409xxxx 姓名: XXX 成绩: 1. 实验名称 实验1 算法设计原则验证(之相近数相减、大数吃小数和简化计算步骤) 2. 实验题目 (1) 取16 10=z ,计算z z - +1和)1/(1z z ++,验证两个相近的数相减会造成 有效数字的损失. (2) 按不同顺序求一个较大的数(123)与1000个较小的数(15 310-⨯)的和,验证大 数吃小数的现象. (3) 分别用直接法和秦九韶算法计算多项式 n n n n a x a x a x a x P ++++=--1110)( 在x =1.00037处的值.验证简化计算步骤能减少运算时间. 对于第(3)题中的多项式P (x ),直接逐项计算需要2 1 12)1(+=+++-+n n n 次乘法和n 次加法,使用秦九韶算法 n n a x a x a x a x a x P ++++=-)))((()(1210 则只需要n 次乘法和n 次加法. 3. 实验目的 验证数值算法需遵循的若干规则. 4. 基础理论 设计数值算法时,应避免两个相近的数相减、防止大数吃小数、简化计算步骤减少运算次数以减少运算时间并降低舍入误差的积累.两相近的数相减会损失有效数字的个数,用一个大数依次加小数,小数会被大数吃掉,乘法运算次数太多会增加运算时间. 5. 实验环境 操作系统:Windows xp ; 程序设计语言:Matlab 6. 实验过程 (1) 直接计算并比较; (2) 法1:大数逐个加1000个小数,法2:先把1000个小数相加再与大数加; (3) 将由高次项到低次项的系数保存到数组A[n]中,其中n 为多项式次数. 7. 结果与分析 (1) 计算的z z -+1= ,)1/(1z z ++ . 分析: (2) 123逐次加1000个6 310-⨯的和是 ,先将1000个6 310-⨯相加,

matlab 符号运算

matlab 符号运算 MATLAB符号运算是一种使用符号运算技术来处理数学运算的一种方法,可以帮助我们快速解决问题,节省时间。MATLAB符号运算的核心概念是以符号的形式表达数学表达式,在程序中指定包含变量和符号的表达式,用于实现数学运算。 MATLAB符号运算由两个主要部分组成:符号变量和符号函数。符号变量是使用字符表示的变量,可以用来表示数字,字符串和函数。例如,当我们指定一个函数f(x)=x^2时,可以用变量x表示。而符号函数是用于分析符号表达式并实现符号运算的函数集,其中包括求值,积分,求导数,解方程等功能。 MATLAB符号运算可以被应用于求解函数,特别是常微分方程,求解符号表达式,代数求解,积分,极限,求解微型极限等问题,以及解决更复杂的数学问题,例如系统控制,最优化,统计学等。 MATLAB符号运算的优势在于提供了一个简单,快速,可靠的解决数学问题的方法。它可以在更高级别上理解数学表达式,从而带来更多的计算结果。通过MATLAB符号运算,可以提高编程效率和可阅读性,从而节省编程时间,并减少调试的工作量。 此外,MATLAB符号运算还具有许多新的特性。首先,它可以自动对数学表达式使用代数技术,使用简单的算法就可以实现很多复杂的计算。其次,它提供了各种快速搜索和索引功能,可以帮助用户快速找到所需的结果。最后,它提供了丰富的可视化功能,可以帮助用户实时观察结果,并便于分析数据。

因此,MATLAB符号运算成为解决数学问题的理想工具,为许多学科领域提供支持,例如力学,机械,电子,生物学,工程,教育,统计学等。针对更复杂的数学问题,MATLAB符号运算的实用性和强大性能使它在当今计算领域中越来越受欢迎。

MATLAB实验报告(1-4)

信号与系统MATLAB第一次实验报告 一、实验目的 1.熟悉MATLAB软件并会简单的使用运算和简单二维图的绘制。 2.学会运用MATLAB表示常用连续时间信号的方法 3.观察并熟悉一些信号的波形和特性。 4.学会运用MATLAB进行连续信号时移、反折和尺度变换。 5.学会运用MATLAB进行连续时间微分、积分运算。 6.学会运用MATLAB进行连续信号相加、相乘运算。 7.学会运用MATLAB进行连续信号的奇偶分解。 二、实验任务 将实验书中的例题和解析看懂,并在MATLAB软件中练习例题,最终将作业完成。 三、实验内容 1.MATLAB软件基本运算入门。 1). MATLAB软件的数值计算: 算数运算 向量运算:1.向量元素要用”[ ]”括起来,元素之间可用空格、逗号分隔生成行向量,用分号分隔生成列向量。2.x=x0:step:xn.其中x0位初始值,step表示步长或者增量,xn为结束值。 矩阵运算:1.矩阵”[ ]”括起来;矩阵每一行的各个元素必须用”,”或者空格分开;矩阵的不同行之间必须用分号”;”或者ENTER分开。2.矩阵的加法或者减法运算是将矩阵的对应元素分别进行加法或者减法的运算。3.常用的点运算包括”.*”、”./”、”.\”、”.^”等等。

举例:计算一个函数并绘制出在对应区间上对应的值。 2).MATLAB软件的符号运算:定义符号变量的语句格式为”syms 变量名” 2.MATLAB软件简单二维图形绘制 1).函数y=f(x)关于变量x的曲线绘制用语:>>plot(x,y) 2).输出多个图像表顺序:例如m和n表示在一个窗口中显示m行n列个图像,p表 示第p个区域,表达为subplot(mnp)或者subplot(m,n,p) 3).表示输出表格横轴纵轴表达范围:axis([xmax,xmin,ymax,ymin]) 4).标上横轴纵轴的字母:xlabel(‘x’),ylabel(‘y’) 5).命名图像就在subplot写在同一行或者在下一个subplot前:title(‘……’) 6).输出:grid on 举例1:

实验四 用MATLAB求解状态空间模型

实验四 用MATLAB 求解状态空间模型 1、实验设备 MATLAB 软件 2、实验目的 ① 学习线性定常连续系统的状态空间模型求解、掌握MATLAB 中关于求解该模型的主要函数; ② 通过编程、上机调试,进行求解。 3、实验原理说明 Matlab 提供了非常丰富的线性定常连续系统的状态空间模型求解(即系统运动轨迹的计算)的功能,主要的函数有: 初始状态响应函数initial()、阶跃响应函数step()以及可计算任意输入的系统响应数值计算函数lsim()和符号计算函数sym_lsim()。 数值计算问题可由基本的Matlab 函数完成,符号计算问题则需要用到Matlab 的符号工具箱。 4、实验步骤 ① 根据所给状态空间模型,依据线性定常连续系统状态方程的解理论,采用MATLAB 编程。 ② 在MATLAB 界面下调试程序,并检查是否运行正确。 习题1:试在Matlab 中计算如下系统在[0,5s]的初始状态响应,并求解初始状态响应表达式。 Matlab 程序如下: A=[0 1; -2 -3]; B=[]; C=[]; D=[]; x0=[1; 2]; sys=ss(A,B,C,D); [y,t,x]=initial(sys,x0,0:5); plot(t,x)0011232⎡⎤⎡⎤==⎢⎥⎢⎥--⎣⎦⎣⎦x x x

习题2:试在Matlab 中计算如下系统在[0,10s]内周期为3s 的单位方波输入下的状态响应。并计算该系统的单位阶跃状态响应表达式。 Matlab 程序如下: A=[0 1; -2 -3]; B=[0; 1]; C=[]; D=[]; x0=[1; 2]; sys=ss(A,B,C,D); [u t]=gensig('square',3,10,0.1)0011232⎡⎤⎡⎤==⎢⎥⎢⎥--⎣⎦⎣⎦x x x

第9章 MATLAB符号计算_习题答案

第9章 MATLAB符号计算 习题9 一、选择题 1.设有a=sym(4)。则1/a+1/a的值是()。B A.0.5 B.1/2 C.1/4+1/4 D.2/a 2.函数factor(sym(15))的值是()。D A.'15' B.15 C.[ 1, 3, 5] D.[ 3, 5] 3.在命令行窗口输入下列命令: >> f=sym(1); >> eval(int(f,1,4)) 则命令执行后的输出结果是()。A A.3 B.4 C.5 D.1 4.MA TLAB将函数展开为幂级数,所使用的函数是()。D A.tailor B.tayler C.diff D.taylor 5.MATLAB用于符号常微分方程求解的函数是()。C A.solve B.solver C.dsolve D.dsolver 二、填空题 1.在进行符号运算之前首先要建立,所使用的函数或命令有和。符号对象,sym,syms 2.对于“没有定义”的极限,MATLAB给出的结果为;对于极限值为无穷大的极限,MA TLAB给出的结果为。NaN,Inf 3.在命令行窗口输入下列命令: >> syms n; >> s=symsum(n,1,10) 命令执行后s的值是。55 4.在MATLAB中,函数solve(s,v)用于代数方程符号求解,其中s代表,v 代表。符号代数方程,求解变量 5.在MA TLAB符号计算中y的二阶导数表示为。D2y 三、应用题 1.分解因式。 (1)x9-1 (2)x4+x3+2x2+x+1 (3)125x6+75x4+15x2+1 (4)x2+y2+z2+2(xy+yz+zx) (1):

matlab符号计算实验报告

1. 已知x=6,y=5, 利用符号表达式求z =>> syms x >> z=(x+1)/(sqrt(x+3)-sqrt(y)); >> subs(z,x,5) ans =6/(8^(1/2)-y^(1/2)) >> subs(ans,6) ans = 15.8338 2. 分解因式。 (1)x y -44 ; >> syms x y >> factor(x^4-y^4) ans =(x-y)*(x+y)*(x^2+y^2) (2)x x x +++642 12575151 >> syms x >> factor(125*x^6+75*x^4+15*x^2+1) ans =(5*x^2+1)^3 3. 化简表达式 (1)sin cos cos sin ββββ-1212; >> syms x y >> f=sin(x).*cos(y)-cos(x).*sin(y); >> sfy1=simple(f) 结果:sfy1 =sin(x-y) (2)x x x +++248321 >> syms x >> f=(4*x^2+8*x+3)/(2*x+1);sfy1=simplify(f) sfy1 =2*x+3 4、求下列极限,将完成实验的程序写到文件sy1.m 中: (1) (2) (3) (4) (5) (1)>> syms x >> F1=atan(x)/(x); >> w=limit(F1) w =1 (2)>> syms x F2=((1+x)/(1-x))^(1/x); >> w=limit(F2) w =exp(2) (3)>> syms x F3=(x.*log(1+x))/(sin(x^2)); >> w=limit(F3) w =1 (4)>> syms x F4=atan(x)/(x); >> w=limit(F4,x,inf) w =0 (5)>> syms x F5=(1/(1-x)-1/(1-x^3)); >> w=limit(F5,x,1) w =NaN 5、求下列函数的导数,将完成实验的程序写到文件sy2.m 中: 1、 >> x = sym('x'); >> y1=(cos(x))^3-cos(3*x); >> diff(y1)ans =-3*cos(x)^2*sin(x)+3*sin(3*x) 2、 >> x = sym('x'); >> y2=x.*sin(x).*(log(x)); >> diff(y2)ans =sin(x)*log(x)+x*cos(x)*log(x)+sin(x) 3、 >> x = sym('x'); >> y3=(x.*exp(x)-1)/sin(x); >> diff(y3) ans =(exp(x)+x*exp(x))/sin(x)-(x*exp(x)-1)/sin(x)^2*cos(x) 4、 x x x x F 1011lim 2⎪⎭⎫ ⎝⎛-+=→3 1115lim()11x F x x →=---20sin )1ln(lim 3x x x F x +=→x x F x arctan lim 10 →=arctan 4lim x x F x →∞=x x y 3cos cos 13-=x x x y ln sin 2=x xe y x sin 1 3-=cos x y e x =

MATLAB实验报告

实验一、Matlab 软件的安装与基本使用 一、实验目的和要求: 学会MA TLAB 软件的安装方法,熟悉MA TLAB 的工作环境及其基本功能的设置,以及基本指令的使用,了解MA TLAB 数值数组及其矩阵操作的使用、复数的输入方法。 二、实验内容和步骤: 1、完成MA TLAB 软件的安装。 2、安装完成后启动MA TLAB 软件,熟悉MA TLAB 的工作环境。 打开MA TLAB 7,默认打开的窗口包括: (1)命令窗口(Command Window); (2)命令历史窗口(Command History); (3)工作间管理窗口(Workspace); (4)当前路径窗口(Current Directory) 此外,还有捷径键、编译窗口、图形窗口和帮助窗口等其他种类的窗口,结合课本实例,熟悉每个窗口的功能和基本使用。 3、 (1)求23)]47(212[÷-⨯+的运算结果,注意命令后有无分号的作用。命令及结果如下: t=[12+2*(7-4)]/3^2 t = 2 (2)求2 0012 x x v t at =++ 的值,其 中t=5s 、010x m =、015/v m s =、 2 9.81/sec a m =-。命令及结果如下: syms t x0 v0 a; t=5,x0=10,v0=15,a=-9.18; x=x0+v0*t+1/2*a*t^2 t = 5 x0 = 10 v0 = 15 x = -29.7500 (3) 设3x =, 4v =,用MA TLAB 命令求下列各式的值: 1)2 2 log()x v + 命令及结果如下: syms x v x=3,v=4; log(x^2+v^2) x = 3 ans = 3.2189 2) 2 (2) x v - 命令及结果如下: syms x v x=3,v=4; f=(sqrt(x-3))/(x-2*v)^2 x = 3 f = 0 3) |sin 2|v x e 命令及结果如下: syms x v x=3,v=4; t=abs(2*x)*exp(v) x = 3 t = 327.5889 4、用三种不同的方法输入矩阵

Matlab实验指导书含答案

实验一:M a t l a b操作环境熟悉 一、实验目的 1.初步了解Matlab操作环境。 2.学习使用图形函数计算器命令funtool及其环境。 二、实验内容 熟悉Matlab操作环境,认识命令窗口、内存工作区窗口、历史命令窗口;学会使用format命令调整命令窗口的数据显示格式;学会使用变量和矩阵的输入,并进行简单的计算;学会使用who和whos命令查看内存变量信息;学会使用图形函数计算器funtool,并进行下列计算: 1.单函数运算操作。 ➢求下列函数的符号导数 (1) y=sin(x); (2) y=(1+x)^3*(2-x); ➢求下列函数的符号积分 (1) y=cos(x); (2) y=1/(1+x^2); (3) y=1/sqrt(1-x^2); (4) y=(x-1)/(x+1)/(x+2); ➢求反函数 (1) y=(x-1)/(2*x+3); (2) y=exp(x); (3) y=log(x+sqrt(1+x^2)); ➢代数式的化简 (1) (x+1)*(x-1)*(x-2)/(x-3)/(x-4); (2) sin(x)^2+cos(x)^2; (3) x+sin(x)+2*x-3*cos(x)+4*x*sin(x); 2.函数与参数的运算操作。 ➢从y=x^2通过参数的选择去观察下列函数的图形变化 (1) y1=(x+1)^2 (2) y2=(x+2)^2 (3) y3=2*x^2 (4) y4=x^2+2 (5) y5=x^4 (6) y6=x^2/2 3.两个函数之间的操作 ➢求和 (1) sin(x)+cos(x) (2) 1+x+x^2+x^3+x^4+x^5 ➢乘积 (1) exp(-x)*sin(x) (2) sin(x)*x

matlab课后习题答案第四章

第4章数值运算 习题 4 及解答 1 根据题给的模拟实际测量数据的一组t和)(t y试用数值差分diff或 数值梯度gradient指令计算)(t y',然后把)(t y和)(t y'曲线绘制在同一张图上,观察数值求导的后果。(模拟数据从prob_data401.mat 获得) 〖目的〗 ●强调:要非常慎用数值导数计算。 ●练习mat数据文件中数据的获取。 ●实验数据求导的后果 ●把两条曲线绘制在同一图上的一种方法。 〖解答〗 (1)从数据文件获得数据的指令 假如prob_data401.mat文件在当前目录或搜索路径上 clear load prob_data401.mat (2)用diff求导的指令 dt=t(2)-t(1); yc=diff(y)/dt; %注意yc的长度将比y短1 plot(t,y,'b',t(2:end),yc,'r') grid on

(3)用gradent 求导的指令(图形与上相似) dt=t(2)-t(1); yc=gradient(y)/dt; plot(t,y,'b',t,yc,'r') grid on 〖说明〗 ● 不到万不得已,不要进行数值求导。 ● 假若一定要计算数值导数,自变量增量dt 要取得比原有数据相对误差高1、2个量级以 上。 ● 求导会使数据中原有的噪声放大。 2 采用数值计算方法,画出dt t t x y x ⎰ =0sin )(在]10 ,0[区间曲线,并计算)5.4(y 。 〖提示〗 ● 指定区间内的积分函数可用cumtrapz 指令给出。 ● )5.4(y 在计算要求不太高的地方可用find 指令算得。 〖目的〗 ● 指定区间内的积分函数的数值计算法和cumtrapz 指令。 ● find 指令的应用。 〖解答〗 dt=1e-4; t=0:dt:10; t=t+(t==0)*eps; f=sin(t)./t; s=cumtrapz(f)*dt; plot(t,s,'LineWidth',3) ii=find(t==4.5); s45=s(ii) s45 = 1.6541

MATLAB数值计算77742

第2章MATLAB数值计算 MATLAB的数学计算=数值计算+符号计算 其中符号计算是指使用未定义的符号变量进行运算,而数值计算不允许使用未定义的变量。 注:数值计算有误差。数值计算受到计算机所保留的有效位数的限制,因此每一次运算都会有一定的误差,重复的多次数值计算就可能会造成很大的累积误差。 2.1 变量和数据 数据类型包括:数值型、字符串型、元胞型、结构型等 数值型=双精度型、单精度型和整数类 整数类=无符号类(uint8、uint16、uint32、uint64)和符号类整数(int8、int16、int32、int64)。 1. 数据的表达方式 ▪可以用带小数点的形式直接表示 ▪用科学计数法 ▪数值的表示范围是10-309~10309。 以下都是合法的数据表示: -2、5.67、2.56e-56(表示2.56×10-56)、4.68e204(表示4.68×10204) 2. 矩阵和数组的概念 在MATLAB的运算中,经常要使用标量、向量、矩阵和数组,这几个名称的定义如下:▪标量:是指1×1的矩阵,即为只含一个数的矩阵。 ▪向量:是指1×n或n×1的矩阵,即只有一行或者一列的矩阵。 ▪矩阵:是一个矩形的数组,即二维数组,其中向量和标量都是矩阵的特例,0×0矩阵为空矩阵([])。 ▪数组:是指n维的数组,为矩阵的延伸,其中矩阵和向量都是数组的特例。 3. 复数 复数由实部和虚部组成,MATLAB用特殊变量“i”和“j”表示虚数的单位。复数运算不需要特殊处理,可以直接进行。 复数可以有几种表示: z=a+b*i或z=a+b*j z=a+bi或z=a+bj(当b为标量时)

相关主题
相关文档
最新文档