数模论坛

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

[求助]圆的拟合及半径计算问题

[复制链接]
发表于 2004-6-13 23:25:55 | 显示全部楼层 |阅读模式
<>各位大师:</P>
<>      小弟有一题目解不出来(我只是一个初学者,情有可愿!~Q~),,,,想请各位帮我解一下,,谢谢啦,,,,,最好是在6月15日之后解出来,,,,,因为这是一道高校选拔赛试题的一个小点,,,,6.14是交卷的日子,,,,,,我想在交卷之后才知道答案,,,,,,谢谢!!!!</P>
<><IMG align=middle border=0 src="http://www.shumo.org/bbs/Skins/Default/emot/em10.gif"><IMG align=middle border=0 src="http://www.shumo.org/bbs/Skins/Default/emot/em10.gif"><IMG align=middle border=0 src="http://www.shumo.org/bbs/Skins/Default/emot/em10.gif"></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 align=middle border=0 src="http://www.shumo.org/bbs/Skins/Default/emot/em31.gif"><IMG align=middle border=0 src="http://www.shumo.org/bbs/Skins/Default/emot/em31.gif"><IMG align=middle border=0 src="http://www.shumo.org/bbs/Skins/Default/emot/em31.gif"><IMG align=middle border=0 src="http://www.shumo.org/bbs/Skins/Default/emot/em31.gif"><IMG align=middle border=0 src="http://www.shumo.org/bbs/Skins/Default/emot/em31.gif"><IMG align=middle border=0 src="http://www.shumo.org/bbs/Skins/Default/emot/em31.gif"><IMG align=middle border=0 src="http://www.shumo.org/bbs/Skins/Default/emot/em31.gif"><IMG align=middle border=0 src="http://www.shumo.org/bbs/Skins/Default/emot/em31.gif">
[此贴子已经被宇游游于2004-6-14 9:38:11编辑过]

发表于 2004-6-14 17:37:36 | 显示全部楼层
<>你究竟在哪方面遇到了困难?</P>
<>是不懂得怎样画图还是不懂得怎样利用这些数字来求得半径?</P>
<>这个圆可以通过matlab画出来,很简单的.你可以自己先试一下,一步步解决.</P>
<P>另,以后发贴注意一下贴子题目.只写一个求助大家是不会知道里面有什么东西的.</P>
发表于 2004-7-11 06:56:42 | 显示全部楼层
<>function f=curvefun(x)
xdata=[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];
ydata=[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];
f=(xdata-x(1)).^2+(ydata-x(2)).^2-x(3);</P><>function f=curvefun(x)
xdata=[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];
ydata=[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];
f=(xdata-x(1)).^2+(ydata-x(2)).^2-x(3);</P>
发表于 2004-7-12 07:32:15 | 显示全部楼层
clear all
xdata=[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];
ydata=[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];
x0=[20,6,100];   %根据图形大致估测圆心坐标和半径
x=leastsq('curvefun',x0);
plot(xdata,ydata,'+r');
hold on;
ezplot('(x-17.3593)^2+(y-6.0932)^2-99.5231',[-5,30])
您需要登录后才可以回帖 登录 | 注-册-帐-号

本版积分规则

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

GMT+8, 2024-11-28 09:31 , Processed in 0.053838 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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