matlab编程及其应用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

A(k,l)=1; else A(k,l)=0 end end end A 2、 (1) syms x y y=dsolve('(x*x-1)*Dy+2*x*y-sin(x)=0','x')
(2) syms x y y=dsolve('D2y-2*Dy+5*y=exp(x)*sin(x)','x') (3) clear clc syms x y t [x,y]=dsolve('Dx+x+y=0,Dy+x-y=0','x(0)=1,y(0)=0','t') ezplot(x,y) 3、 clc clear a1=input('请输入第1个向量a1='); a2=input('请输入第2个向量a2='); a3=input('请输入第3个向量a3='); a4=input('请输入第4个向量a4='); a5=input('请输入第5个向量a5='); A=[a1',a2',a3',a4',a5'] [R,S]=rref(A); [m,n]=size(A); r=length(S); if n==r
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):实验结果为:y =
(-cos(x)+C1)/(x^2-1)
(2)实验结果为:y =
A(k,l)=8; elseif k+l==14
A(k,l)=7; elseif 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
三、实验环境
(1)硬件:PC机 (2)软件:Windows 操作系统、matlab7.0
四、实验步骤:
1、(1)clear clc format rat for 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; end
x0=A\b 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('原方程组对应的齐次线性方程组的基础解系为:\n')
6. 试说明下面两段程序的功能,最后两个 x 值为多少?
x=1; while x+x>x, x=x/2; end
x=1; while x+x>x, x=2*x; end
7. 已知 sin(x) 的幂级数展开公式为 试利用这个公式和第 5 题中的技巧,计算 sin(/2)和 sin(31/2) 的值,并与 Matlab 自带的 sin 函数比较,误差分别多大?为什么?
end end A (2)、clear clc format rat for k=1:10 for l=1:10
A(k,l)=1/(k+l)
end end (3)、clear clc for k=1:5
for l=1:5 if k==l
A(k,l)=2004; elseif l==k+1
A(k,l)=10*l; end end end A (4)、clear clc for 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
1/12
1/13
1/13
1/14
1/14
1/15
1/15
1/16
1/16
1/17
1/17
1/18
(3) 实验结果为:
A=
2004
20
0
2004
0
0
0
0
0
0
(4) :实验结果为:
A=
Columns 1 through 6
0
0
0
0
0
1/10 1/11 1/12 1/13
1/10 1/11 1/12 1/13 1/14 1/15 1/16 1/17 1/18 1/19
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/8 1/13
1/9 1/14
1/10 1/15
1/11 1/16
1/9 1/10 1/11 1/12
Columns 7 through 10
1/8
1/9
1/9
1/10
1/10
1/11
1/11
1/12
0 1 1 4
原方程无解
6、 总结
(1) :在编程中常常会把end给漏掉; (2) :对于高代中的知识点总是记得不是太清楚,导致判断最大线性 无关和秩等都不太会做。
fprintf('给定的向量组是线性无关的。\n') else
fprintf('\n') fprintf('给定的向量组是线性相关的。\n')
fprintf('\n') fprintf('给定的向量组的秩为%d。\n',r) fprintf('\n') fprintf('给定的向量组的一个极大线性无关组为:\n') for i=1:r
3、 A=
1 -1 2 4
0
3
3
0
1
7
2
14
2
1
1
-1
5
2
6
0
给定的向量组是线性相关的。 给定的向量组的秩为3。 给定的向量组的一个极大线性无关组为: a1 ans =
1
-1
2
4
a2 ans =
0
3
1
2
a4 ans =
2
1
ቤተ መጻሕፍቲ ባይዱ
5
6
a3=3*a1 + 1*a2 + 0*a4
a5=-1*a1 + -1*a2 + 1*a4 4、 b=
X=null(A,'r') format end end
5、 实验结果与讨论、
1、 (1) :实验结果为 A=
Columns 1 through 6
1 0
1 0
0 0
0 0
0 1
0 1/6
1
0
0
0
1/2
1
0
0
1
1/3
1
0
0
1
1/4
1
0
0
1
1/5
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
Columns 7 through 10
二、实验内容
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 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 1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1/7
1
0
1
1/8
1
0
1
1/9
(2) :实验结果为:
A=
Columns 1 through 6
1/2
1/3
1/4
1/7
1/3
1/4
1/5
1/8
1/4
1/5
1/6
1/9
1/5
1/6
1/7
1/10
1/6
1/7
1/8
1/11
1/7
1/8
1/9
1/12
0
0
0
0
0
0
0
0
0 0 0 0 0 0 0 0 1
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('\b\b\n') end end 4、 clc clear A=[1,1,1,0,0;1,1,-1,-1,-2;2,2,0,-1,-2;5,5,-3,-4,-8]; b=[0;1;1;4] r1=rank(A); r2=rank([A,b]); n=size(A,2); if r1==r2 fprintf('原方程无解\n') else if r1==n fprintf('原方程有唯一解:\n') format rat
2、求微分方程的通解或特解 P97,1—3
3、用编程方法求向量组的秩、一个极大线性无关组,并将其余的向量 用极大无关组来线性表示:a1=[1,-1,2,4]
a2=[0,3,1,2] a3=[3,0,7,14] a4=[2,1,5,6] a5=[1,-1,2,0]
4.求线性方程组的一个特解和一个基础解系: 5、在[-2 2]x[-2 2]上绘制下列图形:
实验报告8
课程 数学实验与数学软件 实验名称matlab编程及其应用第 1 页
一、实验目的
1. 了解m文件的创建与编辑的基本方法。 2. 了解格式输入与输出函数input\disp\fprintf的格式和用
法。 3. 了解if\switch的结构和用法。 4. 了解for\while循环的的结构和用法。 5. 了解编程的基本思想,并能够应用与求解实际问题。
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/21/4*2^(1/2))*exp(2^(1/2)*t)(1/2+1/4*2^(1/2))*exp(-2^(1/2)*t)
0 30 2004 0 0
0 0
1/11 1/12 1/13 1/14
1/11 1/12 1/13 1/14 1/15 1/16 1/17 1/18 1/19 1/20
0 0 40 2004 0
0 0
1/12 1/13 1/14 1/15
0 0 0 50 2004
0 0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
相关文档
最新文档