Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2008-04-09, 14:20   #1
binghe
初级会员
 
注册日期: 2008-03-31
年龄: 44
帖子: 13
声望力: 18
binghe 正向着好的方向发展
默认 [求助]画四边形

请问知道四个点的坐标(经纬度)如何画四边形(不规则)用matlab
6.5 谢谢!
binghe 当前离线   回复时引用此帖
旧 2008-04-09, 15:02   #2
shiqiang
高级会员
 
shiqiang 的头像
 
注册日期: 2008-02-26
年龄: 38
帖子: 158
声望力: 25
shiqiang 身上有一圈迷人的光环哦shiqiang 身上有一圈迷人的光环哦shiqiang 身上有一圈迷人的光环哦
默认

用PLOT函数,plot([x],[y]),[x][y]是坐标向量,是四边形的四个点的坐标围成的,所以含有5个元素,由一个元素起始转一圈,到这个元素结束的一个向量。
__________________
学我想学,用我所学。:lovely:
shiqiang 当前离线   回复时引用此帖
旧 2008-04-09, 22:58   #3
hhwuai007
初级会员
 
注册日期: 2008-04-02
年龄: 42
帖子: 5
声望力: 0
hhwuai007 正向着好的方向发展
默认

这个问题没那么简单,仔细考虑以后,我自己编了一个绘制任意多边形的程序,分享一下。
x,y是所需的直角坐标系坐标。
function dbx(x,y)
a=min(x);b=max(x);c=min(y);d=max(y);
[X,Y]=meshgrid(linspace(a,b,100),linspace(c,d,100));k=size(X)
Z=X+Y*i;
z=x+y*i;n=length(x);P=zeros*Z;Q=P;R=P;T=P;
P=abs(Z-z(1));Q=abs(Z-z(2));R=abs(Z-z(3));T=abs(Z-z(4));S=P+Q+R+T;S=reshape(S,1,k(1)*k(2));
m=find(S==min(S));
Z=reshape(Z,1,k(1)*k(2));Zmin=Z(m);
a1=angle(z-Zmin);
b1=sort(a1);
c1=zeros(size(a1));
for j=1:n
c1(j)=find(a1==b1(j));
end
c1
for j=1n-1)
hold on,plot([x(c1(j)),x(c1(j+1))],[y(c1(j)),y(c1(j+1))]);hold on,plot([x(c1(j)),x(c1(j+1))],[y(c1(j)),y(c1(j+1))]);
if j==n-1 plot([x(c1(j+1)),x(c1(1))],[y(c1(j+1)),y(c1(1))]);hold off
end
end
hhwuai007 当前离线   回复时引用此帖
旧 2008-04-10, 09:34   #4
binghe
初级会员
 
注册日期: 2008-03-31
年龄: 44
帖子: 13
声望力: 18
binghe 正向着好的方向发展
默认

谢谢大家了
binghe 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码


相似的主题
主题 主题作者 版面 回复 最后发表
[求助]两个矩阵的协方差矩阵怎么求? ilikehere MATLAB论坛 2 2012-02-03 23:13
【求助】请问:在matlab中有画切线的函数吗? zhengxiaojiao MATLAB论坛 0 2007-07-16 22:59


所有时间均为北京时间。现在的时间是 15:43


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.