1、首先我们启动matlab,新建一个函数文件。
2、在d出的编辑窗口中输入如下代码。该代码的目的是创建蒙特卡洛主函数。
3、然后我们保存该函数文件。
4、再建立一个函数文件,输入代码如下。该代码的目的是构造积分函数,保存上面的积分函数文件。
5、在命令行窗口中直接调用该函数,如图所示为求得的结果。
6、绘制出积分区域即可。
randn('state', 0);是用来生成随机数的
地下是相关的一些介绍。
RAND('state',0) resets the generator to its initial state
RAND('state',J), for integer J, resets the generator to its J-th state
RAND('state',J) and RAND('state',S) cause the MATLAB 5 generator to be used
你可以看matlab里面的help文档撒。
1一种是避圈法
function A = fun(W)
[m, n] = size(W);
e = 0;
for i = 1 : n
for j = i : n
if W(i, j) ~= 0
e = e + 1;
E(e, :) = [i, j, W(i, j)];
end
end
end
% sort W's edge by weight
for i = 1 : e - 1
for j = i + 1 : e
if E(i, 3) > E(j, 3)
temp = E(j, :);
E(j, :) = E(i, :);
E(i, :) = temp;
end
end
end
A = zeros(1, 3);
S = 1 : n;
for i = 1 : e
% if find-set(u) ~= find-set(v)
if S(E(i, 1)) ~= S(E(i, 2))
% A = A + (u, v)
A = cat(1, A, E(i,:));
%union(u, v)
indicator = S(E(i, 1));
for j = 1 : n
if S(j) == indicator
S(j) = S(E(i, 2));
end
end
end
end
A(1, :) = [];
例子:W=xlsread('C:\Users\paul\Desktop\xls');
fun(W)
以上就是关于matlab如何实现蒙特卡洛算法全部的内容,包括:matlab如何实现蒙特卡洛算法、对于一个蒙特卡洛算法的matlab程序实现(见下文),哪一行是实现随机数不断生成进行模拟的呢、matlab中如何获得最小生成树每个树叶的最大权重等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)