加载中…
个人资料
小小鸟
小小鸟
  • 博客等级:
  • 博客积分:0
  • 博客访问:360
  • 关注人气:5
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
博文
标签:

杂谈

分类: 菜鸟成长日记

R = mvnrnd(MU,SIGMA)——从均值为MU,协方差为SIGMA的正态分布中抽取n*d的矩阵R(n代表抽取的个数,d代表分布的维数)。


MU为n*d的矩阵,R中的每一行为以MU中对应的行为均值的正态分布中抽取的一个样本。

SIGMA为d*d的对称半正定矩阵,或者为d*d*n的array。若SIGMA为array,R中的每一行对应的分布的协方差矩阵为该array对应的一个page。也就是说:R(i,:)由MU(i,:)和SIGMA(:,:,i)产生。
如果协方差矩阵为对角阵,sigma也可用1*d向量或1*d*n的array表示,如果MU是一个1*d的向量,则SIGMA中的n个协方差矩阵共用这个MU。R的行数n由MU的行数n或者SIGMA的page数n决定。

r = mvnrnd(MU,SIGMA,cases)——从均值为MU(1*d),协方差矩阵为SIGMA(d*d)的正态分布中随机抽取cases个样本,返回cases*d的矩阵r。

 

不使用现成的函数,可以通过一个线性变换来实现:

我们知道,matlab产生的n维正态样本中的每个分量都是相互独立的,或

标签:

杂谈

分类: 菜鸟成长日记

clear;clc;close all
% 两阶段法
disp('在运行程序之前,请确认已经将LP化为标准型');
tic;
A=[1 1 1 1 0 0 0;-2 1 -1 0 -1 1 0;0 3 1 0 0 0 1];
c0=[-3 0 1 0 0 -1 -1];
b=[4;1;9];
% A=[2 2 1 0 0;4 0 0 1 0;0 5 0 0 1];
% c=[2 3 0 0 0];
% b=[12;16;15];
% A=input('请输入系数矩阵A=');
% c=input('请输入目标函数的系数c=');
% b=input('请输入右端向量b=');
[m,n]=size(A);
% C_B B b x
bigm=zeros(m,m+n);
% 第一阶段
c=[0 0 0 0 0 -1 -1];
% 加入松弛变量以后,直接就会形成单位阵
% 第一步:形成初始的单纯形表
% bigm(:,2)=n-m+1:n;
total_m=nchoosek(1:n,m);
for i=1:size(total_m,1)
    temp_m=A(:,total_m(i,:));
    if all(temp_m-eye(m)==0)
        bigm(:,2)=total_m(i,:);
  &

  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有