MATLAB软件与基础数学实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MATLAB 软件与基础数学实验
Saw H.Z
实验1 MATLAB 基本特性与基本运算
例1-1 求[12+2×(7-4)]÷32的算术运算结果。
>> clear
>> s=(12+2*(7-4))/3^2 s = 2
例1-2 计算5!,并把运算结果赋给变量y y=1;
for i=1:5 y=y*i; end y
例1-3 计算2开平方
>> s=2^(0.5) s =
1.4142 >>
例1-4 计算2开平方并赋值给变量x (不显示)
查看x 的赋值情况 a=2;
x=a^(0.5); x
例1-4 设
75,24=-=b a ,计算|)tan(||)
||sin(|b a b a ++的值。
a=(-24)/180*pi; b=75/180*pi; a1=abs(a); b1=abs(b); c=abs(a+b);
s=sin(a1+b1)/(tan(c))^(0.5)
例1-5 设三角形三边长为2,3,4===c b a ,求此三角形的面积。
a=4;b=3;c=2; p=(a+b+c)/2;
s=(p*(p-a)*(p-b)*(p-c))^(0.5)
例1-7 设
⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=101654321A ,⎥⎥
⎥⎦⎤
⎢⎢⎢⎣⎡-=112311021B ,计算||,,A AB B A +,1-A 。
a=[1,2,3;4,5,6;1,0,1];
b=[-1,2,0;1,1,3;2,1,1]; x=a+b; y=a*b; z=norm(a); q=inv(a); x,y,z,q
例1-8 显示上例中矩阵A 的第2行第3列元素,并对其进行修改. a=[1,2,3;4,5,6;1,0,1];
x=a(2,3);
a(2,3)=input('change into=') x,a
例1-9 分别画出函数x x y cos 2
=和x x
z sin =
在区间[-6π,6π]上的图形。
a=1;
x=-1/6*pi:0.01:1/6*pi; y=(x.*x).*cos(x); z=sin(x)/x; plot(x,y,x,z);
例1-10 试求方程组⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣
⎡--432201624121X 的解。
a=[1,2,1;4,2,-6;-1,0,2];
b=[2;3;4]; x=inv(a)*b
例1-11 试求矩阵方程⎥⎦⎤⎢⎣⎡=⎥⎥⎥⎦⎤
⎢⎢⎢⎣⎡--111321201624121X 的解。
a=[1,2,1;4,2,-6;-1,0,2];
b=[1,2,3;1,1,1]; x=b*inv(a)
例1-12 建立同时计算n
b a y )(1+=,n
b a y )(2-=的函数。
即任给a,b,n 三个数,返回y1,y2.
a=input('a=');
b=input('b='); n=input('n='); y1=(a+b)^n; y2=(a-b)^n; y1,y2
例1-13 设2211
()6
(0.3)0.01(0.9)0.04f x x x =
+--+-+,试画出在[0,2]上的曲线
段。
% 加坐标网格 x=0:2;
y=1./((x-0.3).^2+0.01)+1./((x-0.9).^2+0.04)-6; plot(x,y); grid on;
例如:对于例题1-13中所定义的f(x),求其零点c. 例如:求一元函数最小值(fminbnd 命令)
例如:求例题1-13中所定义f(x)在[0,1]上的定积分
⎰1
)d (x x f .
例1-14 求二重积分⎰⎰⨯]2,1[]1,0[d σ
xy 及三重积分⎰⎰⎰⨯⨯+]
1,0[]1,0[]1,0[2
)(dxdydz
z xe y。
syms x y z
a1=int(y,int(x,x.*y,1,2),0,1);
a2=int(z,int(y,int(x,x.*exp.^y+z.^2,0,1),0,1),0,1); a1,a2
例1-15 已知5652
3
++-=t t t y ,设该曲线在区间[0,x ]上所围曲边梯形面积为s ,
试求当s 分别为5,10时的x 的值。
分.
>> f=inline('1/4*t^4-5/3*t^3+3*t^2+5*t-5'); >> t=fzero(f,[0,5]) t =
0.7762 >> clear
>> f=inline('1/4*t^4-5/3*t^3+3*t^2+5*t-10'); >> t=fzero(f,[0,10]) t =
1.5179
例1-16 利用MATLAB 命令求解无理数的近似值。
(1) 用函数零点命令(fzero )求无理数e 的近似值;
(2) 用定积分计算命令(trapz ,quad ,quadl )求无理数2ln 的近似值。
(提示:e =2.7182818284…,2ln =0.6931471806…)
(
(1)
>> clear
>> f=inline('log(x)-1'); >> x=fzero(f,2);
>> e=vpa(x,10) e =
2.718281828 (2)
trapz :>> clear >> x=0:0.01:1; >> y=1./(1+x); >> a=trapz(x,y); >> ln2=vpa(a,10) ln2 =
.6931534305
quad :>> f=inline('1./(1+x)'); >> a=quad(f,0,1); >> ln2=vpa(a,10) ln2 =
.6931471999
quadl: >> a=quadl(f,0,1); >> ln2=vpa(a,10) ln2 =
.6931471861
例1-17 求极限h x
h x h sin )sin(lim
0-+→。
>> syms x h
>> limit((sin(x+h)-sin(x))/h,h,0) ans = cos(x)
例1-18:设)sin(),(y y x y x f n
+=,求.,,,222y x f y f y f x f ∂∂∂∂∂∂∂∂∂
f=(x^n)*y+sin(y);
syms x n y;
>> f=(x^n)*y+sin(y); >> dx=diff(f,x); >> dy=diff(f,y); >> dx dx =
n*x^(n - 1)*y >> dy
dy =
cos(y) + x^n
dy2=diff(f,y,2); >> dy2 dy2 =
-sin(y)
>> dxdy=diff(diff(f,x),y); >> dxdy
dxdy =
n*x^(n - 1) 例
1-19
:
求
⎰+dx
x xy 21,
dy
x xy t
⎰+ 0 21,
dy x
xy
dx x
⎰
⎰
+ 0
2
1
1,
.
)(1 0
1 0
1
⎰
⎰
⎰
---++y
x x
dz z y x dy dx
► syms x y z %声明符号变量,注意变量间必须用空格分开
级数求和(symsum )
%求级数
+++++k 131211 (ans=inf 即∞)
%求级数 ++⨯++⨯+⨯)1(1321211k k (ans=1) %求级数
+++++k a a a a 3332 (ans= 3/2*a)
泰勒展开(taylor )
► syms x
► fy=1/(1+x+x^2)
求fx 对自变量x(默认)在x=0点(默认)泰勒展开前6项(默认) 求fx 对自变量x(默认)在x=1点泰勒展开式前8项
syms x
>> fy=1/(1+x+x^2) fy =
1/(1+x+x^2)
>> taylor(fy,x,0,6) ans =
1-x+x^3-x^4
>> taylor(fy,x,1,8) ans = 1/73
方程求根(solve )
► fx=sym('a*x^2+b*x+c') ; %建立符号函数 方程fx=0的符号解
求方程fx=0关于变量b 的符号解
>> fx=sym('a*x^2+b*x+c') ; %建立符号函数 >> solve(fx) ans =
1/2/a*(-b+(b^2-4*a*c)^(1/2)) 1/2/a*(-b-(b^2-4*a*c)^(1/2))
solve(fx,'b') ans =
-(a*x^2+c)/x
微分方程(组)求解(dsolve )
求方程y'=5的通解,默认自变量为t 求方程y'=x 的通解,指定自变量为x 求方程y''=1+y'满足y(0)=1,y'(0)=0的特解
求方程组⎩⎨
⎧='+=' 2x y y x x 的通解,默认自变量为t
>> dsolve('Dy=5','x') ans = 5*x+C1
dsolve('Dy=x','x') ans =
1/2*x^2+C1
>> dsolve('D2y=1+Dy','y(0)=1','Dy(0)=0') ans = exp(t)-t
>> [x,y]=dsolve('Dx=x+y,Dy=2*x')
x =
-1/2*C1*exp(-t)+C2*exp(2*t)
y =
C1*exp(-t)+C2*exp(2*t)
实验2 MATLAB绘制二维、三维图形
2,0[ 上正弦、余弦曲线。
例2-1在子图形窗口中画出]
x=0:pi/10:2*pi;
>> y=sin(x);
>> plot(x,y)
>> y=cos(x);
>> plot(x,y)
2,0[ 上正弦、余弦曲线并对线型加粗、点型加大,重新定置坐标系以及例2-2画出]
加注相关说明和注释。
x=0:pi/10:2*pi;
>> y=sin(x);
a=plot(x,y,’-+’);
set(a,'LineWidth',3.0)
axis([0 7 -2 3])
title(‘tuxiang’);
xlabel(‘x zhou’)
ylabel(‘y zhou’)
text(1,2,asd);
例2-3 分别在两个图形窗口画出填充一正方形和极坐标方程θθ2cos 2sin 2⋅=r 的
图形。
figure(1); x=[0 1 1 0 0] y=[0 0 1 1 0] >> fill(x,y,'x')
figure(2); theta=[0:0.01:2-pi]
r=2*sin(x*theta).*cos(2*theta); polar(theta,r);
例2-4在[-2.5,2.5]上画出函数
2
x
e
y-
=的直方图和阶梯图。
>> x=[-2.5:0.25:2.5]; >> y=exp(-x.*x); >> stairs(x,y);
>> bar(x,y)
例2-4 采用不同形式(直角坐标、参数、极坐标),画出单位圆122=+y x 的图形。
>> t=deg2rad(0:360);
>> x=cos(t);
>> y=sin(t);
>> plot(x,y)
>> x=0:pi/20:2*pi;
>> plot(cos(x),sin(x))
>> x=0:pi/20:pi*2;
>> y=sin(x)+cos(x);
>> polar(x,y)
例2-5 画出螺旋线:x=sin(t),y=cos(t),z=t,]10,0[π∈t 上一段曲线。
>> t=0:pi/50:10*pi;
>> y1=sin(t);
>> y2=cos(t);
>> plot3(y1,y2,t);
例2-6 画出矩形域[-1,1] ×[-1,1]上旋转抛物面:2
2y x z +=。
>> x=linspace(-1,1,100);
>> y=x;
>> [X,Y]=meshgrid(x,y);
>> Z=X.^2+Y .^2;
>> mesh(X,Y
,Z)
例2-7 在圆形域122≤+y x 上绘制旋转抛物面:2
2y x z +=。
>> x=linspace(-1,1,300);
>> y=x;
>> [X,Y]=meshgrid(x,y);
>> Z=X.^2+Y .^2;
>> i=find(Z>1);
>> Z(i)=NaN;
>> mesh(X,Y ,Z)
例2-9 画出
2222sin y x y x z ++=
在5.7||,5.7||≤≤y x 上的图形。
>> x=7.5:0.5:7.5;
>> y=x
>> [X,Y]=meshgrid(x,y);
>> u=sqrt(X.^2+Y.^2)+eps;
>> Z=sin(u)./u;
>> surf(X,Y,Z);
例2-10有一组实验数据如下表所示,试绘图表示。
d1=[12.51 13.54 15.60 15.92 20.64 24.53 30.24 50.00 36.34]; d2=[9.87 20.54 32.21 40.50 48.31 64.51 72.32 85.98 89.77]; d3=[10.11 8.14 14.17 10.14 40.50 39.45 60.11 70.13 40.90]; plot(t,d1,’r+-’,t,d2,’kt:’,t,d3,’b*-’,’linewidth’,2,’markersize,8’);
title(‘time&data’);xlable(‘time’);ylable(‘data’);
axis([0 10 0 100]);
text(6.5,25.5,’’leftarrowdata1’);text(3,43.8,’data2\rightarrow’);
text(4.8,30.5,’leftarrowdata3’);
grid。