MATLAB程序设计与应用(刘卫国编)课后实验答案.pdf

上传人:tbuqq 文档编号:5012201 上传时间:2020-01-28 格式:PDF 页数:66 大小:2.40MB
返回 下载 相关 举报
MATLAB程序设计与应用(刘卫国编)课后实验答案.pdf_第1页
第1页 / 共66页
MATLAB程序设计与应用(刘卫国编)课后实验答案.pdf_第2页
第2页 / 共66页
MATLAB程序设计与应用(刘卫国编)课后实验答案.pdf_第3页
第3页 / 共66页
MATLAB程序设计与应用(刘卫国编)课后实验答案.pdf_第4页
第4页 / 共66页
MATLAB程序设计与应用(刘卫国编)课后实验答案.pdf_第5页
第5页 / 共66页
点击查看更多>>
资源描述

《MATLAB程序设计与应用(刘卫国编)课后实验答案.pdf》由会员分享,可在线阅读,更多相关《MATLAB程序设计与应用(刘卫国编)课后实验答案.pdf(66页珍藏版)》请在三一文库上搜索。

1、 实验一 MATLAB 运算基础 1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情 况并保存全部变量。 (1) 0 1 2 2sin85 1 z e (2) 2 2 1 ln(1) 2 zxx,其中 212 0.455 i x (3) 0.30.3 3 0.3 sin(0.3)ln,3.0,2.9,2.9, 3.0 22 aa eea zaa (4) 2 2 4 2 01 112 2123 tt ztt ttt ,其中 t=0:0.5:2.5 解: M 文件: z1=2*sin(85*pi/180)/(1+exp(2) x=2 1+2*i;-.45 5; z2=1/2*log(

2、x+sqrt(1+x2) a=-3.0:0.1:3.0; z3=(exp(0.3.*a)-exp(-0.3.*a)./2.*sin(a+0.3)+log(0.3+a)./2) t=0:0.5:2.5; z4=(t=02 3 4 5 7 6;2 2 2 2 2 3;11 2 3 9 7 3;2 3 4 5 6 7 输入一正整数n=4 11 2 3 9 7 3 输入一个5 行 6 列矩阵 A=1 2 3 4 5 5;2 3 4 5 7 6;2 2 2 2 2 3;11 2 3 9 7 3;2 3 4 5 6 7 输入一正整数n=6 2 3 4 5 6 7 ans = Error using = d

3、isp Too many input arguments. 实验四循环结构程序设计 一、实验目的 1. 掌握利用for 语句实现循环结构的方法。 2. 掌握利用while 语句实现循环结构的方法。 3. 熟悉利用向量运算来代替循环操作的方法。 二、实验内容 1. 根据 2 2222 1111 6123n ,求的近似值。当n 分别取 100、1000 、10000 时,结果是多少? 要求:分别用循环结构和向量运算(使用sum 函数)来实现。 解: M 文件如下: 运行结果如下: K % 循环结构计算pi 值 y=0; n=input(n=); for i=1:n y=y+1/i/i; end p

4、i=sqrt(6*y) n=100 pi = 3.1321 n=1000 pi = 3.1406 n=10000 pi = 3.1415 %向量方法计算Pi 值 n=input(n=); i=1./(1:n).2; s=sum(i); pi=sqrt(6*s) n=100 pi = 3.1321 n=1000 pi = 3.1406 n=10000 pi =3.1415 2. 根据 111 1 3521 y n ,求: (1) y y=0;n=0; while y3 n=n-1; end n y = 3.0033 n = 57 n = 56 3. 考虑以下迭代公式: 1n n a x bx 其

5、中 a、b 为正的学数。 (1) 编写程序求迭代的结果,迭代的终止条件为|xn+1-xn|10 -5,迭代初值 x0=1.0 ,迭代 次数不超过500 次。 (2) 如果迭代过程收敛于r,那么r 的准确值是 2 4 2 bba ,当 (a,b) 的值取 (1,1) 、 (8,3) 、(10,0.1) 时,分别对迭代结果和准确值进行比较。 解: M 文件如下: 运算结果如下; 请输入正数a=1 请输入正数b=1 x = 0.6180 r = 0.6180 -4.7016 r = 0.6180 -1.6180 s = -0.0000 -2.2361 请输入正数a=8 请输入正数b=3 x = 1.

6、7016 r = 1.7016 -1.6180 r = 1.7016 -4.7016 s = 0.0 -6.4031 请输入正数a=10 请输入正数b=0.1 x = 3.1127 r = 3.1127 -4.7016 r = 3.1127 -3.2127 s = -0.0000 -6.3254 4. 已知 1 2 3 123 11 02 13 23 nnnn fn fn fn ffffn 求 f1f100中: (1) 最大值、最小值、各数之和。 (2) 正数、零、负数的个数。 解: M文件 以下是运算结果: max(f)=437763282635 min(f)=-899412113528 s

7、um(f)=-742745601951 c1=49 c2=2 c3=49 5. 若两个连续自然数的乘积减1 是素数,则称这两个边疆自然数是亲密数对,该素数 是亲密素数。 例如,2 3-1=5 , 由于 5 是素数,所以 2 和 3 是亲密数, 5 是亲密素数。 求2,50 区间内: (1) 亲密数对的对数。 (2) 与上述亲密数对对应的所有亲密素数之和。 解: M 文件: 运算结果为: j = 29 s = 23615 实验五函数文件 一、实验目的 1. 理解函数文件的概念。 2. 掌握定义和调用MATLAB 函数的方法。 二、实验内容 1. 定义一个函数文件,求给定复数的指数、对数、正弦和余

8、弦,并在命令文件中调用 该函数文件。 解: M 文件如下: 函数 fushu.M 文件: function e,l,s,c = fushu(z) %fushu 复数的指数,对数,正弦,余弦的计算 %e 复数的指数函数值 %l 复数的对数函数值 %s 复数的正弦函数值 %c 复数的余弦函数值 e=exp(z); l=log(z); s=sin(z); c=cos(z); 命令文件M: z=input( 请输入一个复数z=); a,b,c,d=fushu(z) 运算结果如下: z=input( 请输入一个复数z=); a,b,c,d=fushu(z) 请输入一个复数z=1+i a = 1.4687

9、 + 2.2874i b = 0.3466 + 0.7854i c = 1.2985 + 0.6350i d = 0.8337 - 0.9889i 2. 一物理系统可用下列方程组来表示: 111 211 12 22 0cossin0 sin0cos0 00sin0 00cos1 amm am gm Nm Nm g 从键盘输入m1、m2和 的值,求a1、a2、N1和 N2的值。其中g 取 9.8,输入 时以角度 为单位。 要求:定义一个求解线性方程组AX=B的函数文件,然后在命令文件中调用该函数文 件。 解:M 文件 函数 fc.M 文件 : function X= fc(A,B) %fc fc

10、 是求解线性方程的函数 %A A 是未知矩阵的系数矩阵 X=AB ; 命令 M 文件: clc; m1=input( 输入 m1=); m2=input( 输入 m2=); theta=input( 输入 theta=); x=theta*pi/180; g=9.8; A=m1*cos(x) -m1 -sin(x) 0 m1*sin(x) 0 cos(x) 0 0 m2 -sin(x) 0 0 0 -cos(x) 1; B=0;m1*g;0;m2*g; X=fc(A,B) 运算结果: 输入 m1=1 输入 m2=1 输入 theta=30 X = 7.8400 3.3948 6.7896 15

11、.6800 3. 一个自然数是素数,且它的数字位置经过任意对换后仍为素数。例如 13 是绝对素数。 试 求所有两位绝对素数。 要求:定义一个判断素数的函数文件。 解: M 文件: 函数 prime.m 文件 function p = prime(p) % 输入 p 的范围,找出其中的素数 m=p(length(p); for i=2:sqrt(m) n=find(rem(p,i)=0 p(n)=; %将 p 中能被 i 整除,而却不等于i 的元素,即下标为n 的元素剔除,其余的即为素数 end p; 命令文件: clc; p=10:99; p=prime(p); %找出 10 到 99 内的所

12、有素数 p=10*rem(p,10)+(p-rem(p,10)/10; %将 p 素数矩阵每个元素个位十位调换顺序 p=prime(p) %再对对换后的素数矩阵找出所有的素数 运算结果: p = 11 31 71 13 73 17 37 97 79 4. 设 24 11 ( ) (2)0.1(3)0.01 f x xx ,编写一个MATLAB 函数文件fx.m,使得 调用 f(x) 时, x 可用矩阵代入,得出的f(x)为同阶矩阵。 解: 函数 fx.m 文件: function f= fx(x) %fx fx 求算 x 矩阵下的f(x) 的函数值 A=0.1+(x-2).2; B=0.01+

13、(x-3).4; f=1./A+1./B; 命令文件: clc; x=input( 输入矩阵x=); f=fx(x) 运算结果: x=input( 输入矩阵x=); f=fx(x) 输入矩阵x=7 2;12 5 f = 0.0437 10.9901 0.0101 0.1724 5. 已知 (40) (30)(20) f y ff (1) 当 f(n)=n+10ln(n 2+5) 时,求 y 的值。 (2) 当 f(n)=1 2+2 3+34+.+n (n+1) 时,求 y 的值。 解: (1) 函数 f.m 文件 : function f=f(x) f=x+10*log(x2+5); 命令文件

14、: clc; n1=input(n1=); n2=input(n2=); n3=input(n3=); y1=f(n1); y2=f(n2); y3=f(n3); y=y1/(y2+y3) 运算结果如下: n1=40 n2=30 n3=20 y = 0.6390 (2). 函数 g.m 文件 function s= g(n) for i=1:n g(i)=i*(i+1); end s=sum(g); 命令文件: clc; n1=input(n1=); n2=input(n2=); n3=input(n3=); y1=g(n1); y2=g(n2); y3=g(n3); y=y1/(y2+y3)

15、 运算结果如下: n1=40 n2=30 n3=20 y = 1.7662 实验六高层绘图操作 一、实验目的 1. 掌握绘制二维图形的常用函数。 2. 掌握绘制三维图形的常用函数。 3. 掌握绘制图形的辅助操作。 二、实验内容 1. 设 2 3sin 0.5cos 1 x yx x ,在 x=02 区间取 101 点,绘制函数的曲线。 解: M 文件如下: clc; x=linspace(0,2*pi,101); y=(0.5+3*sin(x)./(1+x.2); plot(x,y) 运行结果有: 2. 已知 y1=x 2, y2=cos(2 x),y3=y1y2,完成下列操作: (1) 在同

16、一坐标系下用不同的颜色和线型绘制三条曲线。 (2) 以子图形式绘制三条曲线。 (3) 分别用条形图、阶梯图、杆图和填充图绘制三条曲线。 解: (1) M 文件: clc; x=-pi:pi/100:pi; y1=x.2; y2=cos(2*x); y3=y1.*y2; plot(x,y1,b-,x,y2,r:,x,y3,k-) 运行结果: (2)M 文件: clc; x=-pi:pi/100:pi; y1=x.2; y2=cos(2*x); y3=y1.*y2; subplot(1,3,1); plot(x,y1,b-); title(y1=x2); subplot(1,3,2); plot(

17、x,y2,r:); title(y2=cos(2x); subplot(1,3,3); plot(x,y3,k-); title(y3=y1*y2); .运行结果: (3)M 文件: clc; x=-pi:pi/100:pi; y1=x.2; y2=cos(2*x); y3=y1.*y2; subplot(2,2,1); plot(x,y1,b-,x,y2,r:,x,y3,k-); subplot(2,2,2); bar(x,y1,b); title(y1=x2); subplot(2,2,3); bar(x,y2,r); title(y2=cos(2x); subplot(2,2,4); b

18、ar(x,y3,k); title(y3=y1*y2); 由上面的M 文件,只要依次将“bar”改为“ stairs ” 、 “stem ” 、 “fill”,再适当更改区间取的 点数,运行程序即可, 即有下面的结果: 3. 已知 2 2 0 1 ln(1)0 2 x x e y xxx 在-5 x5 区间绘制函数曲线。 解: M 文件: clc; x=-5:0.01:5; y=(x+sqrt(pi)/(exp(2).*(x0); plot(x,y) 运行结果: 由图可看出,函数在零点不连续。 4. 绘制极坐标曲线=asin(b+n ),并分析参数a、b、n 对曲线形状的影响。 解: M 文件

19、如下: clc; theta=0:pi/100:2*pi; a=input( 输入 a=); b=input( 输入 b=); n=input( 输入 n=); rho=a*sin(b+n*theta); polar(theta,rho,m) 采用控制变量法的办法,固定两个参数,变动第三个参数观察输出图象的变化。 分析结果:由这8 个图知道, 当 a,n 固定时,图形的形状也就固定了,b 只影响图形的旋转的角度; 当 a,b 固定时, n 只影响图形的扇形数,特别地,当n 是奇数时,扇叶数就是n,当是偶 数时,扇叶数则是2n 个; 当 b,n 固定时, a 影响的是图形大小,特别地,当a 是整

20、数时,图形半径大小就是a。 5. 绘制函数的曲线图和等高线。 22 4 coscos xy zxye 其中 x 的 21 个值均匀分布 -5,5范围, y 的 31 个值均匀分布在0,10 ,要求使用 subplot(2,1,1) 和 subplot(2,1,2) 将产生的曲面图和等高线图画在同一个窗口上。 解: M 文件: clc; x=linspace(-5,5,21); y=linspace(0,10,31); x,y=meshgrid(x,y); z=cos(x).*cos(y).*exp(-sqrt(x.2+y.2)/4); subplot(2,1,1); surf(x,y,z);

21、title( 曲面图 ); subplot(2,1,2); surfc(x,y,z); title( 等高线图 ); 运行结果: 6. 绘制曲面图形,并进行插值着色处理。 cos cos 3 cos sin0, 0 22 sin xst ystst zs 解: M 文件: clc; s=0:pi/100:pi/2; t=0:pi/100:3*pi/2; s,t=meshgrid(s,t); x=cos(s).*cos(t); y=cos(s).*sin(t); z=sin(s); subplot(2,2,1); mesh(x,y,z); title( 未着色的图形); subplot(2,2,

22、2); surf(x,y,z); title(shading faceted (缺省) ); subplot(2,2,3); surf(x,y,z);shading flat; title(shading flat); subplot(2,2,4); surf(x,y,z);shading interp; title(shading interp); 运行结果有: 实验七低层绘图操作 二、实验内容 1. 建立一个图形窗口,使之背景颜色为红色,并在窗口上保留原有的菜单项,而且在 按下鼠标器的左键之后显示出Left Button Pressed字样。 解: M 文件如下: clc; hf=figu

23、re(color,1 0 0,. WindowButtonDownFcn,disp(Left Button Pressed.); 运行结果: 左击鼠标后: 2. 先利用默认属性绘制曲线y=x 2e2x,然后通过图形句柄操作来改变曲线的颜色、 线型 和线宽,并利用文件对象给曲线添加文字标注。 解: M 文件: clc; x=-2:0.01:2; y=x.2.*exp(2*x); h=plot(x,y); set(h,color,0.4,0.2,0.5,linestyle,-,. linewidth,2); text(1.5,1.52*exp(2*1.5),leftarrow x2exp(2x),

24、fontsize,9); 运行结果 : 3. 利用曲面对象绘制曲面v(x,t)=10e -0.01 xsin(2000 t-0.2x+ )。 解: M 文件: clc; x=0:0.1:2*pi; x,t=meshgrid(x); v=10*exp(-0.01*x).*sin(2000*pi*t-0.2*x+pi); axes(view,-37,30); hs=surface(x,t,v,facecolor,. 0.2,0.3,0.3,edgecolor,flat); grid on; xlabel(x-axis); ylabel(y-axis); zlabel(z-axis); title(

25、mesh-surf); pause %按任意键继续 set(hs,FaceColor,flat); text(0,0,0, 曲面 ); 运行结果: 按任意键继续: 4. 以任意位置子图形式绘制出正弦、余弦、正切和余切函数曲线。 5. 生成一个圆柱体,并进行光照和材质处理。 解: M 文件: x,y,z=cylinder(3,500); %cylinder 是生成柱体的函数 surf(x,y,z); title( 圆柱体的光照和材料处理); Xlabel(X-axis); Ylabel(Y-axis); Zlabel(Z-axis); axis(-5,5,-5,5,0,1) grid off;

26、light(Color,r,Position,-4,0,0,style,infinite); shading interp; material shiny; view(0,10); lighting phong; axis off; 运行结果: 实验八数据处理与多项式计算 一、实验目的 1. 掌握数据统计和分析的方法。 2. 掌握数值插值与曲线拟合的方法及其应用。 3. 掌握多项式的常用运算。 二、实验内容 1. 利用 MATLAB 提供的 rand 函数生成30000 个符合均匀分布的随机数,然后检验随 机数的性质: (1) 均值和标准方差。 (2) 最大元素和最小元素。 (3) 大于 0.

27、5 的随机数个数占总数的百分比。 解: M 文件 : clc; x=rand(1,30000); mu=mean(x) %求这 30000 个均匀分布随机数的平均值 sig=std(x) % 求其标准差 1 y=length(find(x0.5); %找出大于 0.5 数的个数 p=y/30000 %大于 0.5 的所占百分比 运行结果: mu = 0.499488553231043 sig = 0.288599933559786 p = 0.499400000000000 2. 将 100 个学生 5 门功课的成绩存入矩阵P 中,进行如下处理: (1) 分别求每门课的最高分、最低分及相应学生

28、序号。 (2) 分别求每门课的平均分和标准方差。 (3) 5 门课总分的最高分、最低分及相应学生序号。 (4) 将 5 门课总分按从大到小顺序存入zcj 中,相应学生序号存入xsxh 。 提示:上机调试时,为避免输入学生成绩的麻烦,可用取值范围在45,95 之间的随机 矩阵来表示学生成绩。 解: M 文件: clc; t=45+50*rand(100,5); P=fix(t); % 生成 100 个学生 5 门功课成绩 x,l=max(P) %x 为每门课最高分行向量,l 为相应学生序号 y,k=min(P) %y 为每门课最低分行向列,k 为相应学生序号 mu=mean(P) %每门课的平均

29、值行向量 sig=std(P) %每门课的标准差行向量 s=sum(P ,2) %5 门课总分的列向量 X,m=max(s)%5门课总分的最高分X 与相应学生序号m Y,n=min(s)%5门课总分的最低分Y 与相应学生序号n zcj,xsxh=sort(s) %zcj 为 5 门课总分从大到小排序,相应学生序号xsxh 运行结果: 3. 某气象观测得某日6:0018:00之间每隔 2h 的室内外温度(0C)如实验表1 所示。 实验表 1 室内外温度观测结果( 0C) 时间 h 6 8 10 12 14 16 18 室内温度t1 18.0 20.0 22.0 25.0 30.0 28.0 24

30、.0 室外温度t2 15.0 19.0 24.0 28.0 34.0 32.0 30.0 试用三次样条插值分别求出该日室内外6:3018:30之间每隔 2h 各点的近似温度 ( 0C) 。 解: M 文件: clc; h=6:2:18; t1=18.0 20.0 22.0 25.0 30.0 28.0 24.0; t2=15.0 19.0 24.0 28.0 34.0 32.0 30.0; T1=interp1(h,t1,spline)%室内的 3 次样条插值温度 T2=interp1(h,t2,spline)%室外的 3 次样条插值温度 运行结果: T1 = Columns 1 throug

31、h 3 40.000000000000703 44.000000000001130 48.000000000001705 Columns 4 through 6 54.000000000002885 64.000000000005883 60.000000000004512 Column 7 52.000000000002444 T2 = Columns 1 through 3 34.000000000000284 42.000000000000902 52.000000000002444 Columns 4 through 6 60.000000000004512 72.0000000000

32、09408 68.000000000007503 Column 7 64.000000000005883 4. 已知 lgx 在 1,101 区间 10 个整数采样点的函数值如实验表2 所示。 实验表 2 lgx在 10 个采样点的函数值 x 1 11 21 31 41 51 61 71 81 91 101 lgx 0 1.0414 1.3222 1.4914 1.6128 1.7076 1.7853 1.8513 1.9085 1.9510 2.0043 试求 lgx 的 5 次拟合多项式p(x) ,并绘制出lgx 和 p(x) 在1,101 区间的函数曲线。 解: M 文件: x=1:10

33、:101; y=lg10(x); P=polyfit(x,y,5) y1=polyval(P ,x); plot(x,y,:o,x,y1,-*) 运行结果: Warning: Polynomial is badly conditioned. Add points with distinct X values, reduce the degree of the polynomial, or try centering and scaling as described in HELP POLYFIT. In polyfit at 80 P = 0.0000 -0.0000 0.0001 -0.00

34、58 0.1537 -0.1326 (这里出现警告是提示不必用5 价函数就已经可以完美拟合了,是可以降价拟合。) 在1,101 的区间函数图像 5. 有 3 个多项式P1(x)=x4+2x3+4x2+5,P2(x)=x+2 ,P3(x)=x2+2x+3,试进行下列操 作: (1) 求 P(x)=P1(x)+P2(x)P3(x)。 (2) 求 P(x) 的根。 (3) 当 x 取矩阵 A 的每一元素时,求P(x) 的值。其中: 11.21.4 0.7523.5 052.5 A (4) 当以矩阵 A 为自变量时,求P(x) 的值。其中A 的值与第 (3)题相同。 解: M 文件: clc;clea

35、r; p1=1,2,4,0,5; p2=1,2; p3=1,2,3; p2=0,0,0,p2; p3=0,0,p3; p4=conv(p2,p3); %p4 是 p2 与 p3 的乘积后的多项式 np4=length(p4); np1=length(p1); p=zeros(1,np4-np1) p1+p4 %求 p(x)=p1(x)+p2(x) x=roots(p) %求 p(x) 的根 A=-1 1.2 -1.4;0.75 2 3.5;0 5 2.5; y=polyval(p,A) %x 取矩阵 A 的每一元素时的p(x) 值 运行结果: p = 0 0 0 0 1 3 8 7 11 x

36、= -1.3840 + 1.8317i -1.3840 - 1.8317i -0.1160 + 1.4400i -0.1160 - 1.4400i y = 1.0e+003 * 0.0100 0.0382 0.0125 0.0223 0.0970 0.4122 0.0110 1.2460 0.1644 实验九数值微积分与方程数值求解 一、实验目的 1. 掌握求数值导数和数值积分的方法。 2. 掌握代数方程数值求解的方法。 3. 掌握常微分方程数值求解的方法。 二、实验内容 1. 求函数在指定点的数值导数。 23 2 ( )123,1,2,3 026 xxx f xxxx x 解: M 文件:

37、clc;clear; x=1; i=1; f=inline(det(x x2 x3;1 2*x 3*x2;0 2 6*x); while x0 %非齐次方程组 if rank(A)=rank(A,b) if rank(A)=n disp( 有唯一解x); x=Ab; else disp( 有无穷个解,特解x,基础解系y); x=Ab; y=null(A,r); end else disp( 无解 ); x= ; end else % 齐次方程组 disp( 有零解 x); x=zeros(n,1); if rank(A) In line_solution at 11 x = -2/11 10/

38、11 0 0 y = 1/11 -9/11 -5/11 1/11 1 0 0 1 所以原方程组的通解是: 12 1/119/112/11 5/111/1110/11 100 010 Xkk ,其中 12 ,k k为任意常数。 5. 求代数方程的数值解。 (1) 3 x+sin x-e x=0 在 x 0=1.5 附近的根。 (2) 在给定的初值x0=1,y0=1,z0=1 下,求方程组的数值解。 2 3 sinln70 3210 50 y xyz xz xyz 解: M 文件: function g=f(x) g=3*x+sin(x)-exp(x); clc;clear; fzero(f,1.

39、5) 结果是: ans = 1289/682 (2). M 文件: function F=fun(X) x=X(1); y=X(2); z=X(3); F(1)=sin(x)+y2+log(z)-7; F(2)=3*x+2-z3+1; F(3)=x+y+z-5; X=fsolve(myfun,1,1,1,optimset(Display,off) 运行结果: X = 909/1073 1735/728 1106/625 6. 求函数在指定区间的极值。 (1) 3 coslog ( ) x xxxx f x e 在 (0,1) 内的最小值。 (2) 332 12112122 (,)2410f x

40、 xxx xx xx在0,0 附近的最小值点和最小值。 解: M 文件: function f=g(u) x=u(1); y=u(2); f=2*x.3+4*x.*y3-10*x.*y+y.2; clc;clear; format long f=inline(x3+cos(x)+x*log(x)/exp(x); x,fmin1=fminbnd(f,0,1) U,fmin2=fminsearch(g,0,0) 运行结果 x = 0.522288340666172 fmin1 = 0.397363464998461 U = 1.001570135316681 0.833488282765738 f

41、min2 = -3.324088491954234 7. 求微分方程的数值解。 2 2 50 (0)0 (0)0 xd ydy y dxdx y y 解: M 文件: function xdot= sys( x,y) xdot=y(2);(5*y(2)-y(1)/x; clc;clear; x0=1.0e-9;xf=20; x,y=ode45(sys,x0,xf,0 0); x,y 运行结果: x yy ans = 0.0000 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.

42、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

43、.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 8. 求微分方程组的数值解,并绘制解的曲线。 123 213 312 123 0.51 (0)0,(0)1,(0)1 yy y yy y yy y yyy 解:令 y1=x,y2=y,y3=z; 这样方程变为 : 0.51 (0)0, (0)1, (0)1 xyz yxz zxy xyz ,自变量是t M 文件: function xdot=sys(x,y) xdot=y(2)*y(3);-y(1)*y(3);-0.51*y(1)*

44、y(2); clc;clear; t0=0;tf=8; x,y=ode23(sys,t0,tf,0,1,1) plot(x,y) 运行结果: x = 0 0.0001 0.0005 0.0025 0.0125 0.0625 0.1632 0.3033 0.4829 0.7162 0.9849 1.2610 1.5678 1.9550 2.3287 2.7024 3.0153 3.2921 3.4889 3.6452 3.7538 3.8624 3.9941 4.1645 4.3835 4.6537 4.9265 5.2245 5.5861 6.0302 6.3428 6.6555 6.9371

45、 7.1541 7.3238 7.4502 7.5765 7.7042 7.8706 8.0000 y = 0 1.0000 1.0000 0.0001 1.0000 1.0000 0.0005 1.0000 1.0000 0.0025 1.0000 1.0000 0.0125 0.9999 1.0000 0.0624 0.9980 0.9990 0.1621 0.9868 0.9933 0.2965 0.9550 0.9773 0.4563 0.8898 0.9454 0.6350 0.7722 0.8912 0.7944 0.6069 0.8233 0.9069 0.4203 0.7617

46、 0.9780 0.2066 0.7155 0.9975 -0.0644 0.7016 0.9450 -0.3258 0.7377 0.8127 -0.5817 0.8141 0.6303 -0.7755 0.8927 0.4130 -0.9098 0.9552 0.2324 -0.9716 0.9858 0.0795 -0.9958 0.9980 -0.0289 -0.9986 0.9994 -0.1367 -0.9896 0.9949 -0.2640 -0.9634 0.9817 -0.4187 -0.9069 0.9538 -0.5935 -0.8034 0.9053 -0.7644 -

47、0.6427 0.8373 -0.8859 -0.4609 0.7738 -0.9656 -0.2542 0.7235 -0.9985 -0.0014 0.7003 -0.9495 0.3092 0.7343 -0.8495 0.5247 0.7943 -0.6858 0.7256 0.8712 -0.4802 0.8751 0.9387 -0.2888 0.9554 0.9778 -0.1254 0.9902 0.9953 0.0002 0.9981 0.9993 0.1257 0.9901 0.9953 0.2494 0.9663 0.9833 0.4016 0.9136 0.9572 0

48、.5100 0.8578 0.9305 图形: 实验十符号计算基础与符号微积分 一、实验目的 1. 掌握定义符号对象的方法。 2. 掌握符号表达式的运算法则以及符号矩阵运算。 3. 掌握求符号函数极限及导数的方法。 4. 掌握求符号函数定积分和不定积分的方法。 二、实验内容 1. 已知 x=6,y=5 ,利用符号表达式求 1 3 x z xy 提示:定义符号常数x=sym( 6 ), y=sym( 5 )。 解: M 文件: clear all;clc; x=sym(6);y=sym(5); z=(1+x)/(sqrt(3+x)-sqrt(y) 运行结果: z = -7/(5(1/2) - 3) 2. 分解因式。 (1) x 4-y4 (2) 5135 解: M 文件: clear all;clc; syms x y;t=sym(5135); a=x4-y4; factor(a) factor(t) 运行结果: ans = (x - y)*(x + y)*(x2 + y2) ans = 5*13*79 3. 化简表达式。 2 1212 483 (1)s

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1