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
sin(|a|?|b|)例1-4 设a??24,b?75,计算
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 设三角形三边长为a?4,b?3,c?2,求此三角形的面积。
??tan(|a?b|)的值。
a=4;b=3;c=2; p=(a+b+c)/2;
s=(p*(p-a)*(p-b)*(p-c))^(0.5)
?123???120??B??113?A??456???????101??,?211??,计算A?B,AB,|A|,A?1。 例1-7 设
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 分别画出函数y?xcosx和
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);
2z?sinxx在区间[-6?,6?]上的图形。
?121??2??42?6?X??3???????102????4??的解。 例1-10 试求方程组?a=[1,2,1;4,2,-6;-1,0,2];
b=[2;3;4]; x=inv(a)*b
?121????123?X?42?6???111??????102??例1-11 试求矩阵方程的解。
a=[1,2,1;4,2,-6;-1,0,2];
b=[1,2,3;1,1,1]; x=b*inv(a)
例1-12 建立同时计算y1?(a?b),y2?(a?b)的函数。即任给a,b,n三个数,返回y1,y2.
a=input('a=');
nnb=input('b='); n=input('n='); y1=(a+b)^n; y2=(a-b)^n; y1,y2
f(x)?例1-13 设段。
% 加坐标网格 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]上的定积分
11??6(x?0.3)2?0.01(x?0.9)2?0.04,试画出在[0,2]上的曲线
例1-14 求二重积分[0,1]?[1,2]及三重积分[0,1]?[0,1]?[0,1]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
32??xyd??f(x)dx.
???(xe?z)dxdydz 0y2 1。
例1-15 已知y?t?5t?6t?5,设该曲线在区间[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)求无理数ln2的近似值。 (提示:e =2.7182818284…,ln2=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
sin(x?h)?sinxh例1-17 求极限h?0。
lim>> syms x h
>> limit((sin(x+h)-sin(x))/h,h,0) ans = cos(x)
?f?f?2f?2f,,2,.n?x?y?x?y?yf(x,y)?xy?sin(y)例1-18:设,求
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) 例
?xy1-19
:
求
1?x2dx t 1xy,
?xy 0 1?x2dy,
? 0dx? x 01?x2dy? 1?x?x?y 0dx? 1 0dy? 1 0(x?y?z)dz.? syms x y z
%声明符号变量,注意变量间必须用空格分开级数求和(symsum)
%求级数1?12?13???1k?? (ans=inf 即?)
1 %求级数1?2?12?3???1k?(k?1)?? (ans=1) %求级数a?aaa3?32???3k?? (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
,