MATLAB数学实验总结

L1 MATLAB 基础知识

P6 表1-3 数据显示格式

format rat
format long

P20 表2-5 常用的矩阵函数

zeros(m,n) %零阵
eye(n) %单位阵
ones(m,n) %全一阵
diag(v,k) %k=0,v为行矩阵时生成对角阵如 diag([3 4 5]),v为一般矩阵时取对角元素成列矩阵
rand(m,n) %随机阵

P24 表2-6 常用函数命令,该页上有矩阵运算规则

exp(x) %\(e^x\)
abs(x) %\(|x|\)
sqrt(x) %\(\sqrt{x}\)
log(x) %\(lnx\)

:操作符

j:k %[j,j+1,j+2,…,k] 步长为1的等差数列
j:i:k %[j,j+i,j+2*i,…,k]步长为i的等差数列

矩阵的操作

A(i,j) %取矩阵A的第i行第j列元素
A(i) %取矩阵A的第i个元素
A(i:j) %A(i),A(i+1),…,A(j)
A(i,:) %A取矩阵的第i行
A(:,j) %取矩阵A的第j列

for循环
for i=from:step:to
……
end
if语句
if something
    do sth
elseif something
    do sth
……
else
    do sth
end
交互语句

a=input('请输入')
a=input('请输入','s')

作业:P16 第4题, P27第2题

1、求\(\sum_{k=1}^n k!\)

function s=JCH(k)
if(k<0) disp('输入参数的值不合法');
elseif(k==0) s=1;
else
    su = 0;
    for i = 1 : 1 : k
        jiecheng = 1;
        for j = 1 : 1 : i
            jiecheng = jiecheng * j ; %内循环求阶乘
        end
        su = jiecheng + su ;  %外循环求和
    end
s = su ;
end
end

2、矩阵的*与 .* 运算

L2 MATLAB 绘图

二维绘图

plot(y)
plot(x,y)
plot(x1,y1,x2,y2,x3,y3…)
plot(x1,y1,’ String1’,x2,y2,’ String2’,…) %P44 表4-1、表4-2、表4-3
subplot(m,n,i)
subplot('position',[left bottom width height]) %各参数在0~1之间取值

图形标注

title('string')
xlabel('string')
ylabel('string')
zlabel('string')
gtext('string') %鼠标定位标注
legend('string1','string2','string3') %图例标注

三维曲线绘图

plot3(X,Y,Z)
plot3(X,Y,Z,’String’)
plot3(X1,Y1,Z1,’ String1’,X2,Y2,Z2,’ String2’,…)

作业:p79 1,3,5

例:画出函数 $ y = sin^2 x \(在\)-5 \le x \le 5 $ 的图形。

x=-5:0.1:5;
y=sin(x.^2); 
plot(x,y),grid on       %网格线

1、绘制\(y=e^{\frac{\pi}{3}}sin(3x),x \in [0,4\pi]\),要求蓝色星号画图,红点划线画包络线 \(y=\pm e^{\frac{x}{3}}\)

clear;
clf;
x = 0 : pi/50 : 4*pi ;
y = exp(x/3).*sin(3*x);
y1 = exp(x/3);
y2 = - y1;
plot(x,y,'b*',x,y1,'r-.',x,y2,'r-.')

3、同一窗口画三个子图,要求用指令:gtext axis legend title xlabel ylabel:

clear;
clf;

x1 = -pi : pi/50 : pi ;
x2 = pi : pi/100 : 4*pi ;
x3 = 1 : 0.1 : 8 ;
y1 = x1 .* cos(x1) ;
y2 = x2 .* tan(1 ./ x2) .* sin(x2.^3) ;
y3 = exp(1 ./ x3) .* sin(x3);
subplot(2,2,1) , plot(x1,y1),grid on;
axis on;        %恢复消隐坐标轴 ; 
axis equal;     %使坐标轴在三个方向上刻度增量相同
legend('y1 = x1*cos(x1)');
title('曲线y1 = x1*cos(x1)')
xlabel('x1');ylabel('y1');
gtext('y1 = x1*cos(x1) ');

