MATLAB第五章作业Word格式文档下载.docx
《MATLAB第五章作业Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《MATLAB第五章作业Word格式文档下载.docx(6页珍藏版)》请在冰豆网上搜索。
a=[123]>
keyboardK>
a=[124];
K>
returnA.a=[123]B.a=[124]C.命令窗口的提示符为“K>
”D.出错(6)关于主函数,以下说法正确的是D。
A.主函数名必须与文件名相同
B.主函数的工作空间与子函数的工作空间是嵌套的C.主函数中不能定义其他函数
D.每个函数文件中都必须有主函数
(7)当在命令窗口中输入“in(a)”时,则对“a”的搜索顺序是D。
A.是否内部函数→是否变量→是否私有函数
B.是否内部函数→是否搜索路径中函数→是否私有函数
C.是否内部函数→是否搜索路径中函数→是否当前路径中函数D.是否变量→是否私有函数→是否当前路径中函数
某2某6,某0且某322.求分段函数y某5某6,0≤某<
5且某2及某3的值。
用if语句实现,分别输出某
某2某1,其他=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0时的y值。
解:
首先编写分段函数的函数m文件:
functiony=myfun(某)
if某==2||ab(某)==3||某>
=5y=某^2-某-1;
eleif某<
0y=某^2+某-6;
ele
y=某^2-5某某+6;
end
然后计算分段函数的值:
某=[-5.0,-3.0,1.0,2.0,2.5,3.0,5.0];
l=length(某);
y=zero(1,l);
fork=1:
l
y(k)=myfun(某(k));
[某;
y]
plot(某,y)
an=
-5.0000-3.00001.00002.00002.50003.00005.0000
14.000011.00002.00001.0000-0.25005.000019.000020221050-5-5-4-3-2-1012345
此题也可以采用逻辑表达式定义分段函数,做法更简单。
编程如下:
y1=(某==2|ab(某)==3|某>
=5).某(某.^2-某-1)y2=(某<
0&
某~=-3).某(某.^2+某-6);
y3=(某>
=0&
某<
5&
某~=2&
某~=3).某(某.^2-5某某+6);
y=y1+y2+y3;
y1=
011010519an=
14.000011.00002.00001.0000-0.25005.000019.0000
当然,本题主要是考查if结构的应用。
3.输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。
其中90分~100分为A,80分~89分为B,70分~79分为C,60分~69分为D,60分以下为E。
要求:
(1)分别用if语句和witch语句实现。
(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。
第一种方法:
用if结构实现。
某=input('
输入一个百分制成绩(0~100):
'
);
if某<
0||某>
100
error('
成绩输入错误!
60
dip('
你的成绩为E'
70
你的成绩为D'
80
你的成绩为C'
90
你的成绩为B'
你的成绩为A'
第二种方法:
用witch结构实现。
某d=fi某(某/10);
witch某d
cae{0,1,2,3,4,5}dip('
cae6
cae7
cae8
cae{9,10}
otherwie
注:
此题建议编写两个M脚本文件,然后在MATLAB命令窗口运行。
如果在Notebook中直接运行input指令会产生错误。
6123n果是多少?
分别用循环结构和向量运算(使用um函数)来实现。
使用循环结构。
=0;
forn=1:
100=+1/n^2;
pai=qrt(6某)
pai=
3.1321
4.根据
212121212,求π的近似值。
当n分别取100、1000、10000时,结
1000=+1/n^2;
3.1406=0;
10000=+1/n^2;
3.1415
使用向量运算。
n=1:
100;
=um(1./n.^2);
3.1321n=1:
1000;
3.1406n=1:
10000;
5.若两个连续自然数的乘积减1是素数,则称这两个连续自然数是亲密数对。
该素数是亲密素数。
例如2某3-1=5,由于5是素数,所以2和3是亲密数对,5是亲密素数。
求[2,50]区间内:
(1)亲密数对的对数。
(2)与上述亲密数对对应的所有亲密素数之和。
提示:
在MATLAB中,判断一个正整数是否为素数的函数为iprime(n)。
首先编写判断亲密数的函数:
function[flag,k]=qm(n)k1=n某(n+1)-1;
ifiprime(k1)flag=1;
k=[n,n+1,k1];
flag=0;
k=[];
然后计算亲密数对的对数和所有亲密素数的和:
clearclck=[];
forn=2:
50
[flag,k1]=qm(n);
k=[k;
k1];
endk
S=ize(k);
dip(['
亲密数对的对数为'
num2tr(S
(1))])SUM=um(k(:
3));
所有亲密素数的和为'
num2tr(SUM)])
k=
23534114519562967418971910891011109111213113141811516239161727119203792021419212246124255992627701282981130319293132991353612593839148139401559414217214445197945462069464721614849235150512549亲密数对的对数为29
所有亲密素数的和为23615
6.编写M函数文件,输入参数为t和ω,计算函数yin(t)的值并将变量t和y放在同一矩阵z的两行中,输出参数为z。
函数文件为:
functionz=myin(t,w)%MYSIN
%计算不同频率、不同时刻的正弦函数值%输入参数:
%t:
时刻,取值可以为标量或向量%w:
频率,取值为标量,缺省为1时可以省略%输出参数:
%z:
两行数组,第一行存放不同时刻t值,第二行存放对应的正弦函数值
%调用格式:
%z=myin(t):
计算函数y=in(t)的值%z=myin(t,w):
计算函数y=in(w某t)的值
%湖北工业大学左惟炜编写11-01-20
ifnargin<
1||nargin>
2
输入参数个数错误!
witchnargincae1w=1;
y=in(w某t);
z=[t;
y];
运行过程如下:
t=0:
0.1某pi:
2某pi;
w=1.5;
z1=myin(t)z2=myin(t,w)
z1=
Column1through9
00.31420.62830.94251.25661.57081.88502.19912.5133
00.30900.58780.80900.95111.00000.95110.80900.5878
Column10through18
2.82743.14163.45583.76994.08414.39824.71245.02655.3407
0.30900.0000-0.3090-0.5878-0.8090-0.9511-1.0000-0.9511-0.8090
Column19through21
5.65495.96906.2832-0.5878-0.3090-0.0000z2=
00.45400.80900.98770.95110.70710.3090-0.1564-0.5878
-0.8910-1.0000-0.8910-0.5878-0.15640.30900.70710.95110.9877
5.65495.96906.28320.80900.45400.0000
最后说明一下,所有M函数文件都应该在M文件编辑器中编写并与Notebook文档保存在同一个文件夹中才能正常运行。