matlab中使用随机投点法计算定积分exp(x^2),上限1、下限0,以投点个数n为输入参数。

作者&投稿:颛兰 (若有异议请与网页底部的电邮联系)
用matlab的随机投点法计算下图的函数~

你手写的公式看得不是很清楚,这里认为被积函数如下

如果我理解的不对,你可以自己修改代码中ycr的公式。理论上nmax越大越接近真实解。程序执行最后一行时,可能会出现警告,没关系,可以正常返回精确的积分值用以对比随机投点的计算精度
nmax=1000;count=0;
for i=1:nmax
x=rand();
y=rand();
ycr=exp(-x^2/2)/sqrt(2*pi);
if ycr>=y
count=count+1;
end
end
area=count/nmax
eval(int('exp(-x^2/2)/sqrt(2*pi)',0,1)) %真实积分值


你想问什么?
r=rand(n,t); //获得n行t列的随机数,t为维数,即未知数的数量
x=r(:,1)此处根据要具体情况自行修正
积分:s=sum(积分式) //注意要使用.* .^等
剩下的照公式来

>> n=500000;N=0;
for(i=1:n)
x=rand;y=rand*(exp(1)-1)+1;
if(exp(x^2)>=y)
N=N+1;
end
end
s=(N/n)*(exp(1)-1)+1

s =
1.4627


matlab 2012b中缺少randint函数怎么办
atlab中rand函数是产生0到1的随机分布 matlab中randn函数是产生标准正态分布 randint是产生整数随机数,默认为0和1 >> rand(3) ans = 0.8147 0.9134 0.2785 0.9058 0.6324 0.5469 0.1270 0.0975 0.9575 >> randn(3) ans = -0.4326 0.2877 1.189 ...

matlab 字符替换
index=mod(round(rand(1,3)*10),13);a(index)='p';a --- 一次的运行结果为:a = abpdpfhijplmn

问几个matlab的题!
7)MATLAB的缺点是,它和其他高级程序相比,程序的执行速度较慢。由于MATLAB的程序不用编译等预处理,也不生成可执行文件,程序为解释执行,所以速度较慢。8)功能强大的工具箱是MATLAB的另一特色。MATLAB包含两个部分:核心部分和各种可选的工具箱。核心部分中有数百个核心内部函数。其工具箱又分为两类...

什么情况下用灰色系统理论来预测?
灰色系统预测在处理数据变化趋势比较单一的数据精度较高,例如随时间大致呈现递增或递减的数据,建立模型之后要检验精度的,精度合格就行。

振动 离散系统中边界条件重要么 为什么
( 1)只考虑附加质量矩阵即不考虑流速只考虑附加质量矩阵即不考虑流速影响时,利用M atlab编制程序计算得到PPR保温管道的自振频率,管道的前6阶自振频率所 示。 可以看出有自振频率相近的情况,这是因为采用了直角坐标进行数值计算,导致管道在x y平面和x z平面的振动接近相同。此外考虑附加质量后,...

找一部电影!!!1
Atlab [澳大利亚] ... color timing Chapman\/Leonard Studio Equipment [美国] ... cranes and dollies Clay Lacy Aviation [美国] ... Learjet\/Astrovision system (as Clay Lacey Aviation)Cutting Edge ... post-production services: Australia Cutting Edge Post Pty. Ltd. [澳大利亚] ... dai...

五指山市18859527166: matlab 如何用随机投点法求一元函数在闭区间上的最值? -
闻满野马: 以对勾函数为例,闭区间为[a,b],a=0.001,b=20为例;注:由于随机因素的影响,每次结果略有差异,当N足够大时,差异可以忽略.f=@(x) x+1./x; a=0.001; b=20; N=10000;%随机投点个数 rnd=rand(N,1)*(b-a)+a; rndValue=f(rnd); [maxValue,maxInd]=max(rndValue); maxX=rnd(maxInd); [minValue,minInd]=min(rndValue); minX=rnd(minInd); maxValue,maxX,minValue,minX

