Matlab实验三答案Word格式.docx
- 文档编号:17736113
- 上传时间:2022-12-09
- 格式:DOCX
- 页数:13
- 大小:19.52KB
Matlab实验三答案Word格式.docx
《Matlab实验三答案Word格式.docx》由会员分享,可在线阅读,更多相关《Matlab实验三答案Word格式.docx(13页珍藏版)》请在冰豆网上搜索。
(执行循环体的次数不确定;
每一次执行循环体后,一定会改变while后面所跟关系式的值。
)
3、while循环也可以嵌套、其结构如下:
while逻辑表达式1
循环体语句1
while逻辑表达式2
循环体语句2
循环体语句3
if-else-end分支结构
if表达式1
elseif表达式2(可选)
语句2
else(可选)
语句3
1.if结构是一个条件分支语句,若满足表达式的条件,则往下执行;
若不满足,则跳出if结构。
2.elseif表达式2与else为可选项,这两条语句可依据具体情况取舍。
3.注意:
每一个if都对应一个end,即有几个if,记就应有几个end。
switch-case结构
switch表达式
case常量表达式1
语句组1
case常量表达式2
语句组2
otherwise
语句组n
1.switch后面的表达式可以是任何类型,如数字、字符串等。
2.当表达式的值与case后面常量表达式的值相等时,就执行这个case后面的语句组如果所有的常量表达式的值都与这个表达式的值不相等时,则执行otherwise后的执行语句。
程序流程控制指令
break、return、pause
2、函数文件的结构和编写方法
函数只能在函数体内对变量进行操作,也就是只能访问函数本身工作空间中的变量。
M函数文件的结构
(1)函数定义行(function)
(2)H1行(函数帮助文本的第一行)
(3)函数帮助文本
(4)函数体
(5)注释
函数文件编写后,保存时,其文件名必须与函数名相同。
注意:
函数名不要与MATLAB自身的函数命令相同。
三、实验内容:
2、用for循环语句实现求1~100的和
编程:
sum=0;
fori=1:
100
sum=sum+i;
end
sum
运行结果:
>
>
ljia
sum=
5050
3、用for循环语句实现编写一个求阶乘的函数文件。
functiony=jcheng(n)
y=1;
n
y=y*i;
y
假设n=5
jcheng(5)
y=
120
ans=
4、找到一个n!
10100的值(利用上题的阶乘函数文件)
i=1;
while
(1)
y=jcheng(i);
ify>
10^100
break;
end
i=i+1;
i
zhaon
1
2
6
24
720
5040
40320
362880
3628800
39916800
479001600
6.2270e+009
8.7178e+010
1.3077e+012
2.0923e+013
3.5569e+014
6.4024e+015
1.2165e+017
2.4329e+018
5.1091e+019
1.1240e+021
2.5852e+022
6.2045e+023
1.5511e+025
4.0329e+026
1.0889e+028
3.0489e+029
8.8418e+030
2.6525e+032
8.2228e+033
2.6313e+035
8.6833e+036
2.9523e+038
1.0333e+040
3.7199e+041
1.3764e+043
5.2302e+044
2.0398e+046
8.1592e+047
3.3453e+049
1.4050e+051
6.0415e+052
2.6583e+054
1.1962e+056
5.5026e+057
2.5862e+059
1.2414e+061
6.0828e+062
3.0414e+064
1.5511e+066
8.0658e+067
4.2749e+069
2.3084e+071
1.2696e+073
7.1100e+074
4.0527e+076
2.3506e+078
1.3868e+080
8.3210e+081
5.0758e+083
3.1470e+085
1.9826e+087
1.2689e+089
8.2477e+090
5.4434e+092
3.6471e+094
2.4800e+096
1.7112e+098
1.1979e+100
i=
70
5、编写一个乘法表(9×
9)
9
A=[];
forj=1:
i;
A=[A,sprintf('
%dx%d=%d'
j,i,i*j)];
disp(A)
cfb
1x1=1
1x2=22x2=4
1x3=32x3=63x3=9
1x4=42x4=83x4=124x4=16
1x5=52x5=103x5=154x5=205x5=25
1x6=62x6=123x6=184x6=245x6=306x6=36
1x7=72x7=143x7=214x7=285x7=356x7=427x7=49
1x8=82x8=163x8=244x8=325x8=406x8=487x8=568x8=64
1x9=92x9=183x9=274x9=365x9=456x9=547x9=638x9=729x9=81
6、判断y向量的元素属于3n、3n+1或3n+2,设y=[3,5,7,9,11,16]。
假设:
将3n放进数组A,将3n+1放进数组B,将3n+2放进数组C。
y=[35791116;
];
A=[];
B=[];
C=[];
j=1;
k=1;
m=1;
6
x=rem(y(i),3);
ifx==0
A(j)=y(i);
j=j+1;
ifx==1
B(k)=y(i);
k=k+1;
end
ifx==2
C(m)=y(i);
m=m+1;
disp(A)
disp(B)
disp(C)
yush
39
716
511
7、已知一维数组A=[2,4,5,8,10]、B=[4,9,6,7,4],用for循环语句实现
。
求和函数可用sum().
A=[245810;
B=[49674;
y=0;
5
C(i)=(A(i)*B(5-i+1));
y=y+C(i);
timu7
178
8、
(1)编写求解一维数组平均值的函数文件。
(2)编写求解二维数组平均值的函数文件。
编程1:
functiony=ywjz(A)
x=0;
n=numel(A);
x=x+A(i);
v=x/n;
y=ywjz([12345])
y=
3
编程2:
functiony=ewjz(A)
y=x/n;
y=ewjz([23;
45;
67;
])
4.5000
调用验证:
A=[133;
557;
y=ewjz(A);
aa
4
9、编写验证魔方矩阵的函数文件,输出要求如下:
(1)如果输入矩阵的维数小于3,输出显示’error’
(2)如果输入矩阵的不是方阵,输出显示’thesizeofmatrixXmustbeN-by-Nmatrix’
(3)显示行、列和与其对角线求和后的值,并判断其和是否相同,若不同,显示‘No’,相同显示‘Yes’
functionyanzh(x)
[r,c]=size(x);
ifr~=c
disp('
thesizeofmatrixXmustbeN-by-Nmatrix'
elseifr<
3
eroor'
S=[sum(x,1),sum(x,2)'
sum(diag(x))'
sum(diag(rot90(x)))'
ifS
(1)==S
(2)&
S
(2)==S(3)&
S(3)==S(4)&
S
(1)==S(4)
yes'
else
no'
验证运行:
yanzh([816;
357;
492;
yes
thesizeofmatrixXmustbeN-by-Nmatrix
no
yanzh([86;
35;
eroor
yanzh([826;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Matlab 实验 答案