机械设计编程基础Word格式.docx
《机械设计编程基础Word格式.docx》由会员分享,可在线阅读,更多相关《机械设计编程基础Word格式.docx(16页珍藏版)》请在冰豆网上搜索。
■数表:
表格中的数据之间没有任何联系;
列表函数:
表格中的数据之间存在着某种联系
(元)数表程序化
intI;
floatGAMA[]={7.87,7.85,8.30,7.75};
printf(
“工业纯铁\n”);
“钢材\n”);
printf(
2.“高速钢\n”);
3.“不锈钢\n”);
选择材料类型:
”);
seanf(
“%d”,&
I);
材料
密度/(g.ocm-3)
工业纯铁
7。
87
钢材
7o85
高速钢
8o30
不锈钢
7o75
二、设计图表处理的基本方法
1.表格(手册中的)分为两类:
2.表格处理的基本方法:
(1)表格的程序化:
将数表中的数据以数组形式存储和检索,直接编在解题的程序中。
(2)表格的公式化:
对于列表函数,可用曲线拟合的方法形成数学表达式并直接编于程序中。
2-2设计数表的处理
一、表格的程序化
1.数表
一维(元)数表:
所查取的数据只与一个变量有关的数表;
二维(元)数表:
所查取的数据与两个变量有关的数表;
它们均可用一维和二维数组的形式存入计算机,以备程序使用
一维
示例1:
表2材料的密度
printf(材料的密度:
%f\n”,GAMA[I-1]);
示例2:
表2轴的常用材料及其机械性能
序号
材料牌号
热处
理
毛坏直径
硬度
拉伸强度极限
◎b
拉伸屈服极限
◎s
弯曲疲
劳极限
剪切疲劳极限
mm
HB
MPa
SGMB[I]
SGMS[I]
SGM[I]
TAU[I]
正火
25
<
241
610
360
260
150
1
45
100
170-217
600
300
275
140
回火
:
100-300
162-217
580
290
270
135
调质
200
217-255
650
155
1000
800
500
280
40Cr
241-286
750
550
350
A100-300
700
340
185
40CrNi
300-320
485
270-300
900
470
渗碳
15
表面
56-62HRC
850
375
215
20Cr
淬火
30
400
160
11
60
上表为4种材料,12种热处理规格,而每一种规格包含4种机械性能指标:
二b,二。
若给每一种机械性能确定一个标识符,则该表可由以下4个
一维数组表示:
二BSGMAbUI=0,1,2,,11
;
「sSGMASI]I=0,1,2/,11
二4SGMUI=0,1,2,,11
TAUI1I=0,1,2,,11
二维(元)数表程序化
示例1:
表3齿轮传动的工作情况系数Ka
原动机工作情况1
工作机工作情况J
平稳载何J=1
中等冲击J=2
严重冲击J=3
工作平稳1=1
1.25
1.75
轻度冲击I=2
1.25
1.5
2
中等冲击I=3
2.25
由表可见,原动机工况和工作机工况都有多个“去向”。
用条件语句编制程序就会显得冗长,故可采用3X3的数组WK[3][3]。
有关程序如下:
Intl,J
FloatWK[][3]={1,1.25,1.75,1.25,1.5,2,1.5,1.75,2.25};
Printf(
原动机工作情况:
\n”);
a
1.工作平稳\n”
);
2.轻度冲击\n”
3.中度冲击\n”
请选择序号:
\n);
Seanf(
“%d
”,&
I);
工作机工作情况:
1.平稳载荷\n”
);
2.中等冲击\n”
3.严重冲击\n”
”J&
工况系数:
%f\n”
WK[I-1][j-1]);
2.列表函数
使用这类列表函数时,需要用插值的方法来检索数据。
列表函数如下:
表4蜗杆传动的相对滑动速度Vs与当量摩擦系数%之间的关系
Vs
m/s
0.01
0.05
0.10
0.25
0.50
1.0
A
V
0.110
0.090
0.080
0.065
0.055
0.045
0.040
2.0
2.5
3.0
4.0
5.0
8.0
10.0
0.035
0.030
0.028
0.024
0.022
0.018
0.016
线性插值公式:
厂%Lbxn
分段线性插值的算法框图
检索表4当量摩擦系数的程序段:
Intn=14
floatx_vs[]={0.01,0.05,0.10,
0.25,0.50,1.0,1.5,2.0,2.5,3.0,4.0
5.0,8.0,10.0};
floatY_Mv[]={0.110,0.090,0.080,0.065,0.055,0.045,0.040,0.035,0.030,0.028,0.024,0.022,0.018,0.016};
floatv_s,M_v;
floatlineinsert(float*sx,float*sy,intn,floatinp);
v_s=1.24;
m_V=lineinsert(x_VS,Y_Mv,
n,v_s);
有关线性分段插值的程序为
floatlineinsert(float*sx,float*sy,intn,floatinp);
{
inti;
floatoutp;
for(I=1;
i<
n-1;
i++)if(inp<
sx[i]break;
outp=sy[i]+(sy[i]-sy[i-1])*(inp-sx[i])/(sx[i]-sy[I-1]);
return(outp);
、表格的公式化
表6列表函数
为建立该数表的函数关系多项式,工程
X中通常采用数据的曲线拟合方法:
最小二乘
法。
丫y「y2,…,yn,
最小二乘法基本原理:
XiX,
Xn
(x「yj(i=1,2,…,m)可构造一个
对于给定的一组结点,数据的多项式:
n(n<
m)次
厂/)
akPk(X)
(1)
使结点处的偏差平方和
八mg」)2
i=0nii
n2
'
akPk(Xi)yi
(2)
最小,这里的Pk(x)是k的多项式.
Sn(X)中
由于xi,yi是已知的一组数据,因此
(2)式的T可看作是多项式的待定系数ak(k-1,2/,n)的函数。
可表示为
T二T(a°
ai,舄)
求出上式中T为极小时的:
■
0宀,厂n值带入式
(2)中,所得多项式Sn(x)
就是与原函数(曲线)各结点处偏差平方总的极小时的拟合多项式。
因此,这类曲线拟合问题最终是一个多元函数求极值的问题。
要使
__2
T=T(0,1厂n)八、kPk(xJ-f(Xi)
7Ikz0」
为极小,而:
-0,:
1,厂n必须满足
T
0s=0,1/,n
二s
即
cot
s
匸JkPk(Xi)-f(xjPs(Xi)
i=0_k=0
=2、:
QPk(Xi)Ps(Xi)-2、f(Xi)Ps(Xi)二0
k=0i=0i二0
m
若定义离散性函数内积(f,p)="
f(Xi)p(Xi),则可得方程组
i=0
Pk,PskHf,Ps)S二0,1,,n
若写成矩阵形式
(P°
P°
)
(P0,R)(P0,Pn)l
g1
10
II
:
(f,P0)1
(Pi,P0)
(P1,R)(P1,Pn)|
:
1a1|;
=|(f,R)|
!
(Pn,P。
(Pn,R)(Pn,Pn).
b」
l(f,PnL
如果Pk(X)是关于点集{x」(i0,1,…,m)的正父多项式,那末,
由正交多
项式的正交性,即当
t^q时(Pi,Pq)=0。
贝y上述矩阵形式可简化为
P。
「a〕
](f,P。
)1
(P1,PJ
1a
1;
=(f,R)
(Pn,Pn).
[a
Ln-
4f,Pn)_
这样一来,多项式Sn(X)的待定系数:
•k可由下式求得
k二0,1,,n
(f,PJ=2ikJ
(Pk,Pk)m[Pk(Xi)]2
i卫
关于点集(i二0,1,…,m)的正交多项式Pk(x)可由下式构造:
Po(x)=1Pl(x)=(xbo)Po(x)
Pk1(x)=(x-bk)Pk(x)-CkPk」(x)k=1,2,,n
式中,
(Pk,xPk)
(Pk,Pk)
(PkJ,PkJ)
k=0,1,2,,n-1
k=1,2,,n1
xP°
(P。
巳)