Matlab实验三答案

上传人:新** 文档编号:491830861 上传时间:2023-09-06 格式:DOC 页数:15 大小:39.01KB
返回 下载 相关 举报
Matlab实验三答案_第1页
第1页 / 共15页
Matlab实验三答案_第2页
第2页 / 共15页
Matlab实验三答案_第3页
第3页 / 共15页
Matlab实验三答案_第4页
第4页 / 共15页
Matlab实验三答案_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《Matlab实验三答案》由会员分享,可在线阅读,更多相关《Matlab实验三答案(15页珍藏版)》请在金锄头文库上搜索。

1、实验三 MATLAB语言的程序设计 一、实验目的: 1、熟悉MATLAB程序编辑与设计环境2、掌握各种编程语句语法规则及程序设计方法 3、函数文件的编写和设计 4、了解和熟悉跨空间变量传递和赋值 二、实验基本知识:1、程序流程控制语句 for循环结构语法:for i初值:增量:终值 语句1 语句n end 说明:1i初值:终值,则增量为1。 2初值、增量、终值可正可负,可以是整数,也可以是小数,只须符合数学逻辑。while 循环结构 语法:while 逻辑表达式 循环体语句 end 说明:1、whiIe结构依据逻辑表达式的值判断是否执行循环体语勾。若表达式的值为真,执行循环体语句一次、在反复执

2、行时,每次都要进行判断。若表达式的值为假,则程序执行end之后的语句。2、为了避免因逻辑上的失误,而陷入死循环,建议在循环体语句的适当位置加break语句、以便程序能正常执行。(执行循环体的次数不确定;每一次执行循环体后,一定会改变while后面所跟关系式的值。)3、while循环也可以嵌套、其结构如下: while逻辑表达式1 循环体语句1 while逻辑表达式2循环体语句2 end 循环体语句3 end if-else-end分支结构if 表达式 1 语句1 else if 表达式 2(可选) 语句2 else(可选) 语句3 end end 说明:1.if结构是一个条件分支语句,若满足表

3、达式的条件,则往下执行;若不满足,则跳出if结构。2else if表达式2与else为可选项,这两条语句可依据具体情况取舍。3注意:每一个if都对应一个end,即有几个if,记就应有几个end。switch-case结构语法:switch表达式case常量表达式1 语句组1 case常量表达式2 语句组2 otherwise 语句组n end 说明:1switch后面的表达式可以是任何类型,如数字、字符串等。2当表达式的值与case后面常量表达式的值相等时,就执行这个case后面的语句组如果所有的常量表达式的值都与这个表达式的值不相等时,则执行otherwise后的执行语句。程序流程控制指令b

4、reak、return、pause 2、函数文件的结构和编写方法 函数只能在函数体内对变量进行操作,也就是只能访问函数本身工作空间中的变量。 M函数文件的结构(1) 函数定义行(function) (2) H1行(函数帮助文本的第一行) (3) 函数帮助文本(4) 函数体(5) 注释函数文件编写后,保存时,其文件名必须与函数名相同。注意:函数名不要与MATLAB自身的函数命令相同。三、实验内容:2、用for循环语句实现求1100的和编程:sum=0;for i=1:100 sum=sum+i;endsum运行结果: ljiasum = 50503、用for循环语句实现编写一个求阶乘的函数文件。

5、编程:function y=jcheng(n)y=1;for i=1:n y=y*i;endy运行结果:假设n=5 jcheng(5)y = 120ans = 1204、找到一个n! 10100的值(利用上题的阶乘函数文件)编程:i=1;while(1) y=jcheng(i); if y10100 break; end i=i+1;endi运行结果: zhaony = 1y = 2y = 6y = 24y = 120y = 720y = 5040y = 40320y = 362880y = 3628800y = 39916800y = 479001600y = 6.2270e+009y =

6、8.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+026y = 1.0889e+028y = 3.0489e+029y = 8.8418e+030y = 2.6525e+032y = 8.2228e+033y = 2.6313e+035y = 8.6833e+036y =

7、2.9523e+038y = 1.0333e+040y = 3.7199e+041y = 1.3764e+043y = 5.2302e+044y = 2.0398e+046y = 8.1592e+047y = 3.3453e+049y = 1.4050e+051y = 6.0415e+052y = 2.6583e+054y = 1.1962e+056y = 5.5026e+057y = 2.5862e+059y = 1.2414e+061y = 6.0828e+062y = 3.0414e+064y = 1.5511e+066y = 8.0658e+067y = 4.2749e+069y =

8、2.3084e+071y = 1.2696e+073y = 7.1100e+074y = 4.0527e+076y = 2.3506e+078y = 1.3868e+080y = 8.3210e+081y = 5.0758e+083y = 3.1470e+085y = 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、编写一个乘法表(99)编程:for i=1:9 A=; for j=1:i; A=

9、A,sprintf(%dx%d=%d ,j,i,i*j); end disp(A)end运行结果: cfb1x1=1 1x2=2 2x2=4 1x3=3 2x3=6 3x3=9 1x4=4 2x4=8 3x4=12 4x4=16 1x5=5 2x5=10 3x5=15 4x5=20 5x5=25 1x6=6 2x6=12 3x6=18 4x6=24 5x6=30 6x6=36 1x7=7 2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49 1x8=8 2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=64 1x9=9 2

10、x9=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,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:6 x=rem(y(i),3); if x=0 A(j)=y(i);j=j+1; end if x=1 B(k)=y(i);k=k+1; end if x=2 C(m)=y(i);m=m+1; endenddisp(A)disp(B

11、)disp(C)运行结果: yush 3 9 7 16 5 117、已知一维数组A=2,4,5,8,10、B=4, 9,6, 7, 4,用for循环语句实现。求和函数可用sum().编程:A=2 4 5 8 10;B=4 9 6 7 4;C=;y=0;for i=1:5 C(i)=(A(i)*B(5-i+1); y=y+C(i);endy运行结果: timu7y = 1788、(1)编写求解一维数组平均值的函数文件。(2)编写求解二维数组平均值的函数文件。编程1:function y=ywjz(A)x=0;n=numel(A);for i=1:n x=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:n x=x+A(i);endy=x/n;运行结果: y=ewjz(2 3;4 5;6 7;)y =4.5000调用验证:A=1 3 3;5 5 7;y=ewjz(A);y aay = 49、编写验证魔方矩阵的函数文件,输出要求如下: (1) 如果输入矩阵的维数小于

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 习题/试题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号