数模论坛

 找回密码
 注-册-帐-号
搜索
热搜: 活动 交友 discuz
查看: 5703|回复: 13

[求助]请问怎么拟和一个圆

[复制链接]
发表于 2004-6-13 23:36:30 | 显示全部楼层 |阅读模式
<>各位大师:</P>
<>      小弟有一题目解不出来(我只是一个初学者,情有可愿!~Q~),,,,想请各位帮我解一下,,谢谢啦,,,,,最好是在6月15日之后解出来,,,,,因为这是一道高校选拔赛试题的一个小点,,,,6.14是交卷的日子,,,,,,我想在交卷之后才知道答案,,,,,,谢谢!!!!</P>
<><IMG src="http://www.shumo.org/bbs/Skins/Default/emot/em10.gif" align=middle border=0><IMG src="http://www.shumo.org/bbs/Skins/Default/emot/em10.gif" align=middle border=0><IMG src="http://www.shumo.org/bbs/Skins/Default/emot/em10.gif" align=middle border=0></P>
<P>已知圆的36个点,,,请拟合并画出该圆及计算出它的半径:</P>
<P>圆A</P>
<P>X=[27.3560   26.2780   22.3160   17.0170   12.2370    8.6070    7.3770    8.8730   12.3880   17.1900   22.4750   26.1630   27.2050   25.3180   21.0770   15.6420   11.0600    8.1180    7.6040    9.6640   13.9490   19.0950   23.7710   26.7940   26.7320   24.1110   18.7400   14.2530    9.9720    7.5270    8.0790   11.1590   15.4390   21.1120   24.8130   27.1490]</P>
<P>Y=[6.4400   10.8310   14.6680   16.0190   14.6230   10.9450    6.2650    0.7850   -2.5280   -3.8300   -2.4160    1.4120    7.6500   12.3050   15.2830   15.8520   13.8750    9.8260    4.0160   -0.1440   -3.2910   -3.7260   -1.5450    3.0270    9.3170   13.5850   15.8850   15.6640   12.7460    8.1820    2.7120   -1.8510   -3.8100   -3.1860   -0.3840    4.0110]</P>
<P>圆B:</P>
<P>X=[   13.8730   12.6050    8.5370    3.9930   -1.1530   -4.9720   -6.1920   -4.8350   -1.4300    4.1650    8.7760   12.2430   13.6510   11.6710    7.0970    1.9240   -2.8570   -5.3870   -6.0450   -3.9850    0.5330    5.5700   10.0280   13.1470  13.1640   10.3040    5.9030    0.1030   -3.8560   -6.1380   -5.6710   -2.8100    2.4340    6.9360   11.3820   13.5170]</P>
<P>Y=[  -37.3570  -32.3110  -28.3060  -27.1430  -28.5720  -32.5080  -36.8320  -42.1780  -45.5810  -47.1000  -45.7690  -42.4460  -35.0920  -31.0460  -27.6600  -27.4360  -29.7680  -33.4630  -39.2780  -43.2780  -46.7220  -47.1150  -45.1300  -40.7630  -33.4060  -29.4520  -27.3750  -27.9860  -30.7420  -35.6050  -40.2650  -44.5430  -47.0330  -46.7780  -43.7570  -39.2430]</P><IMG src="http://www.shumo.org/bbs/Skins/Default/emot/em31.gif" align=middle border=0><IMG src="http://www.shumo.org/bbs/Skins/Default/emot/em31.gif" align=middle border=0><IMG src="http://www.shumo.org/bbs/Skins/Default/emot/em31.gif" align=middle border=0><IMG src="http://www.shumo.org/bbs/Skins/Default/emot/em31.gif" align=middle border=0><IMG src="http://www.shumo.org/bbs/Skins/Default/emot/em31.gif" align=middle border=0><IMG src="http://www.shumo.org/bbs/Skins/Default/emot/em31.gif" align=middle border=0><IMG src="http://www.shumo.org/bbs/Skins/Default/emot/em31.gif" align=middle border=0><IMG src="http://www.shumo.org/bbs/Skins/Default/emot/em31.gif" align=middle border=0>
发表于 2004-6-23 23:19:47 | 显示全部楼层
X=[   13.8730   12.6050    8.5370    3.9930   -1.1530   -4.9720   -6.1920   -4.8350   -1.4300    4.1650    8.7760   12.2430   13.6510   11.6710    7.0970    1.9240   -2.8570   -5.3870   -6.0450   -3.9850    0.5330    5.5700   10.0280   13.1470  13.1640   10.3040    5.9030    0.1030   -3.8560   -6.1380   -5.6710   -2.8100    2.4340    6.9360   11.3820   13.5170]';
Y=[  -37.3570  -32.3110  -28.3060  -27.1430  -28.5720  -32.5080  -36.8320  -42.1780  -45.5810  -47.1000  -45.7690  -42.4460  -35.0920  -31.0460  -27.6600  -27.4360  -29.7680  -33.4630  -39.2780  -43.2780  -46.7220  -47.1150  -45.1300  -40.7630  -33.4060  -29.4520  -27.3750  -27.9860  -30.7420  -35.6050  -40.2650  -44.5430  -47.0330  -46.7780  -43.7570  -39.2430]';
xx=X.*X;
yy=Y.*Y;
xxyy=-xx-yy
B=[X Y ones(36,1)]
a=B\xxyy
xc = -.5*a(1)
yc = -.5*a(2)
R  =  sqrt((a(1)^2+a(2)^2)/4-a(3))
这样做也等得出一样的结果
发表于 2004-6-14 07:47:57 | 显示全部楼层
可以拟合,很容易的
 楼主| 发表于 2004-6-14 13:18:19 | 显示全部楼层
