%%monte_carlo_ff.m

%被积函数(二重)

function ff=monte_carlo_ff(x,y)

ff=x*y^2;%函数定义处

end

%%monte_carlo.m

%蒙特卡洛计算二重积分
function result=monte_carlo(a,b,c,d,n,m)
%先y后x积分,a是x积分下限,b是x积分上限,c是y积分下限,d是y积分上限,n,m是蒙特卡洛参数
sumxff=0;
for i=1:n
sumyff=0;
xff=a+(b-a)*rand();
for j=1:m
yff=c+(d-c)*rand();
sumyff=sumyff+monte_carlo_ff(xff,yff);
end
aversumyff=sumyff/m;
sumxff=sumxff+(b-a)*aversumyff;
end
result=sumxff/n;
end

%%show.m

clear all;
clc;
format long;
%二重积分的int函数法,用于校对蒙特卡洛法
syms x y;
z=x^2*y^2;
x1=1;
x2=2;
y1=3;
y2=4;
disp('int法结果')
ans_int=int(int(z,y,y1,y2),x,x1,x2)
%蒙特卡洛法计算结果
disp('monte_carlo法结果')
ans_monte_carlo=monte_carlo(1,2,3,4,10000,20000)
%二者误差
disp('误差')
error=abs(ans_monte_carlo-ans_int)

matlab下二重积分的蒙特卡洛算法的更多相关文章

  1. matlab下kmeans及pam算法对球型数据分类练习

    clear all; clc; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %数据初始化 D ...

  2. matlab下K-means Cluster 算法实现

    一.概念介绍 K-means算法是硬聚类算法,是典型的局域原型的目标函数聚类方法的代表,它是数据点到原型的某种距离作为优化的目标函数,利用函数求极值的方法得到迭代运算的调整规则.K-means算法以欧 ...

  3. [ZZ] 基于Matlab的标记分水岭分割算法

    基于Matlab的标记分水岭分割算法 http://blog.sina.com.cn/s/blog_725866260100rz7x.html 1 综述 Separating touching obj ...

  4. Metropolis 采样与蒙特卡洛算法

    Metropolis 算法又叫 Metropolis 抽样,是模拟退火算法的基础,在早期的科学计算中蒙特卡洛方法(Monte Carlo)是对大量原子在给定温度下的平衡态的随机模拟,当蒙特卡洛算法计算 ...

  5. 【转】 MATLAB下如何指定GPU资源

    [转] MATLAB下如何指定GPU资源 原文链接

  6. MATLAB实例:Munkres指派算法

    MATLAB实例:Munkres指派算法 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 1. 指派问题陈述 指派问题涉及将机器分配给任务,将工人分配给 ...

  7. Matlab下的文件执行路径

    Matlab下有时命令出错,源于Command窗口的路径不正确.快捷键的执行会受此影响.

  8. Matlab下imwrite,Uint16的深度图像

    Matlab下imwrite,Uint16的深度图像 1. 在Matlab命令窗口输入命令: help imwrite 会有如下解释: If the input array is of class u ...

  9. 痞子衡嵌入式:MCUXpresso IDE下使用J-Link下载算法在Flash调试注意事项(i.MXRT500为例)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是MCUXpresso IDE下使用J-Link下载算法在Flash调试注意事项. 痞子衡前段时间写过一篇小文<为i.MXRT设计更 ...

随机推荐

  1. 用户代理字符串识别工具源码与slf4j日志使用

    User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本.CPU 类型.浏览器及版本.浏览器渲染引擎.浏览器语言.浏览器插件等.UA也成为了, ...

  2. Linux Shell脚本逻辑操作符简介

    在写程序时,会用到条件判断,测试条件是否成立.很多时候,判断条件是多个的,这个时候需要用到逻辑操作符.shell脚本中常用的有哪些逻辑操作符呢? 1.逻辑与: -a 格式: conditon1 -a ...

  3. 萌新笔记——Cardinality Estimation算法学习(二)(Linear Counting算法、最大似然估计(MLE))

    在上篇,我了解了基数的基本概念,现在进入Linear Counting算法的学习. 理解颇浅,还请大神指点! http://blog.codinglabs.org/articles/algorithm ...

  4. 无表头单链表的总结----从a链表中删去与b链表中有相同ID的那些节点

    #include"head.h" struct Student* del_same_ID(struct Student*p1, struct Student*p2) { struc ...

  5. Redis与KV存储(RocksDB)融合之编码方式

    Redis与KV存储(RocksDB)融合之编码方式 简介 Redis 是目前 NoSQL 领域的当红炸子鸡,它象一把瑞士军刀,小巧.锋利.实用,特别适合解决一些使用传统关系数据库难以解决的问题.Re ...

  6. half extents

    blue line is hypotenuse From there you can simply linearly add Pi/4 to the angle (45 degrees), then ...

  7. Referenced file contains errors (http://www.springframework.org/schema...错误

    Referenced file contains errors (http://www.springframework.org/schema...错误 Referenced file contains ...

  8. [No0000A2]“原始印欧语”(PIE)听起来是什么样子?

    "Faux Amis"节目中经常提到"原始印欧语"(PIE)——"Proto-Indo-European". 我们说过,英语,法语中的&qu ...

  9. Ubuntu16.04下安装VS Code

    在Ubuntu下面安装Visual Studio Code sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make sudo apt-get up ...

  10. 利用sharding-jdbc分库分表

    sharding-jdbc是当当开源的一款分库分表的数据访问层框架,能对mysql很方便的分库.分表,基本不用修改原有代码,只要配置一下即可,完整的配置参考以下内容: <?xml version ...