怎么用matlab计算许多知道经纬度的点之间的最短路径

作者&投稿:笃巩 (若有异议请与网页底部的电邮联系)
请问知道几十个点的坐标,怎么用matlab找出这些点的最短路径?~

没有分,没有动力啊 亲

d1=A-repmat(B(:,1),[1 4]); %A到B1的向量
d1=sqrt(sum(d1.^2,1)); %计算距离
d2=A-repmat(B(:,2),[1 4]); %A到B2的向量
d2=sqrt(sum(d1.^2,1)); %计算距离
d3=A-repmat(B(:,3),[1 4]); %A到B2的向量
d3=sqrt(sum(d3.^2,1)); %计算距离

你做一个M函数用吧。
function [d,path]=dijkstra(W,s,t)
[n,m]=size(W);ix=(W==0);W(ix)=inf;
if n~=m,error('Square W required');end
visited(1:n)=0; dist(1:n)=inf;parent(1:n)=0;dist(s)=0;d=inf;
for i=1:(n-1),%求出每个节点与起始点的关系
ix=(visited==0);vec(1:n)=inf;vec(ix)=dist(ix);
[a,u]=min(vec);visited(u)=1;
for v=1:n,if (W(u,v)+dist(u)<dist(v)),
dist(v)=dist(u)+W(u,v);parent(v)=u;
end;end;end
if parent(t)~=0,path=t;d=dist(t);%回溯最短路径
while t~=s,p=parent(t);path=[p path];t=p;end;
end;


怎么用matlab来估计广义极值分布的参数吗
尺度参数),泊松分布就是单参数λ(均值或方差)。第二种方法:用各自分布对应的函数,如下:datan2=normrnd(3.5,sqrt(5.8))datag2=gamrnd(0.3,4.0)datap2=poissrnd(4.2)参数依次是该分布按习惯顺序的对应参数,用法同上,可以认为是random函数结合不同分布的字符串退化为各自分布的独立函数。

matlab怎么使用?
MATLAB基本的使用方法 1. 读取图像:用imread函数读取图像文件,文件格式可以是TIFF、JPEG、GIF、BMP、PNG等。比如 2. >> f = imread('chestxray.jpg');读进来的图像数据被保存在变量f中。尾部的分号用来抑制输出。如果图片是彩色的,可以用rgb2gray转换成灰度图:>> f = rgb2gray(f);然后可...

怎么用matlab算广义积分?
用matlab算广义积分方法:符号积分 int(f,v)int(f,v,a,b)数值积分 trapz(x,y)%梯形法沿列方向求函数Y关于自变量X的积分 cumtrapz(x,y)%梯形法沿列方向求函数Y关于自变量X的累计积分 quad(fun,a,b,tol)%采用递推自适应Simpson法计算积分 quad1(fun,a,b,tol)%采用递推自适应Lobatto法求...

怎么利用matlab实现单输入单输出的预测
利用matlab实现单输入单输出的预测步骤如下:1、需要准备好siso预测所需的历史数据,包括输入和输出序列。可以将数据保存为matlab数据文件或者导入到matlab工作空间中。2、将数据分割成训练集和测试集。通常要将一部分数据用于模型的训练和参数优化,而另一部分则用于验证模型的泛化能力。可以使用matlab中的“...

怎样用matlab测量给定图片中的距离?
有2种方法可以解决,供参考:1, 若已知道这两点的坐标,那么可以利用距离公式马上可以得到两点的距离;2, 若不知道两点的坐标,而又想在图像上估计两点间的距离的话,那么可以 figure,imshow(f) % 若f为某图像 d=imdistline % 此时可以在图像上对任意两点进行距离估计 ...

matlab用tic toc计时时怎样得到所计时间
当你需要计算一组Matlab操作的运行时间时,可以使用tic和toc函数。tic函数启动一个秒表,表示计时开始;toc则停止这个秒表,表示计时结束,并计算出所经历的时间(单位为秒)。比如,下面的代码连续两次计算plot(rand(50,5))这条指令的执行时间:>> tic;plot(rand(50,5));toc Elapsed time is 0....

