矩阵运算系统.docx
- 文档编号:14343914
- 上传时间:2023-06-22
- 格式:DOCX
- 页数:17
- 大小:296.81KB
矩阵运算系统.docx
《矩阵运算系统.docx》由会员分享,可在线阅读,更多相关《矩阵运算系统.docx(17页珍藏版)》请在冰点文库上搜索。
矩阵运算系统
矩阵运算系统
院系理学院
班级光学*****
姓名******
学号************
指导老师**
日期年月日
设计题目-------------------------------------------------------------------1
问题描述-------------------------------------------------------------------1
算法思想-------------------------------------------------------------------1
软件功能-------------------------------------------------------------------1
主要函数流程图----------------------------------------------------------1
运行结果-------------------------------------------------------------------2
源程序代码----------------------------------------------------------------8
收获及体会----------------------------------------------------------------13
参考文献--------------------------------------------------------------------13
【设计题目】
矩阵运算系统
【问题描述】
建立一函数,使能够面对不同类型的矩阵运算问题选择对应矩阵运算方法,输入数据自动处理得到结果,对错误选择或输入进行直接提示,自主选择返回等功能,具有多重选择界面,可以连续性处理问题。
【算法思想】
编译多个矩阵运算处理程序,将不同类型分开计算,又将不同的矩阵运算问题整合编译,构成一个简单的矩阵运算系统,面对所需运算矩阵选择不同程序进行处理。
为使运算不出错程序添加了提醒功能,并进行了自主选择可连续运算方式操作更加简单上手。
(1)利用公式编译矩阵运算问题;
(2)利用数列规律编译程序计算数列;
【软件功能】
1.可以处理多种矩阵运算问题:
数乘、加减、乘法、转置;
2.具有多个面向对象,可以更好的处理数学问题;
3.具有自主选择功能:
选择不同矩阵运算,处理问题结束后选择是否继续,自主选择返回等。
【主要函数算法流程图】
【输出结果】
【源程序代码】
#include
#definemax5
doublea[max][max],b[max][max],c[max][max],m[max][max];
intxa,ya,xb,yb;
//菜单//
voidmenu()
{
printf("\t\t>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<\n");
printf("\t\t>>>>欢迎使用矩阵运算系统!
<<<<\n");
printf("\t\t>>>>>>>张瑞士<<<<<<<\n");
printf("\t\t>>>>>>>>2012年11月24日<<<<<<<<\n");
printf("\t\t>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<\n");
printf("\t\t************************************\n");
printf("\t\t请选择您希望进行的运算:
\n");
printf("\t\t1.矩阵数乘运算\n");
printf("\t\t2.矩阵加法运算\n");
printf("\t\t3.矩阵减法运算\n");
printf("\t\t4.矩阵乘法运算\n");
printf("\t\t5.矩阵的转置\n");
printf("\t\t6.退出程序\n");
printf("\t\t************************************\n");
}
//主要操作函数//
voidinput()
{
inti,j;
{
printf("若只用到1个矩阵,只调用a矩阵的数据\n");
printf("请输入a矩阵的行数xa,列数ya:
\n");
scanf("%d%d",&xa,&ya);
printf("请输入a矩阵的数据,行优先:
\n");
for(i=0;i for(j=0;j scanf("%lf",&a[i][j]); } { printf("请输入b矩阵的行数xb,列数yb: \n"); scanf("%d%d",&xb,&yb); printf("请输入b矩阵的数据,行优先: \n"); for(i=0;i for(j=0;j scanf("%lf",&b[i][j]); } printf("\n"); } //矩阵的数乘// voidshucheng() { inti,j,q,t; printf("请输入你需要的常数: \n"); scanf("%d",&q); for(i=0;i for(j=0;j { c[i][j]=0; for(t=0;t c[i][j]=q*a[i][j]; } printf("矩阵的数乘为: \n"); for(i=0;i { for(j=0;j printf("%g\t",c[i][j]); printf("\n"); } } //矩阵的和// voidadd() { inti,j; for(i=0;i for(j=0;j { c[i][j]=0; c[i][j]=a[i][j]+b[i][j]; } printf("矩阵的和为: \n"); for(i=0;i { for(j=0;j printf("%g\t",c[i][j]); printf("\n"); } } //矩阵的差// voidmin() { inti,j; for(i=0;i for(j=0;j { c[i][j]=0; c[i][j]=a[i][j]-b[i][j]; } printf("矩阵的差为: \n"); for(i=0;i { for(j=0;j printf("%g\t",c[i][j]); printf("\n"); } } //矩阵的积// voidmul() { intt,i,j; for(i=0;i for(j=0;j { c[i][j]=0; for(t=0;t c[i][j]=c[i][j]+a[i][t]*b[t][j]; } printf("矩阵的积为: \n"); for(i=0;i { for(j=0;j printf("%g\t",c[i][j]); printf("\n"); } } //矩阵的转置// voidzhuanzhi() { intt,i,j; for(i=0;i for(j=0;j { c[i][j]=0; c[i][j]=a[j][i]; } printf("矩阵的转置为: \n"); for(i=0;i { for(j=0;j printf("%g\t",c[i][j]); printf("\n"); } } //主函数// voidmain() { intchoice,flag=1; while(flag) { menu(); scanf("%d",&choice); switch(choice) { case1: input(); shucheng(); break; case2: input(); add(); break; case3: input(); min(); break; case4: input(); mul(); break; case5: input(); zhuanzhi(); break; case6: printf("\t\t\t##############################\n"); printf("\t\t\t#感谢您的使用,下次再见! #\n"); printf("\t\t\t##############################\n"); flag=0; break; default: printf("你的输入不正确,请重新输入! \n"); } } } 【收获及体会】 通过这一段时间的C语言程序设计,使我对C语言有了进一步地了解,也使我掌握了一些C语言的基础知识。 做程序设计时遇到很多难题,同时让我受益匪浅,解决的过程中使我重新学习了一遍让我的知识面也加深了,在这其中让我让我体会到了学习的乐趣。 虽然这是一个简单的程序,但也花费了我不少时间慢慢的摸索,在做程序设计的过程中也不断地总结中,能够使自己积累更多的经验。 学习的过程中虽然很痛苦,但看到劳动成果后是快乐的。 不擅长不代表不会,经过这次程序设计我也发现自己的不足,其中是对基础知识掌握不熟,从这可以看出我有待加强。 【参考文献】 C程序设计作者谭浩强清华大学出版社
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 矩阵 运算 系统