下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验三MATLA晤言的程序设计一、实验目的:1、熟悉 MATLAB 程序编辑与设计环境2、掌握各种编程语句语法规则及程序设计方法3、函数文件的编写和设计4、了解和熟悉跨空间变量传递和赋值二、实验基本知识:1、程序流程控制语句for 循环结构语法:的门=初值:增量:终值语句 1语句 nend说明:1. i=初值:终值,则增量为1。2初值、增量、终值可正可负,可以是整数,也可以是小数,只须符合数学逻辑。while 循环结构语法: while 逻辑表达式循环体语句end说明:1、while结构依据逻辑表达式的值判断是否执行循环体语勾。若表达式的值为真,执行循环体语句一次、在反复执行时,每次都要进行判
2、断。若表达式的值为假,则程序执行end之后的语句。2、为了避免因逻辑上的失误,而陷入死循环,建议在循环体语句的适当位置加break语句、以便程序能正常执行。 (执行循环体的次数不确定; 每一次执行循环体后, 一定会改变while后面所跟关系式的值。)3、 while 循环也可以嵌套、其结构如下:while逻辑表达式1循环体语句 1while逻辑表达式2循环体语句2end循环体语句3endif-else-end分支结构if 表达式 1语句 1else if 表达式2(可选)语句 2else(可选)语句 3endend说明:结构是一个条件分支语句,若满足表达式的条件,则往下执行;若不满足,则跳出
3、if 结构。2 . else if表达式2与else为可选项,这两条语句可依据具体情况取舍。3 .注意:每一个if都对应一个end,即有几个if,记就应有几个end。switch-case 结构语法:switch表达式case量表达式1语句组1case量表达式2语句组2 otherwise语句组 nend说明:1. switch后面的表达式可以是任何类型,如数字、字符串等。2.当表达式的值与cas诟面常量表达式的值相等时,就执行这个case后面的语句组如果所有的常量表达式的值都与这个表达式的值不相等时,则执行 otherwise后的执行语句。 程序流程控制指令 break、 return 、
4、pause 2、函数文件的结构和编写方法函数只能在函数体内对变量进行操作,也就是只能访问函数本身工作空间中的变量。M 函数文件的结构( 1) 函数定义行( function )( 2) H1 行(函数帮助文本的第一行)( 3) 函数帮助文本( 4) 函数体( 5) 注释函数文件编写后, 保存时, 其文件名必须与函数名相同。 注意: 函数名不要与 MATLAB 自身的函数命令相同。三 、实验内容:2、用for循环语句实现求1100的和编程:sum=0;for i=1:100sum=sum+i;end sum运行结果:>> ljiasum =50503、用for循环语句实现编写一个求阶
5、乘的函数文件。编程:function y=jcheng(n)y=1;for i=1:ny=y*i;endy运行结果:假设 n=5>> jcheng(5)y =120ans =1204、找到一个n!> 10100的值(利用上题的阶乘函数文件)编程:i=1;while(1)y=jcheng(i);if y>10A100break;endi=i+1;endi运行结果:>> zhaony =y =24y =120y =720y =5040y =40320y =3628803628800y =39916800y =479001600y =6.2270e+009y =8
6、.7178e+010y =1.3077e+012y =2.0923e+013y =3.5569e+014y =6.4024e+015y =1.2165e+017y =2.4329e+018y =5.1091e+019y =1.1240e+021y =2.5852e+022y =6.2045e+023y =1.5511e+025y =4.0329e+0263.0489e+029y =8.8418e+030y =2.6525e+032y =8.2228e+033y =2.6313e+035y =8.6833e+036y =2.9523e+038y =1.0333e+040y =3.7199e+04
7、11.1962e+0561.3764e+043y =5.2302e+044y =2.0398e+046y =8.1592e+047y =3.3453e+049y =1.4050e+051y =6.0415e+052y =2.6583e+054y =5.5026e+057y =2.5862e+059y =1.2414e+061y =6.0828e+062y =3.0414e+064y =1.5511e+066y =8.0658e+067y =4.2749e+069y =y =y =1.2696e+073y =7.1100e+074y =4.0527e+076y =2.3506e+078y =1.
8、3868e+080y =8.3210e+081y =5.0758e+083y =1.9826e+087y =1.2689e+089y =8.2477e+090y =5.4434e+092y =3.6471e+094y =2.4800e+096y =1.7112e+098y =1.1979e+100i =705、编写一个乘法表(9X9)编程:for i=1:9A=;for j=1:i;A=A,sprintf('%dx%d=%d ',j,i,i*j);enddisp(A)end运行结果:>> cfb1x1=11x2=2 2x2=41x3=3 2x3=6 3x3=91x4
9、=4 2x4=8 3x4=12 4x4=161x5=5 2x5=10 3x5=15 4x5=20 5x5=251x6=6 2x6=12 3x6=18 4x6=24 5x6=30 6x6=361x7=7 2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=491x8=8 2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=641x9=9 2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=816、判断y向量的元素属于3n、3n+1或3n +2,设y = 3,5, 7, 9,11
10、,16。 编程:假设:将3n放进数组A,将3n+1放进数组B,将3n+2放进数组C。y=3 5 7 9 11 16;A=;B=;C=;j=1;k=1;m=1;for i=1:6x=rem(y(i),3);if x=0A(j)=y(i);j=j+1;endif x=1B(k)=y(i);k=k+1;endif x=2C(m)=y(i);m=m+1;endenddisp(A)disp(B)disp(C)运行结果:>> yush16117、已知一维数组 A= 2,4,5,8,10、B=4, 9,6,7, 4,用 for循环语句实现Ai Bn i 1。求i1和函数可用 sum().编程:A
11、=2 4 5 8 10;B=4 9 6 7 4;C=;y=0;for i=1:5C(i)=(A(i)*B(5-i+1); y=y+C(i);endy运行结果:>> timu71788、(1 )编写求解一维数组平均值的函数文件。( 2 )编写求解二维数组平均值的函数文件。编程 1:function y=ywjz(A)x=0;n=numel(A);for i=1:nx=x+A(i);endv=x/n;运行结果:>> y=ywjz(1 2 3 4 5) y=3编程 2:function y=ewjz(A)x=0;n=numel(A);for i=1:nx=x+A(i);end
12、y=x/n;运行结果:>> y=ewjz(2 3;4 5;6 7;)y =调用验证:A=1 3 3;5 5 7;y=ewjz(A);y>> aay =49、编写验证魔方矩阵的函数文件,输出要求如下:( 1) 如果输入矩阵的维数小于3,输出显示 error ( 2) 如果输入矩阵的不是方阵,输出显示 the size of matrix X must be N-by-N matrix ( 3) 显示行、列和及其对角线求和后的值,并判断其和是否相同, 若不同,显示No,相同显示Yes 编程:function yanzh(x)r,c=size(x);if r=cdisp(
13、39;the size of matrix X must be N-by-N matrix')else if r<3disp('eroor')endendS=sum(x,1),sum(x,2)',sum(diag(x)',sum(diag(rot90(x)'if S(1)=S(2)&S(2)=S(3)&S(3)=S(4)&S(1)=S(4)disp('yes')elsedisp('no')end验证运行:> > yanzh(8 1 6;3 5 7;4 9 2;)yes>
14、; > yanzh(8 1 6;3 5 7;)the size of matrix X must be N-by-N matrix no> > yanzh(8 6;3 5;)eroorno> > yanzh(8 2 6;3 5 7;4 9 2;)no.实验五循环结构程序设计实验内容(1)编写程序实现求两矩阵A*B,A.*B.A*B>> A=input(' 输入矩阵 A:');B=input('输入矩阵 B:');C=zeros(size(A,1),size(B,2);for ii=1:size(A,1)for jj=1:
15、size(B,2)for k=1:size(A,2)C(ii,jj尸C(ii,jj)+A(ii,k)*B(k,jj);endendendC输入矩阵A:1 2;3 4输入矩阵B:5 6;7 819 2243 50A.*B>> A=input('请输入矩阵 A:'); B=input('请输入矩阵B:'); if size(A)=size(B) m,n=size(A);for i=1:mfor j=1:nC(i,j尸A(i,j)*B(i,j);endenddisp(' 输出 A.*B:') Celsedisp(' 无效')end请输入矩阵A:1 2 3请输入矩阵B:4 5 6输出A.*B:C =4 10 18(2)编写程序实现求矩阵的转置>> A=i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大学生法学教学中案例分析与实践教学的课题报告教学研究课题报告
- 2025年上海开放大学发布工作人员公开招聘8人备考题库及参考答案详解一套
- 高中生采用历史计量法分析文艺复兴时期工匠协作网络课题报告教学研究课题报告
- 蓝色简约风大学生调研报告模板
- 2025年南平市浦城县事业单位公开招聘35人备考题库完整答案详解
- 蓝色插画风工作汇报模板
- 2025年成都市泡桐树中学教师招聘备考题库及1套完整答案详解
- 2025年厦门一中招聘合同制校医备考题库及一套完整答案详解
- 南京市第一医院2026年公开招聘卫技人员备考题库及一套参考答案详解
- 2025年大连理工大学化工学院张文锐团队科研助理招聘备考题库及一套完整答案详解
- 数据伦理保护机制-洞察及研究
- 2025年钢贸行业市场分析现状
- 2025数字孪生与智能算法白皮书
- 乡村医生药品管理培训
- 2025春季学期国开电大专科《管理学基础》一平台在线形考(形考任务一至四)试题及答案
- 财务保密意识培训
- 办公室装修改造工程合同书
- 教师节学术交流活动策划方案
- 瑞幸咖啡认证考试题库(咖啡师)
- 土方倒运的方案
- 建筑幕墙用陶板标准
评论
0/150
提交评论