如何用matlab进行数据拟合,在进行数据的估计?
clear clf x=1810:10:1900;y=[74.875 92.552 107.231 120.153 130.879 152.427 180.383 202.352 227.485 250.597];plot(x,y,'s','markersize',3)grid on 画图并观察离散数据的特性 p=polyfit(x,y,1);用1次多项式进行拟合 f = polyval(p,x);hold on plot(x,f,'r');xlabel(...

matlab编程,求教如何编程,急求?
用matlab求解常微分方程边值问题,可以使用 bvp4c函数、deval函数与bvpinit函数配合解答。具体使用方法如下:solinit = bvpinit(xinit,uinit)sol = bvp4c(@shootfun,@bcfun,solinit)u= deval(sol,x)其中:xinit——x的初始条件,uinit——u的初值;shootfun——自定义常微分方程函数,bcfun——自...

用matlab怎么求正态分布概率?
用matlab求正态分布概率的函数是normpdf,使用格式为 Y = normpdf(X,mu,sigma)mu——均值μ sigma——标准偏差σ 使用MatLab画出正态分布的概率密度函数 x=[-10:0.01];y=normpdf(x,0,1);%正态分布函数 figure;axes1=axes('Pos',[0.1 0.1 0.85 0.85]);plot(x,y);set(axes1,'...

如何用matlab 求解高阶方程?
如何用matlab 求解高阶方程? 用roots(p)函数求解 其中p是方程的各次方的系数组成的矩阵 比如 你这道题的求根程序为: roots(p)matlab运行后的结果为:ans =10.3180 4.0487 1.8166 + 1.3141i 1.8166 - 1.3141i 如何用MATLAB求解LOGISTIC方程 至于Lyapunov方程的求解,你可以查下,下面我编写的一个帖子,里面详细说明了...

友谊县18469793311: 已知三十个地区的经纬度,用matlab怎么编程三十个地区两两之间的距离? -
贰屈康裕: 直接用MATLAB地图工具箱(Mapping Toolbox)的distance函数就可以了,例如(为方便举例,这里只设置了4个点,30个点同样处理):已知各点的经纬度(依次为京沪津渝四地) pts = [ ...116.46 39.92;121.48 31.22;117.20 39.13;106.54 29....

友谊县18469793311: 我现在有几百个点的经纬度坐标,如何用matlab将其两两之间的距离得出来?或者有别的软件吗? -
贰屈康裕: matlab中有个distance函数. 用法是 dist = distance(lat1,lon1,lat2,lon2); 输入参数:lat1,lon1为一个点的纬度和经度,单位为度lat2,lon2为另一个点的纬度和经度,单位为度 输出参数:dist为这两点的弧长,单位为度 所以,要得到两点的弧长距离,可以根据弧长公式算出

友谊县18469793311: 有835个经纬度坐标,如何matlab算经纬距离,或者用Excel编程算出? -
贰屈康裕: 先投影转换成直角坐标,然后再计算距离

友谊县18469793311: 急!!求matlab大神如何输入经纬度范围求出范围内的所有国家 -
贰屈康裕: 使用rand命令即可.命令如下:1x = 20*rand(33,2);下面这个命令是画出来散点图:1plot(x(:,1),x(:,2),'.');如果想要知道rand的具体用法,使用下面的命令:1doc rand

友谊县18469793311: 请问如果我有经纬度的很多数据,那么怎么能在地图上用MATLAB标注出来?谢谢! -
贰屈康裕: 提供个思路:楼主手中那么多经纬度坐标点,想必不可能一个一个手工操作,应该是批量操作的.如果是这样,那就找一个标准格式的GPX文件(GPS轨迹文件),用WORD或写字板打开,将……之间的数据全部清除,然后把你的数据一次性拷贝到里面去.尔后用批量搜索替换的法,将每个坐标点都处理成标准格式的轨迹点和路点,存储备用.在谷歌地球或者奥维互动地图中,打开该GPX文件,所有的点就会显示出来了.归纳一下上面的思路,就是将所有的坐标点转换成GPS轨迹文件中的轨迹点,在此基础上处理成可见路点,然后在地图上显示出来.

友谊县18469793311: matlab如何画经纬图? -
贰屈康裕: 球星的经纬线还是二维的经纬线,Matlab没有提供直接的函数我们只能一条一条的画图,二维的很好画就是一些横竖的直线如果是球星的,先建立球坐标数据,然后使用sph2cart函数将数据转化到直角坐标,接着使用mesh画图就是了 哈哈

友谊县18469793311: 怎样在matlab中导入经纬度 -
贰屈康裕: 一种方法,命令窗口输入,然后鼠标定位点击标注: gtext(80N),gtext(180W),另一种方法,对坐标轴设置,这个要参考实际的x,y轴设定.参考代码: x = 1:100; y = sin(x); plot(x,y);Xtick_pos =(1:100/9:100); %确定label显示的位置 Xtick_label ...

友谊县18469793311: 输入地理经纬度,怎样用matlab计算地磁经纬度? -
贰屈康裕: function [Bm,Lm]=geo2mag(Bg,Lg)% 将大地经纬度转化为地磁经纬度% 磁极点取:经度72.2°W,纬度80.0°N(IGRF,2011)% 输入及输出值为弧度制单位(rad)% by chensd HHU 2016.01.02% 磁极点经纬度b=80.0*pi/180;l=-72.2*pi/180;% 以下...

友谊县18469793311: 如何用matlab显示经纬度,地图边界 -
贰屈康裕: 我不知道有没有函数来做这个,我自己编了了一个小函数.不过一次只能标注一个坐标,并且要在标注的点上连续点两次.这是我的函数: function cpositon [x,y]=ginput(1); z=strcat(\\'(\\',num2str(x),\\',\\',num2str(y),\\')\\'); gtext(z); end 下面的那位高手改的很好

友谊县18469793311: 怎样在matlab中导入经纬度 -
贰屈康裕: x = linspace(-150, 150, 100);h=ezplot('x-(88+38*(y1-1)+5*(y1-1).^2)./(22-9*(y1-1)+(y1-1).^2)');axis([0 10 0 1.2])set(h,'Color','red')

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