数模论坛

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

[求助]小生数学建模才入门,遇到一问题不能解,请高手提示

[复制链接]
发表于 2005-4-28 06:03:53 | 显示全部楼层 |阅读模式
<>题目如下:</P>
< >在万能拉拨机中有一个圆柱形凸轮,其底圆半径<FONT face="Times New Roman">R=300</FONT>毫米,凸轮上端不是一个平面,它要根据从动拉杆变化的需要进行设计制造。根据从动拉杆的变化规律我们可以知道,在底圆周的<FONT face="Times New Roman">36</FONT>等分点的高度值可以测量如下表。为了数控加工,需要知道圆周上任意一点处的高度值。试给出能计算任意点高度值的数学模型。</P>
< > </P>
<P >表<FONT face="Times New Roman">1</FONT>:圆柱形凸轮中底圆<FONT face="Times New Roman">36</FONT>等分点的圆柱高度值</P>
<P ><p></p> </P>

<TABLE borderColor=#cccccc cellSpacing=2 cellPadding=3 width="100%" bgColor=#ffffff border=1>

<TR>
<TD>
<P align=left> 502.75   520.96  525.00  523.60  514.30  492.00  451.00  394.60  326.50</P>
<P align=left> 256.70   188.60  132.10  92.20     68.90    59.60    58.20    62.24     80.45</P>
<P align=left> 102.68   124.90   147.13  169.36  191.58  213.81  236.03  258.26  280.49</P>
<P align=left> 302.71   324.92   347.17   369.39  391.62  413.84  436.07  458.30  458.52</P></TD></TR></TABLE>
 楼主| 发表于 2005-4-28 06:28:03 | 显示全部楼层
<>请高手给与指点一二,以解我的困惑,谢了先</P>
 楼主| 发表于 2005-4-29 05:17:44 | 显示全部楼层
<>怎么都没有人来呀</P><>给点提示就可以了</P><>哎。。。。。。</P>
发表于 2005-4-29 06:51:44 | 显示全部楼层
<>        这是一个数值逼近问题,即知道函数在某些点上的值,构造一个新的函数,来近似原来的函数,从而估计原来的函数在其它点的值。解决数值逼近问题的方法有两种,一种是插值法,另一种是采用最小二乘法进行曲线拟合。</P>
<>      考虑到这个题目的特点,可以采用分段三次保型厄米特插值或样条插值(不能采用拉格郎日插值)或采用最小二乘法进行曲线拟合。</P>
<>     解决这样的问题,需要把离散的数据点画出来,然后把得到的近似函数画出来,两者需要进行比较,观察近似函数是否能够比较好的逼近原来的函数,如果不行,就需要调整近似函数的形式。</P>
<P>   如果读入的数据点是如下的4行9列向量</P>
<P>    502.75   520.96  525.00  523.60  514.30  492.00  451.00  394.60  326.50</P>
<P>    256.70   188.60  132.10  92.20     68.90    59.60    58.20    62.24     80.45</P>
<P>   102.68   124.90   147.13  169.36  191.58  213.81  236.03  258.26  280.49</P>
<P>    302.71   324.92   347.17   369.39  391.62  413.84  436.07  458.30  458.52
</P>
<P>    采用最小二乘法进行曲线拟合的matlab程序是:</P>
<P>    clear
    hold off
    load d:\z.txt;
    z=reshape(z',1,36);
    angel=0:10:350;
   angel=angel/180*pi;
   z=(z-mean(z))/std(z);
   angel=(angel-mean(angel))/std(angel);
   plot(angel,z,'*');
   c=polyfit(angel,z,10);
   hold on
   a=0:0.01:2*pi;
   plot((a-mean(a))/std(a),polyval(c,(a-mean(a))/std(a)))
   c</P>
<P>   原始数据在拟合前进行了标准化处理,拟合得到一个10次多项式,多项式系数从高到低依次是:</P>
<P>  -0.11815598241779   0.00984956304115   0.93176151096613  
  -0.29913034382793  -2.62187845864453   1.61852625716992
   2.63217668555088  -2.93212331466356   0.85370067746710   
   1.39460958736858  -1.24103188370205</P>
<P>   这是经过数据标准化后得到的多项式,因此用这个多项式预测函数值(圆周上任意一点处的高度值)时,需要先把自变量(角度)标准化,得到近似函数值后,将近似函数值逆标准化,才能得到真正的函数值(圆周上任意一点处的高度值)。</P>
<P>    </P>
<P>     </P>
 楼主| 发表于 2005-4-29 18:29:56 | 显示全部楼层
<>谢谢楼上的</P><>我才入门,对你说的上面用到的知识还不是完全的了解</P><>我要好好的去悟才行</P><P>谢谢楼上的</P>
发表于 2005-6-13 17:52:26 | 显示全部楼层
这是一个数值逼近问题,即知道函数在某些点上的值,构造一个新的函数,来近似原来的函数,从而估计原来的函数在其它点的值。解决数值逼近问题的方法有两种,一种是插值法,另一种是采用最小二乘法进行曲线拟合。
<>      考虑到这个题目的特点,可以采用分段三次保型厄米特插值或样条插值(不能采用拉格郎日插值)或采用最小二乘法进行曲线拟合。</P>
<>     解决这样的问题,需要把离散的数据点画出来,然后把得到的近似函数画出来,两者需要进行比较,观察近似函数是否能够比较好的逼近原来的函数,如果不行,就需要调整近似函数的形式。</P>
<>   如果读入的数据点是如下的4行9列向量</P>
<P>    502.75   520.96  525.00  523.60  514.30  492.00  451.00  394.60  326.50</P>
<P>    256.70   188.60  132.10  92.20     68.90    59.60    58.20    62.24     80.45</P>
<P>   102.68   124.90   147.13  169.36  191.58  213.81  236.03  258.26  280.49</P>
<P>    302.71   324.92   347.17   369.39  391.62  413.84  436.07  458.30  458.52<BR></P>
<P>    采用最小二乘法进行曲线拟合的matlab程序是:</P>
<P>    clear<BR>    hold off<BR>    load d:\z.txt;<BR>    z=reshape(z',1,36);<BR>    angel=0:10:350;<BR>   angel=angel/180*pi;<BR>   z=(z-mean(z))/std(z);<BR>   angel=(angel-mean(angel))/std(angel);<BR>   plot(angel,z,'*');<BR>   c=polyfit(angel,z,10);<BR>   hold on<BR>   a=0:0.01:2*pi;<BR>   plot((a-mean(a))/std(a),polyval(c,(a-mean(a))/std(a)))<BR>   c</P>
<P>   原始数据在拟合前进行了标准化处理,拟合得到一个10次多项式,多项式系数从高到低依次是:</P>
<P>  -0.11815598241779   0.00984956304115   0.93176151096613  <BR>  -0.29913034382793  -2.62187845864453   1.61852625716992<BR>   2.63217668555088  -2.93212331466356   0.85370067746710   <BR>   1.39460958736858  -1.24103188370205</P>
<P>   这是经过数据标准化后得到的多项式,因此用这个多项式预测函数值(圆周上任意一点处的高度值)时,需要先把自变量(角度)标准化,得到近似函数值后,将近似函数值逆标准化,才能得到真正的函数值(圆周上任意一点处的高度值)。</P>
<P>     </P>
<P>     楼上的,为什么要标准化,你的标准化函数是什么?</P>
您需要登录后才可以回帖 登录 | 注-册-帐-号

本版积分规则

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

GMT+8, 2024-11-27 09:56 , Processed in 0.049498 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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