<>今天早上8--9点钟交卷了,,,,,,嗯,,,,,,请问怎么样拟合呀,,,,,我老是得到复数,,,,,,唉,,,,,晕倒啦!!!</P><>我是用 lsqcurvefit  这个函数来拟合的,,,即使我只拟合上半圆,,,,可是得到的圆心坐标,,,,还有半径都是复数的,,,,请问这怎么拟合呀,,,,,还有,,,怎么得到一下复数的实部的值???</P><>谢谢</P>[em07][em07]
 楼主| 发表于 2004-6-14 13:28:59 | 显示全部楼层
请告诉我吧,,,,,,唉,,,,,,,虽然我交卷很想睡,,,,,,但是没有做好也睡不着呀,,,,,,快点告诉我吧,,,,,让我今天下午能一直睡到明天天大亮,,,,,,,,谢谢谢谢啦,,,,,,不然我总是睡一会醒一会,,,,不爽呀,,,,,已经有4天没有睡好觉啦,,,,,让我睡得香一点吧,,,!!!谢谢啦,,,,
发表于 2004-6-14 17:41:37 | 显示全部楼层
<>我在数模竞赛区发现你发的另外一个重复贴子,回复如下:</P><>你究竟在哪方面遇到了困难?</P><>是不懂得怎样画图还是不懂得怎样利用这些数字来求得半径?</P><P>这个圆可以通过matlab画出来,很简单的.你可以自己先试一下,一步步解决.</P><P>另,以后发贴注意一下贴子题目.只写一个求助大家是不会知道里面有什么东西的.</P><P>ps,重复贴我给删除了.</P>
 楼主| 发表于 2004-6-14 17:52:21 | 显示全部楼层
<>主要是不懂得求半径呀,,,,论文我已经交上去啦,,,,,麻烦你们给我解一解,,,,,我中午想睡个好觉啊!!!!</P>[em06][em06]
发表于 2004-6-15 06:56:35 | 显示全部楼层
<>function [xc,yc,R,a] = circfit(x,y) </P>
<>%CIRCFIT  Fits a circle in x,y plane </P>
<>% </P>
<P>% [XC, YC, R, A] = CIRCFIT(X,Y) </P>
<P>% Result is center point (yc,xc) and radius R.A is an </P>
<P>% optional output describing the circle's equation: </P>
<P>% </P>
<P>%   x^2+y^2+a(1)*x+a(2)*y+a(3)=0 </P>
<P>% by Bucher izhak 25/oct/1991 </P>

<P>n=length(x);  xx=x.*x; yy=y.*y; xy=x.*y; </P>
<P>A=[sum(x) sum(y) n;sum(xy) sum(yy)... </P>
<P>sum(y);sum(xx) sum(xy) sum(x)]; </P>
<P>B=[-sum(xx+yy) ; -sum(xx.*y+yy.*y) ; -sum(xx.*x+xy.*y)]; </P>
<P>a=A\B; </P>
<P>xc = -.5*a(1); </P>
<P>yc = -.5*a(2); </P>
<P>R  =  sqrt((a(1)^2+a(2)^2)/4-a(3)); </P>

<P><b><FONT color=#000066>zhzhiwei,</FONT></b>下次注意了,尽量不要一贴多发.</P>
<P>当天我不就已经回复,并且现在在本版内不是已经得到解决了么?</P>
<P>尤其是发到管理区去,很令人反感的!</P>
发表于 2004-6-23 23:23:00 | 显示全部楼层
<>不能算自己做出来的,仅是由<FONT color=#f73809>itmwk</FONT><FONT color=#000000>大哥给出的算法演变来的</FONT></P>
发表于 2004-6-25 20:13:55 | 显示全部楼层
嘻,大家搞懂了是第一位的!:)
您需要登录后才可以回帖 登录 | 注-册-帐-号

本版积分规则

小黑屋|手机版|Archiver|数学建模网 ( 湘ICP备11011602号 )

GMT+8, 2024-11-27 12:33 , Processed in 0.070688 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表