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 ,计算的值。
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;
p=(a+b+c)/2;
s=(p*(p-a)*(p-b)*(p-c))^(0.5)
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 分别画出函数在区间[-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  试求方程组的解。
a=[1,2,1;4,2,-6;-1,0,2];
b=[2;3;4];
x=inv(a)*b
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  建立同时计算的函数。即任给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  ,试画出在[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-14  求二重积分及三重积分
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  已知设该曲线在区间[0,x]上所围曲边梯形面积为s,试求当s分别为510时的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)求无理数的近似值;
(2) 用定积分计算命令(trapz,quad,quadl)求无理数的近似值。
(提示e =2.7182818284…=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  求极限
>> syms x h
>> limit((sin(x+h)-sin(x))/h,h,0)
ans =
cos(x)
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)
1-19
► syms  x  y  z          %声明符号变量,注意变量间必须用空格分开
级数求和(symsum
  %求级数  (ans=inf )
  %求级数  (ans=1)
%求级数  (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)
matlab直方图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的特
求方程组的通解,默认自变量为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-1 子图形窗口中画出上正弦、余弦曲线。
x=0:pi/10:2*pi;
>> y=sin(x);
>> plot(x,y)
>> y=cos(x);
>> plot(x,y)
例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 分别在两个图形窗口画出填充一正方形和极坐标方程的图形。
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]上画出函数的直方图和阶梯图。
>> x=[-2.5:0.25:2.5];
>> y=exp(-x.*x);
>> stairs(x,y);
>> bar(x,y)
例2-4 采用不同形式(直角坐标、参数、极坐标),画出单位圆的图形。
>> 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,上一段曲线。
>> t=0:pi/50:10*pi;
>> y1=sin(t);
>> y2=cos(t);
>> plot3(y1,y2,t);
例2-6 画出矩形域[-1,1] ×[-1,1]上旋转抛物面:
>> x=linspace(-1,1,100);
>> y=x;
>> [X,Y]=meshgrid(x,y);
>> Z=X.^2+Y.^2;
>> mesh(X,Y,Z)
例2-7 在圆形域上绘制旋转抛物面:
>> x=linspace(-1,1,300);
>> y=x;
>> [X,Y]=meshgrid(x,y);
>> Z=X.^2+Y.^2;
>> i=find(Z>1);
>> Z(i)=NaN;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。