subplot('position',[0.15,0.15,0.75,0.3]) , plot(x2,y2),grid on;
axis on ;
legend('y2 = x2*tan(1/x2)*sin(x2^3)');
title('曲线y2 = x2*tan(1/x2)*sin(x2^3)')
xlabel('x2');ylabel('y2');
gtext('y2 = x2*tan(1/x2)*sin(x2^3) ');

subplot(2,2,2) , plot(x3,y3),grid on;
axis on ; axis equal;
legend('y3 = exp(1/x3)*sin(x3)');
title('曲线y3 = exp(1/x3)*sin(x3)')
xlabel('x3');ylabel('y3');
gtext('y3 = exp(1/x3)*sin(x3)');

结果:
img

5、绘制圆锥螺线的图像并加以标注,给出了参数方程:

clear
clf

t= 0 : pi/10 : 20*pi ;
x= t .* cos(pi/6*t);
y= t .* sin(pi/6*t);
z= 2*t;
plot3(x,y,z);
title('圆锥螺线的图像');
xlabel('x轴');
ylabel('y轴');
zlabel('z轴');
legend('圆锥螺线');
grid on;
axis square;        %使坐标轴在三个方向上长度相同

L3 MATLAB 三维曲面绘图

网格绘图

网格图:线条有颜色,空挡没有颜色
[x,y]=meshgrid(x,y) %生成的X、Y都是y*x维的矩阵(生成二维网格)
[X,Y]=meshgrid(x) %等价于meshgrid(x,x)
[X Y Z]=meshgrid(x,y,z)
[X,Y,Z]=meshgrid(x) %等价于meshgrid(x,x,x)
mesh(X,Y,Z) %X,Y,Z为空间坐标矩阵

表面绘图

曲面图:线条是黑色,空挡有颜色(把线条之间的空挡填充颜色,沿z轴按每一网格变化)
surf(X,Y,Z)

三维图形控制命令

view(az,el) %az为水平方位角,从y轴负方向开始,逆时针旋转为正;el为垂直方位角,以向z轴方向旋转为正。三维默认视角为az=-37.5, el=30
1525527886681
view([x,y,z]) %笛卡尔坐标系下的视角,忽略向量的幅值
rotate(h,direction,alpha,orgin) %h---表示被旋转的对象;direction--方向轴:可用球坐标[theta,phi]或直角坐标[x,y,z];alpha---按右手法旋转的角度;orgin---支点
1525527914874
rotate3d %动态旋转命令,可以让用户使用鼠标来旋转视角

作业:p79 7,8,9

例1:分别用mesh surf绘制\(z=xe^{-(x^2+y^2)},-2\le x,y\le 2\)

t=-2:0.1:2;
[x,y]=meshgrid(t);
z=x.*exp(-x.^2-y.^2);
subplot(1,2,1),mesh(x,y,z),title('网格图')
subplot(1,2,2),surf(x,y,z),title('表面图')

例2:用平行截面法讨论由方程构成的马鞍面形状。

t=-10:0.1:10;
[x,y]=meshgrid(t);
z1=(x.^2-2*y.^2)+eps;       %eps是matlab中最小的正数,eps=2.22044604925031e-016
subplot(1,3,1),mesh(x,y,z1),title('马鞍面')

a=input('a=(-50<a<50)'),
z2=a*ones(size(x));
subplot(1,3,2),mesh(x,y,z2),title('平面')

r0=abs(z1-z2)<=1;
zz=r0.*z2;yy=r0.*y;xx=r0.*x;
subplot(1,3,3),plot3(xx(r0~=0),yy(r0~=0),zz(r0~=0),'o')
title('交线')

结果(输入a=20):
1525529080431

7、用mesh surf 分别画图:

clear
clf
clc

