含义为独立重复N次试验后, 事件总共发生k次的概率
binopdf
binocdf
binornd
例:画出
N = 100; p = 0.5; % 总试验次数和单次试验发生概率
k = 0:N; % 所有可能的事件发生次数
pdf = binopdf(k, N, p); % 绘制概率曲线
cdf = binocdf(k, N, p); % 绘制分布曲线
h = plotyy(k, pdf, k, cdf); % 左右两侧不同的纵轴刻度代表两个函数
绘制结果为:
进阶绘图技巧:set
函数的使用
set(get(h(1),'Children'),'Color','b','Marker', '.', 'MarkerSize', 13)
% 句中 get(h(1),'children') 表示获取刚才第一条曲线绘制的所有子对象
% 然后将第一条曲线改为蓝色 并且在采样点加注实心点 不是只画点
set(get(h(1),'Ylabel'), 'String','pdf')
% 句柄包含多个绘图时 需要 get 出来再操作 此行改变了左侧 Y 轴的标记名
set(h(2),'Ycolor',[1, 0, 0])
% 第二条曲线纵坐标轴颜色改为纯红色
set(get(h(2),'Children'),'Color','r','Marker','+','MarkerSize',4)
% 第二条曲线改为红色并用来标注采样点
set(get(h(2), 'Ylabel'),'String', 'cdf')
% 右侧Y轴的标记名
xlabel('k')
grid on
绘图结果为:
对应分布函数
normpdf
normcdf
normrnd
randn
例:正态分布几何表示
mu = 3; sigma = 0.5;
x = mu + sigma*[-3:-1,1:3]; % 设置六个不同的采样点
yf = normcdf(x, mu, sigma); % 获得六个点的cdf值
P = [yf(4)-yf(3), yf(5)-yf(2), yf(6)-yf(1)]; % 计算cdf的差值(内部区域面积)
xd = 1:0.1:5; yd = normpdf(xd, mu, sigma); clf
for k=1:3
xx = x(4-k):sigma/10:x(3+k);
yy = normpdf(xx, mu, sigma);
% 对于三个不同的面积区间进行不同范围的采样,并获得 pdf 函数的值
subplot(3, 1, k), plot(xd, yd, 'b'); % 绘图位于3行1列第k个位置
hold on, fill([x(4-k), xx, x(3+k)], [0, yy, 0], 'g'); hold off
if k<2
text(3.8, 0.6, '[{mu}-{sigma}, {mu}+{sigma}]')
else
kk = int2str(k);
text(3.8, 0.6, ['[{mu}-', kk, '{sigma}, {mu}+', kk, '{sigma}]'])
end
text(2.8, 0.3, num2str(P(k))); shg % 填充区域内显示面积
end
xlabel('x'); shg
绘图结果为:
例:产生1000个服从
mu = 2; s = 0.5;
rng(22, 'v5normal')
x = randn(1000, 1);
y = s*x+mu;
subplot(2, 1, 1), histfit(x), axis([-5, 5, 0, 100]), ylabel('x')
subplot(2, 1, 2), histfit(y), axis([-5, 5, 0, 100]), ylabel('y'
假设
一般来讲,多项式拟合往往会与逼近或插值这两种知识相结合。在采样点准确,函数光滑的情况下,高阶的拟合(即假设更大的
p = ployfit(x, y, n)
将通过数组
yy=polyval (p, x)
可以将多项式系数回代,观察拟合值利用MATLAB函数计算采样
例:多项式拟合实例
x0 = 0:0.1:1;
y0 = [-.447, 1.978, 3.11, 5.25, 5.02, 4.66, 4.01, 4.58, 3.45, 5.35, 9.22]; % 构造原始数据
n = 3;P = polyfit(x0, y0, n) % 多项式拟合
xx = 0:0.01:1; yy = polyval(P, xx); % 利用得到的多项式代回得到预测值
plot(xx, yy, '-b', x0, y0, '.r', 'MarkerSize', 20); % 绘图
legend('拟合曲线', '原始数据', 'Location', 'SouthEast')
xlabel('x')
绘制结果为:
进阶制表:
y1 = polyval(P, x0);
T = table(x0', y0', y1', y1'-y0', 'VariableNames', {
'X', 'Y', 'Fit', 'FitError'})
表打印结果为:
T =
11×4 table
X Y Fit FitError
___ ______ ________ _________
0 -0.447 -0.90431 -0.45731
0.1 1.978 2.2819 0.3039
0.2 3.11 4.0659 0.95592
0.3 5.25 4.7879 -0.46211
0.4 5.02 4.788 -0.23204
0.5 4.66 4.4063 -0.25372
0.6 4.01 3.983 -0.027002
0.7 4.58 3.8583 -0.72174
0.8 3.45 4.3722 0.92223
0.9 5.35 5.865 0.51503
1 9.22 8.6768 -0.54316
polyfit
函数的方法即解最小二乘问题 :
方法是构造
易得
例:用最小二乘法获得拟合结果
x0 = (0:0.1:1)';
y0 = [-.447,1.978,3.11,5.25,5.02,4.66,4.01,4.58,3.45,5.35,9.22]';
m = length(x0);
n = 3;
X = zeros(m,n+1); %m个采样点,n+1个未知系数
for k=1:n
X(:, n-k+1) = (x0.^k);
end
X(:, n+1) = ones(m, 1);
aT = (Xy0)'
输出结果应与调用多项式拟合函数得到的P
相同
aT =
56.6915 -87.1174 40.0070 -0.9043
其中,
实际问题中,线性拟合所使用的基函数也未必一定是多项式, 根据实际问题可以设置为三角函数、指数函数、正态分布的概率密度函数,以及混合定义的基底函数。