1、matlab编程及其应用实验报告8课程 数学实验与数学软件 实验名称matlab编程及其应用第 1 页一、实验目的1. 了解m文件的创建与编辑的基本方法。2. 了解格式输入与输出函数inputdispfprintf的格式和用法。3. 了解ifswitch的结构和用法。4. 了解forwhile循环的的结构和用法。5. 了解编程的基本思想,并能够应用与求解实际问题。二、实验内容1、用编程的方法建立下面矩阵:1)2)P53,5.(6)3)P53,5.(7)4) 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 0 10 9 0 0 0 0 0 0 0 10 9 8 0 0 0
2、0 0 0 10 9 8 7 0 0 0 0 0 10 9 8 7 6 0 0 0 0 10 9 8 7 6 5 0 0 0 10 9 8 7 6 5 4 0 0 10 9 8 7 6 5 4 3 0 10 9 8 7 6 5 4 3 2 10 9 8 7 6 5 4 3 2 12、求微分方程的通解或特解 P97,133、用编程方法求向量组的秩、一个极大线性无关组,并将其余的向量用极大无关组来线性表示:a1=1,-1,2,4 a2=0,3,1,2a3=3,0,7,14a4=2,1,5,6a5=1,-1,2,04求线性方程组的一个特解和一个基础解系:5、在-2 2x-2 2上绘制下列图形:6.
3、试说明下面两段程序的功能,最后两个 x 值为多少?7. 已知 sin(x) 的幂级数展开公式为试利用这个公式和第 5 题中的技巧,计算 sin(/2)和 sin(31/2) 的值,并与 Matlab 自带的 sin 函数比较,误差分别多大?为什么?三、实验环境(1)硬件:PC机(2)软件:Windows 操作系统、matlab7.0四、实验步骤:1、(1)clearclcformat ratfor k=1:10 for l=1:10 if k=l A(k,l)=1/k; elseif k=l+1 A(k,l)=1; elseif l=k+1 A(k,l)=1; else A(k,l)=0; e
4、nd endendA(2)、clear clcformat ratfor k=1:10 for l=1:10 A(k,l)=1/(k+l) end end(3)、clear clcfor k=1:5 for l=1:5 if k=l A(k,l)=2004; elseif l=k+1 A(k,l)=10*l; end endend A(4)、clear clcfor k=1:10 for l=1:10 if k+l=11 A(k,l)=10; elseif k+l=12 A(k,l)=9; elseif k+l=13 A(k,l)=8; elseif k+l=14 A(k,l)=7; else
5、if k+l=15 A(k,l)=6; elseif k+l=16 A(k,l)=5; elseif k+l=17 A(k,l)=4; elseif k+l=18 A(k,l)=3; elseif k+l=19 A(k,l)=2; elseif k+l=20 A(k,l)=1; else A(k,l)=0 end endendA2、(1)syms x yy=dsolve(x*x-1)*Dy+2*x*y-sin(x)=0,x)(2)syms x yy=dsolve(D2y-2*Dy+5*y=exp(x)*sin(x),x)(3)clearclcsyms x y tx,y=dsolve(Dx+x+
6、y=0,Dy+x-y=0,x(0)=1,y(0)=0,t)ezplot(x,y)3、clccleara1=input(请输入第1个向量a1=);a2=input(请输入第2个向量a2=);a3=input(请输入第3个向量a3=);a4=input(请输入第4个向量a4=);a5=input(请输入第5个向量a5=);A=a1,a2,a3,a4,a5R,S=rref(A);m,n=size(A);r=length(S);if n=r fprintf(给定的向量组是线性无关的。n)else fprintf(n) fprintf(给定的向量组是线性相关的。n) fprintf(n) fprintf
7、(给定的向量组的秩为%d。n,r) fprintf(n) fprintf(给定的向量组的一个极大线性无关组为:n) for i=1:r fprintf(a%d,S(i) A(:,S(i) fprintf(n) end b=1:n; for i=1:r b(S(i)=0; B=find(b); end for j=1:(n-r) fprintf(a%d=,B(j) T=R(:,B(j); for i=1:r fprintf(%d*a%d + ,T(i),S(i) end fprintf(bbn) end end4、clcclearA=1,1,1,0,0;1,1,-1,-1,-2;2,2,0,-1
8、,-2;5,5,-3,-4,-8;b=0;1;1;4r1=rank(A);r2=rank(A,b);n=size(A,2);if r1=r2 fprintf(原方程无解n)else if r1=n fprintf(原方程有唯一解:n) format rat x0=Ab format else fprintf(原方程有无穷多个解n) fprintf(其中原方程的一个特解为:n) R,S=rref(A,b); X0=zeros(size(A,2),1); T=R(:,end); for k=1:length(S) X0(S(k)=T(k); end format rat X0 fprintf(原方
9、程组对应的齐次线性方程组的基础解系为:n) X=null(A,r) format endend五、 实验结果与讨论、1、(1):实验结果为A = Columns 1 through 6 1 1 0 0 0 0 1 1/2 1 0 0 0 0 1 1/3 1 0 0 0 0 1 1/4 1 0 0 0 0 1 1/5 1 0 0 0 0 1 1/6 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Columns 7 through 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1/7 1 0
10、0 1 1/8 1 0 0 1 1/9 1 (2):实验结果为: A = Columns 1 through 6 1/2 1/3 1/4 1/5 1/6 1/7 1/3 1/4 1/5 1/6 1/7 1/8 1/4 1/5 1/6 1/7 1/8 1/9 1/5 1/6 1/7 1/8 1/9 1/10 1/6 1/7 1/8 1/9 1/10 1/11 1/7 1/8 1/9 1/10 1/11 1/12 1/8 1/9 1/10 1/11 1/12 1/13 1/9 1/10 1/11 1/12 1/13 1/14 1/10 1/11 1/12 1/13 1/14 1/15 1/11 1
11、/12 1/13 1/14 1/15 1/16 Columns 7 through 10 1/8 1/9 1/10 1/11 1/9 1/10 1/11 1/12 1/10 1/11 1/12 1/13 1/11 1/12 1/13 1/14 1/12 1/13 1/14 1/15 1/13 1/14 1/15 1/16 1/14 1/15 1/16 1/17 1/15 1/16 1/17 1/18 1/16 1/17 1/18 1/19 1/17 1/18 1/19 1/20 (3)实验结果为:A = 2004 20 0 0 0 0 2004 30 0 0 0 0 2004 40 0 0 0
12、 0 2004 50 0 0 0 0 2004 (4):实验结果为:A = Columns 1 through 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 10 9 0 0 0 10 9 8 0 0 10 9 8 7 0 10 9 8 7 6 10 9 8 7 6 5 Columns 7 through 10 0 0 0 10 0 0 10 9 0 10 9 8 10 9 8 7 9 8 7 6 8 7 6 5 7 6 5 4 6 5 4 3 5 4 3 2 4 3 2 1 2、(1):实验结果为
13、:y = (-cos(x)+C1)/(x2-1)(2)实验结果为:y = exp(x)*sin(2*x)*C2+exp(x)*cos(2*x)*C1+1/3*exp(x)*sin(x) (3)实验结果为:x = (1/2-1/4*2(1/2)*exp(2(1/2)*t)+(1/2+1/4*2(1/2)*exp(-2(1/2)*t) y =-(1/2-1/4*2(1/2)*2(1/2)*exp(2(1/2)*t)+(1/2+1/4*2(1/2)*2(1/2)*exp(-2(1/2)*t)-(1/2-1/4*2(1/2)*exp(2(1/2)*t)-(1/2+1/4*2(1/2)*exp(-2(1/2)*t)3、A = 1 0 3 2 1 -1 3 0 1 -1 2 1 7 5 2 4 2 14 6 0 给定的向量组是线性相关的。给定的向量组的秩为3。给定的向量组的一个极大线性无关组为:a1ans = 1 -1 2 4 a2ans = 0 3 1 2 a4ans = 2 1 5 6 a3=3*a1 + 1*a2 + 0*a4 a5=-1*a1 + -1*a2 + 1*a4 4、b = 0 1 1 4原方程无解六、 总结(1):在编程中常常会把end给漏掉;(2):对于高代中的知识点总是记得不是太清楚,导致判断最大线性无关和秩等都不太会做。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1