t = -1 : 0.1 : 1;
[x,y] = meshgrid(t);
z = x.^2 + 3*y.^2;
subplot(1,2,1),
mesh(x,y,z);
subplot(1,2,2),
surf(x,y,z);

8、画立体图\(\frac{x^2}{9}+\frac{y^2}{16}+\frac{z^2}{4}=1\)在各个坐标平面上的投影:

clear
clf
clc

[xx,yy,zz] = sphere(30);        %绘制单位球面并给与xx,yy,zz的返回值成矩阵
x = 1/3*xx;y = 1/4*yy;z = 1/2*zz;
subplot(2,2,1);surf(x,y,z);
subplot(2,2,2);surf(x,y,z);view([1,0,0])
subplot(2,2,3);surf(x,y,z);view([0,1,0])
subplot(2,2,4);surf(x,y,z);view([0,0,1])

9、画三维曲面\(z=5-x^2-y^2,-2\le x,y \le 2\)与平面\(z=3\)的交线:

clear
clf
clc

t = -2 : 0.1 : 2;
[x,y] = meshgrid(t);
z1 = 5 - x.^2 - y.^2;
subplot(1,3,1),mesh(x,y,z1);

z2 = 3*ones(size(x));
subplot(1,3,2),mesh(x,y,z2);

r0 = (z1 - z2) == 0;
zz = r0.*z1;        %最好写z2,原因看例题中的abs()
yy = r0.*y;
xx = r0.*x;
subplot(1,3,3),plot3(xx(r0~=0),yy(r0~=0),zz(r0~=0),'*')

L4 线性代数与数值积分

矩阵的基本运算,更多请看P82 表5-1 矩阵的基本运算

