给你推荐个网站:数学中国http://www.madio.net
不过要简单注册一下,发发评论,就有积分了,这样就可以下载东西,与他人交流,挺权威的数学建模网站,希望能帮到你。
算法里面有,给你个网址http://www.madio.net/forum.php?mod=viewthread&tid=198727
这个算法我下载了,可以传给你
Ⅱ 数学建模各种算法MATLAB的编程代码
具体问题具体分析。首先,matlab只是工具;建模还得靠你自己,比如具体的数学公式。一个模型面对实际的数据可能有无数种实现方式。
Ⅲ 请教matlab中eig函数的源码或算法名
据我所知eig会分析矩阵的结构选用相应的算法。
如果是eig(A)的形式,取决于A是否是Hermite阵:
如果A是Hermite阵则选用对称QR算法(对小矩阵)和divide and conquer算法(对大矩阵);
如果A不是Hermite阵则使用非对称QR算法。
如果是eig(A,B)的形式,也取决于对称性:
如果A和B都是Hermite阵且至少有一个半正定,那么应该会利用Cholesky分解归约到普通的对称特征值问题;
如果上述结构不满足,那么会使用QZ算法。
Jacobi算法虽然精度很高,但是速度相对慢一些,所以不作为默认的算法。
Ⅳ 分步骤写下列matlab程序的算法,function d=det3(A)n=length(A);
摘要 d=det3(A)
Ⅳ 求利用matlab求从A到O的最短路径的程序代码~~~
functionR=main_Dj()
clc;clear
G=[125;141;231;246;255.8;265.7;275.6;372;3111.5;3124;...
450.5;483;561;593;670.6;6102.5;7112.7;891;8126;...
9101.5;9125;10110.5;10124;11123];
opt=0;
route=sroute(G,opt);
R=[];
r=route(3,end);
R=[r,R];
whiler~=1
r=route(3,r);
R=[r,R];
end
R=char(R+64);
R=[R,'O'];
end
functionroute=sroute(G,opt)
%求图的最短路的Dijkstra算法,规定1是起点
%G是给定图的邻接矩阵或弧表矩阵,程序能够自动识别
%当opt=0(或缺省)时求无向图的最短路,opt=1时求有向图的最短路
%d——标记最短距离
%route是一个矩阵,第一行标记顶点,第2行标记1到该点的最短距离,
%第3行标记最短路上该点的先驱顶点
if(nargin==1)opt=0;end
while1%此循环自动识别或由弧表矩阵生成邻接矩阵
ifG(1,1)==0
A=G;
n=size(A,1);
M=sum(sum(A));break
else
e=G;
n=max([e(:,1);e(:,2)]);%顶点数
m=size(e,1);%边数
M=sum(e(:,3));%代表无穷大
A=M*ones(n,n);
fork=1:m
A(e(k,1),e(k,2))=e(k,3);
ifopt==0
A(e(k,2),e(k,1))=e(k,3);%形成无向图的邻接矩阵
end
end
A=A-M*eye(n);%形成图的邻接矩阵
end
break
end
pb(1:length(A))=0;pb(1)=1;%永久标号点记为1
index1=1;%依次记录永久标号顶点
index2=ones(1,length(A));%标记最短路上各点的先驱顶点
d(1:length(A))=M;d(1)=0;%标记距离
temp=1;%标记最近一个永久标号点
whilesum(pb)<length(A)
tb=find(pb==0);%找出临时标号点
d(tb)=min(d(tb),d(temp)+A(temp,tb));%更新距离
tmpb=find(d(tb)==min(d(tb)));%确定新最小距离点
temp=tb(tmpb(1));%其中之一记为新永久标号点
pb(temp)=1;%增加新永久标号点
index1=[index1,temp];%记录新永久标号点
index=index1(find(d(index1)==d(temp)-A(index1,temp)'));%确定前驱顶点
iflength(index)>=2%前驱顶点多于1个时取第一个
index=index(1);
end
index2(temp)=index;%记录前驱顶点
end
route=[1:n;d;index2];
end
运行结果
R=
ADEFJKO
代码自己看,不解释,也别叫我解释了,很麻烦的。
Ⅵ 用Astar算法求最短路径 如何用matlab怎么仿真Astar算法,例如算法代码 一些流程操作啥的,能具体点最好 。
http://wenku..com/view/eaa14f11f18583d049645992.html这里有算法介绍,实现伪代码过程!
http://www.mathworks.com/matlabcentral/fileexchange/17648这里有其matlab代码实现,楼主参考下!
Ⅶ 求matlab程序代码
1.32X32映射到8X8的函数是什么?
2.a是怎么生成的?
3.b1到b100映射到8X8矩阵的函数是什么?
4.差值和是什么?是差值绝对值求和还是什么?
5.为什么前边说的是“差值和”,后一句话又说把差值从大到小排?到底是差值还是差值和?
6.随机数和Ci相差多少的时候算是被选择?如果要求相等才是被选择,那概率太小了,因为matlab默认的随机数可以超过1e-15精度,Ci中有一个能和取得的随机数相等的概率就十分渺茫,更别说什么次数最多了。
7.根据你的意思,C始终是一个100个元素的矩阵,他怎么才算稳定?你所谓的水平是什么?
你先把上边这些问题说清楚再来问问题吧,否则你给100000分也没人帮得了你
Ⅷ matlab如何实现蒙特卡洛算法
1、打开MATLAB软件,如图所示,输入一下指令。
Ⅸ 在MATLAB中求矩阵特征值和特征向量的代码
>>clc;clear;close;
>>A=[3,-1,-2;2,0,-2;2,-1,-1];
>>[X,B]=eig(A) %求矩阵A的特征值和特征向量,其中B的对角线元素是特征值,
%X的列是相应的特征向量
最后的结果是:
X =
0.7276 -0.5774 0.6230
0.4851 -0.5774 -0.2417
0.4851 -0.5774 0.7439
B =
1.0000 0 0
0 0.0000 0
0 0 1.0000
特征值和特征向量的求解根据项目的需求或者是矩阵的具体形式,主要可以分成如下三种形式:
1、只需要获得矩阵的最大特征值和特征值所对应的特征向量。
2、需要求取矩阵的所有特征值。
3、需要求取特征值和特征向量的矩阵为实对称矩阵,则可以通过另一种方法进行求解。
这三种形式特征值和特征向量的求取:
1.如果自己仅仅要求最大特征值的话肯定采用形式1的算法,该算法的优点是时间复杂度较低,计算量相对较小,该方法不但能够求取特征值和特征向量,而且只要特征值不全为0,该方法都能获得想要的结果。
2.如果需要获得一个矩阵的所有特征值,则通过形式2可以很好的解决该问题,但是该方法的缺点是仅仅能够获得特征值,获得特征值之后利用其它方法进行求解,这样做自然而然计算量就大了起来。
3.如果矩阵为实对称矩阵,那么可以通过形式3对其进行特征值和特征向量的求取,该方法相对于形式2的好处就是能够一次性将特征值和特征向量求取出来,缺点就是矩阵必须是实对称矩阵,至于算法复杂度方面我没有进行测试。