- 18
- 0
- 约3.27千字
- 约 62页
- 2020-02-22 发布于上海
- 举报
引言 在机械产品的设计过程中,经常需要引用一系列标准、规范、计算公式及大量的数据资料,如数据列表、实验曲线等,在传统的设计过程中,设计人员通过查阅相关的设计手册来获得;在设计手册中,这些资料多以数表和线图的形式给出,故在进行计算机辅助设计过程中,需将数表及线图转换成计算机能够处理的形式,以方便在使用过程中通过应用程序进行调用和检索查询,这就涉及到工程数据的计算机处理。
教学目的 本章让学生在学习了几种工程数据计算机处理方法后,可以比较和分析各种工程数据计算机处理方法的特点,并自己动手利用高级语言编制相关程序。 ;常用设计数据或资料的计算机处理 主要包括三种方法;工程数据的计算机处理主要包括三种方法;2.1 数表的计算机处理技术;2.1.1 数表的数组化;2.1.2 数表的文件化;2.1 数表程序化 ;数组程序化方法 ;1.用数组的形式程序化数表 ;用数组的形式程序化数表;2.插值 ;常用插值方法;1)线性插值 ;2)抛物线插值 ;程序举例:;y=0;
for (i=k;i=k+2;i++)
{
m=1.0;
for (j=k;j=k+2;j++) if (j!=i) m=m*(x-xi[j])/(xi[i]-xi[j]);
y=y+m*yi[i];
}
return(y);
}
m=1.0;
for (j=k;j=k+2;j++) if (j!=i) m=m*(x-xi[j])/(xi[i]-xi[j]);
y=y+m*yi[i];
}
return(y);
} ;3)拉格朗日一元n次插值 ;拉格朗日插值公式具体表达式为 ;程序举例:;4)二维数表插值 ;程序举例:;for (j=0;j=m-1;j++)
if ((yz-y[j])*(yz-[j+1])=0) { q=j;break;}
if ( q=j ) q=j;
else if (fabs(yz-y[0])fabs(yz-y[m])) q=0;
else q=m-1;
if (( p==n-1 ) || ( p!=0 ) (fabs(xz-x[p])fabs(xz-x[p+1])) ) p=p-1;
if (( q==m-1 ) || ( q!=0 ) (fabs(yz-y[q])fabs(yz-y[q+1])) ) q=q-1;
for (i=p;i=p+2;i++)
{
;for (j=q;j=q+2;j++)
{
ml=z[i*m+j];
for (l=q;l=q+2;l++)
if (l!=j) ml=ml*(yz-y[l])/(y[j]-y[l]);
for (k=p;k=p+2;k++)
if (k!=i) ml=ml*(xz-x[k])/(x[i]-x[k]);
zz=zz+ml;
}
}
return(zz);
}
;3.数表拟合公式化 ;最小二乘法;同时有互不相等的一元函数节点(xi,yi),(i=1,2,…,m),xi为自变量,yi为对应的函数值,则在每一节点处的偏差为
;最小二乘法多项式拟合公式就是使节点偏差的平方和ss为最小,其推导过程如下 ;2.2 线图计算机???理技术 ;;2.3 数据文件 ;数据文件;C语言常用数据文件操作语句;关闭数据文件
对所调用的数据文件进行完读写操作后应及时关闭以释放内存并防止数据丢失,关闭数据文件函数的调用格式为:
fclose(文件指针)
有关读文件的操作
数据文件被打开后,就可以对它进行读取数据的操作。
字符读函数fgetc
该函数的作用是从指定的文件中读取一个字符,此文件必须是以读或读写的方式打开。其调用格式为:
ch=fgetc(fp)
其中,ch为字符型变量,存放从数据文件读取的字符;fp为指向该文件的文件指针 ;数据块读函数fread
该函数的作用是指从指定的数据文件中读取一个数据块,其调用格式为:
fread(buffer,size,count,fp);
buffer为一个指针,用于读入数据的存放起始地址;size为读取的字节数;count表示要读多少个大小为size字节的数据块;fp指向文件的指针。;格式化读函数fscanf()
该函数的作用是指从文件指针指向的文件中,按格式字符串读取相应数据,然后赋给输入列表中的对应变量地址中,其调用格式为:
fscanf(文件指针,格式字符串,输入列表)
字符串读函数fgets()
该函数的作用是指从指定的文件中读取一定长度的字符串,并将其存放在指定的字符数组中,其调用格式为:
fgets(str,n,fp)
该语句指从fp指定的文件中读取长度不超过n-1个字符的字符串,并将其存放于字符数组str中。
;有关写文件的操作
字符写函数fputc()
该函数的作
原创力文档

文档评论(0)