k*A %数乘,k是一个数,A是一个矩阵
A/B %矩阵的左除,AX=B, X=A^-1^B, A必须是方阵
A\B %矩阵的右除,XB=A,X=AB^-1^, B必须是方阵
det(A) %矩阵的行列式,A必须为方阵
inv(A) %矩阵的逆,A必须为方阵且|A|$\ne\(0 A^n %矩阵的乘幂,A必须为方阵,n是正整数 rref(A) %矩阵行变换化简,求A阶梯形的行最简形式 #####矩阵的特征值、特征向量、特征多项式 [V,D]=eig(A) %V是方阵A的特征向量矩阵,D是方阵A的特征值矩阵 p=poly(A) %若A为矩阵,则p为A的特征多项式系数;若A为行向量,则p为以A为根的特征多项式系数。 poly2str(p,’x’) %得到多项式的习惯形式 #####用数值方法计算定积分 1、 矩形法 例1:计算定积分\)\int_0^1 \frac{4}{1+x^2}dx\(, 并于精确值\)\pi$比较

h=0.01;x=0:h:1;
y=4./(1+x.^2);
format long
z1=sum(y(1:length(x)-1))*h     %左矩形公式
z2=sum(y(2:length(x)))*h     %右矩形公式
format short
u1=z1-pi,u2=z2-pi 

结果:
z1 =3.151575986923129
z2 =3.131575986923129
u1 = 0.0100
u2 = -0.0100

2、复合梯形公式 trapz(x,y)
z3=trapz(x,y)
结果:
z3 =3.141575986923129

3、复合辛普生公式 quad(‘fun’,a,b,tol,trace)

  • 式中fun是被积函数表达式字符串或者是M函数文件;
  • a,b是积分的下限与上限;
  • tol代表精度,可以缺省(tol=0.001);
  • trace=1时用图形展示积分过程,省略时无图形。

    作业: P114 12,14 P115 21. (1),(2) P167 17. (2) 18

    例1:

    A=[1,-1;2,4];
    p=poly(A)
    poly2str(p,’x’)

    结果:
    p=[1 -5 6]
    x^2-5x+6
    补充:
    1525532356455

12、随即输入一个6阶方阵,并求转置、行列式、秩、行最简

clear
clc
format rat
a=rand(6)       %rand(n)返回一个nxn的随机矩阵,数值范围在(0,1)之间;rand(m,n)返回一个mxn的随机矩阵
b=a'        %求转置矩阵
c=det(a)
d=rank(a)       %求矩阵的秩
e=rref(a)

14、求矩阵的特征多项式 特征值 特征向量

clear
clc
format rat
a=[2 1 1;1 2 1;1 1 2];
[V,D]=eig(a)
p=poly(a);
poly2str(p,'x')

21.(1)(2)见附件

17.(2)->例3代替 用三种方法求积分的数值解:\(\int_0^1\frac{sin^2}{x+1}dx\)

x=0:0.01:1;
y=sin(x.^2)./(x+1);     %特别小心./
s1=sum(y(1:100))*0.01
s2=sum(y(2:101))*0.01
s3=trapz(x,y)
ff=inline('sin(x.^2)./(x+1)','x')   %非常重要的就是函数怎么写出来
s4=quad(ff,0,1)

结果:
s1 =0.178688675864628
s2 =0.182896030788667
s3 =0.180792353326647
ff =内联函数:ff(x) = sin(x.^2)./(x+1)
s4 =0.180789631475358

关于函数的表示还可以这样 :
建立函数文件jifen.m:
function y=jifen(x)
y=sin(x.^2)./(x+1);
编程如下:
s=quad('jifen',0,1)

18、用多种数值方法计算定积分,并与精确值\(\sqrt{2}\)比较,同例1,不再赘述

L5 拟合与插值

曲线拟合
多项式拟合

p=polyfit(x,y,n) n次多项式数据拟合
poly2str(p,‘x’) 将多项式表示成习惯的形式
polyval(p,X) 按数组规则计算X处多项式的值
例:

x=1:0.1:2;
y=[2.1,3.2,2.1,2.5,3.2,3.5,3.4,4.1,4.7,5.0,4.8];
p2=polyfit(x,y,2)     %多项式拟合,次数是2 ,p2为拟合多项式的系数
p3=polyfit(x,y,3);
p7=polyfit(x,y,7);
disp(‘二次拟合函数'),f2=poly2str(p2,'x')
disp(‘三次拟合函数'),f3=poly2str(p3,'x');
disp(‘七次拟合函数'),f7=poly2str(p7,'x');

x1=1:0.01:2;
y2=polyval(p2,x1);     %多项式p2在x1处的值
y3=polyval(p3,x1);
y7=polyval(p7,x1);
plot(x,y,'rp',x1,y2,'--',x1,y3,'k-.',x1,y7);

结果:
p2=1.3869 -1.2608 2.141
f2 =1.3869 x^2 - 1.2608 x + 2.141
1525535697108

插值
一维多项式插值

yi=interp1(x,y,xi,method) %当输入的x是等间距时,可在插值方法method前加*,以提高处理速度。

  • ‘nearest’:最近点插值,插值点处的值取与该插值点距离最近的数据点函数值;
  • ‘linear’:分段线性插值,用直线连接数据点,插值点的值取对应直线上的值;
  • ‘spline’:三次样条函数插值,该方法用三次样条曲线通过数据点,插值点处的值取对应曲线上的值;
  • ‘cubic’:分段三次Hermite插值,确定三次Hermite函数,根据该函数确定插值点的函数值。
  • 缺省时表示分段线性插值。
    例:用以上4种方法对y=cosx在[0,6]上的一维插值效果进行比较。

    x=0:6;
    y=cos(x);
    xi=0:.25:6;
    yi1=interp1(x,y,xi,'*nearest');
    yi2=interp1(x,y,xi,'*linear');
    yi3=interp1(x,y,xi,'*spline');
    yi4=interp1(x,y,xi,'*cubic');
    plot(x,y,'ro',xi,yi1,'--',xi,yi2,'-',xi,yi3,'k.-',xi,yi4,'m:')
    legend(‘原始数据’,‘最近点插值’,‘线性插值’,’样条插值‘,’立方插值’)

    结果:
    1525536138309

    二维多项式插值

    zi=interp2(x,y,z,xi,yi,method)
    例:用以上4种方法对\(z=xe^{-(x^2+y^2)}\)在[-2,2 ]上的二维多项式插值效果进行比较。
    ```matlab
    [x,y]=meshgrid(-2:.5:2);
    z=x.*exp(-x.^2-y.^2);

[x1,y1]=meshgrid(-2:.1:2);
z1=x1.*exp(-x1.^2-y1.^2);

figure(1)
subplot(1,2,1),mesh(x,y,z),title('数据点')
subplot(1,2,2),mesh(x1,y1,z1),title('函数图象')

[xi,yi]=meshgrid(-2:.125:2);
zi1=interp2(x,y,z,xi,yi,'nearest');
zi2=interp2(x,y,z,xi,yi,'
linear');
zi3=interp2(x,y,z,xi,yi,'spline');
zi4=interp2(x,y,z,xi,yi,'
cubic');

figure(2)
subplot(221),mesh(xi,yi,zi1),title('最近点插值')
subplot(222),mesh(xi,yi,zi2),title('线性插值')
subplot(223),mesh(xi,yi,zi3),title('样条插值')
subplot(224),mesh(xi,yi,zi4),title('立方插值')
结果: ![1525536538869](MD-数学实验.assets/1525536538869.png) ![1525536563242](MD-数学实验.assets/1525536563242.png) ####作业:P130 8,10,12 8、用一次、三次、五次多项式拟合数据并画出图形。matlab
clear
clc
clf
x=[0.1 0.3 0.4 0.55 0.7 0.8 0.95];
y=[15 18 19 21 22.6 23.8 26];
p1=polyfit(x,y,1);
p3=polyfit(x,y,3);
p5=polyfit(x,y,5);
x1=0.1:0.01:0.95;
y1=polyval(p1,x1);
y3=polyval(p3,x1);
y5=polyval(p5,x1);
plot(x,y,'r',x1,y1,'--',x1,y3,'m:',x1,y5)
legend('拟合点','一次拟合','三次拟合','五次拟合')
10、用不同的插值方法计算X=18和26时Y的值。matlab
clear
clc
x=10:5:30;
y=[25.2,29.8,31.2,31.7,29.4];
xi=10:30;
yi1=interp1(x,y,xi,'
nearest');
yi2=interp1(x,y,xi,'linear');
yi3=interp1(x,y,xi,'
spline');
yi4=interp1(x,y,xi,'cubic');
plot(x,y,'ro',xi,yi1,'--',xi,yi2,'-',xi,yi3,'k.-',xi,yi4,'m:')
legend('原始数据','最近点插值','线性插值','样条插值','立方插值')
y18=interp1(x,y,18,'
spline')
y26=interp1(x,y,26,'spline')
12、用不同方法对$z=\frac{x^2}{16}-\frac{y^2}{9}$在(-3,3)上的二维插值效果进行比较。matlab
clear
clc
clf
[x,y]=meshgrid(-3:0.5:3);
z=x.^2./16-y.^2./9;
[x1,y1]=meshgrid(-3:0.1:3);
z1=x1.^2./16-y1.^2./9;
figure(1)
subplot(1,2,1),mesh(x,y,z),title('数据点')
subplot(1,2,2),mesh(x1,y1,z1),title('函数图象')
[xi,yi]=meshgrid(-3:.125:3);
zi1=interp2(x,y,z,xi,yi,'
nearest');
zi2=interp2(x,y,z,xi,yi,'linear');
zi3=interp2(x,y,z,xi,yi,'
spline');
zi4=interp2(x,y,z,xi,yi,'cubic');
figure(2)
subplot(2,2,1),mesh(xi,yi,zi1),title('最近点插值')
subplot(2,2,2),mesh(xi,yi,zi2),title('线性插值')
subplot(2,2,3),mesh(xi,yi,zi3),title('样条插值')
subplot(2,2,4),mesh(xi,yi,zi4),title('立方插值')
###L6 常微分方程的求解 #####符号解法 dsolve(’eqution’,’var’) dsolve(’eqution’ , ’cond1,cond2,…’ , ’var’) 例1:$\frac{dy}{dx}=y^2$ `dsolve('Dy=y^2','x')` 例2:$xy''-3y'=x^2,y(1)=0,y(5)=0$ `dsolve('x*D2y-3*Dy=x^2','y(1)=0,y(5)=0','x')` #####数值解法 龙格库塔方法 [t,y]=ode23(‘fun’,tspan,y0) [t,y]=ode45(‘fun’,tspan,y0) 其中,fun是定义函数的文件名,该函数fun必须以dy输出量,以t,y为输入量。tspan=[t0 tf]表示积分的起始值和终止值;y0是初始状态列向量。 例3:$y'=ytant+sect,0\le t\le 1,y|_{t=0}=\frac{\pi}{2}$,试求数值解,并与精确解$y(t)=\frac{t+\frac{\pi}{2}}{cost}$比较。 分析:这个方程满足“以dy输出,t、y输入”的条件, 解:1)编写函数文件funst.mmatlab
function yp=funst(t,y)
yp=sec(t)+y
tant(t);
2)主程序matlab
t0=0;tf=1;
y0=pi/2;
[t,y]=ode23('funst',[t0,tf],y0);
yy=(t+pi/2)./cos(t);
plot(t,y,'-',t,yy,'o')
[t,y,yy]
例2:用数值积分的方法求解微分方程:$y''+y=1-\frac{t^2}{2\pi}$,设初始时间$t_0=0$,终止时间$t_f=3\pi$,初始条件$y|_{t=0}=0,y'|_{t=0}=0$ 分析:对方程进行降阶成一阶微分方程 令:$x_1=y,x_2=y'=x_1',x_2'=y''$ 于是:$x_2'+x_1=1-\frac{t^2}{2\pi}$ 故原微分方程化为: $x_2'+x_1=1-\frac{t^2}{2\pi}$ $x_1'=x_2$ 即: $x_1'=0x_1+x_2+0$ $x_2'=-x_1+0x_2+(1-\frac{t^2}{2\pi})$ 写成矩阵形式: ![1525539237341](MD-数学实验.assets/1525539237341.png) 解:1)编写函数文件exf.mmatlab
function xdot=exf(t,x)
u=1-(t.^2)/(2pi);
xdot=[0,1;-1,0]
x+[0 ;1]u;
2)主程序如下:matlab
clf;
t0=0;
tf=3
pi;
x0=[0;0]; %初始条件列向量
[t,x]=ode23('exf',[t0,tf],x0)
y=x(:,1); %[t,x]中求出的x是按列排列, 故用ode23求出x后 只要第一列即为y
y2=-1/2(-2pi-2+t.^2)/pi-(pi+1)/picos(t); %解析解
plot(t,y,'-', t,y2,'o')
注意解析解的求法:dsolve('D2y+y=1-t^2 /(2
pi)','y(0)=0,Dy(0)=0','t')ans = -1/2*(-2*pi-2+t^2)/pi-(pi+1)/pi*cos(t) ####作业:P168 24,27 24、求解析解。y=dsolve('Dy=xsin(x)/cos(y)','x')27、用数值方法求解下列微分方程,并用不同颜色和线形将y和y'画在同一个图形窗口中: 初始时间:$t_0=0$;终止时间:$t_f=\pi$;初始条件:$y|_{t=0}=0.1,y'|_{t=0}=0.2$ 分析:略,看例2 解:1)编写函数文件exf.mmatlab
function xdot=exf(t,x)
u=1-2
t;
xdot=[0,1;1,-t]x+[0;1]u;
2)主程序如下:matlab
t0=0;
tf=pi;
x0t=[0.1;0.2];
[t,x]=ode23('exf',[t0,tf],x0t);
y=x(:,1);
y2=x(:,2);
plot(t,y,'-',t,y2,'o')
legend('原函数','导数')
```

L7 随机试验、统计分析、计算机模拟

随机试验

例1 随机试验:100个人的团体,生日各不相同、至少两人生日相同概率的分析

for n=1:100
   p0(n)=prod(365:-1:365-n+1)/365^n;
   p1(n)=1-p0(n);
end
n=1:100;
plot(n,p0,n,p1,'--')
xlabel(‘人数’),ylabel(‘概率’)
legend(‘生日各不相同的概率’,‘至少两人相同的概率’)
axis([0 100 -0.1 1.1]),grid on
统计作图 hist(s,k) 将_数组_ s的最大值最小值为端点的区间等分为k份

基本统计函数:
| max(x) | min(x) | median(x) | range(x) | mean(x) | std(x) | var(x) | cov(x) |
| ------ | ------ | --------- | -------- | ---------- | ---------- | -------- | ---------- |
| 最大值 | 最小值 | 中值 | 极差 | 算术平均差 | 样本标准差 | 样本方差 | 协方差矩阵 |
例2 作课程成绩的频数表和直方图
解:(1)数据输入:
方法1:在Matlab的交互环境下直接输入;
方法2:将以上数据以一列的形式存为A.txt文件,用 load A.txt 命令读入数据

(2) 用hist命令作频数表和直方图:(区间个数为5,可省略)
[N,X]=hist(A,5) 120名学生高数成绩的频数表;
hist(A,5) 120名学生高数成绩的直方图;

load A.txt
disp('高数成绩的频数表'),[N,X]=hist(A,5)    %N为频数
hist(A,5)   %直方图

例3 求A的均值、中位数、极差、方差和标准差。
M=[mean(A),median(A),range(A),var(A),std(A)]

概率分布 P174 表8-1 常见概率分布的期望和方差 P175 表8-2 概率分布的命令字符 表8-3 运算功能的命令字符

y=normpdf(x, mu, sigma) \(\mu=mu,\sigma=sigma\)的正态分布的密度函数
y=normpdf(x) 标准正态分布的密度函数
y=normcdf(x, mu, sigma) \(\mu=mu,\sigma=sigma\)的正态分布的分布函数
y=normcdf(x) 标准正态分布的分布函数
例4

x=-6:0.01:6;
y1=normpdf(x); 
z1=normcdf(x);
y2=normpdf(x, 0, 2);
z2=normcdf(x, 0, 2);
subplot(1, 2, 1),plot(x, y1, x, y2);
legend('N(0,1)','N(0,2^2)')
title('概率密度');
subplot(1, 2, 2),plot(x, z1, x, z2);
legend('N(0,1)','N(0,2^2)')
title('概率分布');

例4 某厂生产一种设备,其平均寿命为10年,标准差为2年.如该设备的寿命服从正态分布,求寿命不低于9年的设备占整批设备的比例?
分析:设随机变量\(\xi\)为设备寿命,由题意\(\xi \sim N(10,x^2)\)
\(P(\xi \ge 9)=1-P(\xi \le 9)\)

p1=normcdf(9,10,2)
1-p1
计算机模拟

例 将一枚硬币抛掷 500 次, 各做 7 遍, 观察正面出现的次数及频率.程序如下:

m=input(‘m=’)   %输入实验次数
n=input(‘n=’)   %输入抛掷次数
for j=1:m   %外循环是实验次数
    k=0;    %记录正面出现次数
    d=0;    %记录反面出现次数
    x=round(rand(1,n))   %round()四舍五入 rand()生成1*n的随机数矩阵
  for i=1:n     %内循环是抛掷次数
       if x(i)==1
           k=k+1;
       else x(i)==0
           d=d+1;
       end
  end 
   p(j)=k; pl(j)=k/n  %正面次数及概率
   q(j)=d; ql(j)=d/n  %反面次数及概率
end    

例 模拟生日,同上,略。

猜你喜欢

转载自www.cnblogs.com/handy1998/p/9052627.html