五指山市18859527166: 如何用matlab进行投点计算 -
闻满野马: .理论上nmax越大越接近真实解.程序执行最后一行时,可能会出现警告,没关系,可以正常返回精确的积分值用以对比随机投点的计算精度 nmax=1000;count=0; for i=1:nmaxx=rand();y=rand();ycr=exp(-x^2/2)/sqrt(2*pi);if ycr>=ycount=count+1;end end area=count/nmaxeval(int('exp(-x^2/2)/sqrt(2*pi)',0,1)) %真实积分值

五指山市18859527166: matlab利用随机投点求一元函数在某个区间的最小值 -
闻满野马: 利用matlab求一元函数在某一区间的最小值.工具/原料 电脑 matlab 方法/步骤 1、用“导数为零”法求极值点,具体代码及其结果如下图所示:2、采用优化算法求极小值,具体代码及其结果如下图所示:3、绘制图形观察最小值,下图是代码:4、绘制图形观察最小值,下图是绘制的函数图形:5、据图形观察,重设fminbnd的搜索区间

五指山市18859527166: matlab中如何产生N个随机数,和为定值M -
闻满野马: 实现方法:首先使用rand()函数生成N个随机数,假设此时N个随机数的和是S,那么将每个随机数变为原来的M/S倍,这样就实现N个随机数的和是定值M的效果了.关键代码如下: A = rand(1,N); S = sum(A); B = A*M/S; 下面进行实例演示和...

五指山市18859527166: matlab用普丰投针法求π值的代码 -
闻满野马: %投掷次数为n,针和直线相交的次数为m %分析知真和直线相交的概率为p=2l/pid %则有pi=2nl/md clear;clc; d=1;% 设置两条平行线之间的距离,相当于在一张纸上画很多间距为d的平行线 l=0.6;% 投针的长度(ln=10000000;% n为投掷次数 ...

五指山市18859527166: matlab 用newton 及random(n,m)投点求解方程组 -
闻满野马: % 用Newton流线发及Random(n,m)n% % 表示维数,m表示总点数求解非线性方程组% % (x+0.5)*(x+0.5)/2+y*y/4=1,y*(x-0.5)=0.5 function main() clc; options = optimset('TolFun', eps); [x,fval] = fsolve(@test, [0.2 0.2]', options)function q = test(p) x = p(1); y = p(2); q(1) = (x+0.5)*(x+0.5)/2+y*y/4-1; q(2) = y*(x-0.5)-0.5;

五指山市18859527166: Matlab生成定区域内指定数目随机坐标点 -
闻满野马: b=zeros(100,100);%定义一个全0矩阵%下面寻找50个随机位置,分别标号为1到50 c=randperm(10000);%将10000个数据随机打乱 idx=find(cb(idx)=c(idx);%将1到50赋值给全0矩阵%经测试最大值是50,而且随机分布,有值的地方是节点位置,1到50分别是节点标号

五指山市18859527166: MATLAB中,随机生成100个点,点间距离等于某个固定的数 -
闻满野马: 这100个点中的任意两个点间的距离等于某个固定的数:这个可能实现吗? 随便取一个点(x0,y0) 在x轴和y轴的四个方向上以大于5的步长递增就能满作要求 最简单的如果固定步长为6 x=-300:6:294; y=-300:6:294;

五指山市18859527166: matlab里面怎么用随机模型模拟一组点的坐标值?请高手相助 -
闻满野马: 先随机产生x,在随机产生y,对应点组合(x,y)作为坐标. 随机函数很多的,最常用的就是rand

五指山市18859527166: 如何在MATLAB由两点确定的直线中随机取一个点 -
闻满野马: a=[1,2];%点a的坐标为(1,2) b=[3,4];%点b的坐标为(3,4) t=rand;%生成一个介于0到1的随机数 p=t*a+(1-t)*b%你要的介于a和b之间的点

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网