计算网格点之间的距离和角度

12个视图(30天)
我已经创建了一个这种类型的网格,每个点的坐标和每一点我知道网格是一个学位在纬度和经度。因此我必须计算公里的距离和角度在学位蓝色的点(x = 14.75: y = 40.5),所有其他的橙色点。
我创建了一个函数,计算两个点之间的距离和角度,但是,我总是有进入坐标值和我想避免这一步。我想知道,是否可以计算所有这些点的距离和角度没有手动输入坐标值吗?
3评论
伊丽莎白BILLOTTA
伊丽莎白BILLOTTA 2021年9月6日
编辑:darova 2021年9月8日
这是代码:
一个=负载(“plot_mappe_jacopo.txt”);% plottare我confini一些continenti ! ! !
情节((:1),(2):,);
持有
清晰;
残雪= 14.75;% coordinata x punto舟状骨,一共有= 50(示例)
cy = 40.5;% coordinata y punto舟状骨,坐标= 25(示例)
情节(cy残雪,“波”);%你的中心点
持有
longrd = 0:1:30;% dimensione griglia
latgrd = 25:1:55;
ic = 0;% contatore
i = 1:长度(latgrd)%矩阵切"我valori合奏
j = 1:长度(latgrd)
集成电路ic + = 1;
lonlatgrd (ic, 1) = longrd(我);
lonlatgrd (ic, 2) = latgrd (j);
结束
结束
图(%)
情节(lonlatgrd (: 1) lonlatgrd (:, 2),“。”);

登录置评。

接受的答案

Alamanda Ponappa Poovaya
Alamanda Ponappa Poovaya 2021年9月7日
基于inromation提供,以下代码应该计算所有961的距离和角度坐标从残雪和cy。我已经做了一些微小的变化你的原始代码,现在应该运行得更快,我消除了for循环
残雪= 14.75;% coordinata x punto舟状骨,一共有= 50(示例)
cy = 40.5;% coordinata y punto舟状骨,坐标= 25(示例)
情节(cy残雪,“波”);%你的中心点
持有
longrd = 0:1:30;% dimensione griglia
latgrd = 25:1:55;
(X, Y) = ndgrid (longrd latgrd);
X =重塑(X。', 1, []);
Y =重塑(Y。', 1, []);
lonlatgrd (: 1) = X ';
lonlatgrd (:, 2) = Y '
图(%)
情节(lonlatgrd (: 1) lonlatgrd (:, 2),“。”);
%√(x-x1) ^ 2 + (y-y1) ^ 2)
D1 = X -残雪;
D2 = Y - cy;
D1 = D1。* D1;
D2 = D2。* D2;
距离=√D1和D2);
%角= tan (y-y1 / x-x1);
D1 = X -残雪;
D2 = Y - cy;
角= tan (D2. / D1);

更多的答案(0)

类别

找到更多的在数据分布的情节帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!