1.选择题。
1)if结构的开始是“if”命令,结束是c命令。
a. end if b. end c. end d. else
2)下面的switch结构,正确的是c。
3)运行以下命令:
>a=eye(5);
>for n=a(2:end,:)
则for循环的循环次数是b。
4)运行以下命令,则for循环的循环次数是c。
>x=0:10;
>for n=x
if n==5
continue
endend
5)运行以下命令则b。
>a=[1 2 3]
>keyboard
k>>a=[1 2 4];
k>>return
6)关于主函数,以下说法正确的是d。
a. 主函数名必须与文件名相同。
b. 主函数的工作空间与子函数的工作空间是嵌套的。
c. 主函数中不能定义其他函数。
d. 每个函数文件中都必须有主函数。
7)当在命令窗口中输入“sin(a)”时,则对“a”的搜索顺序是d。
a. 是否内部函数→是否变量→是否私有函数。
b. 是否内部函数→是否搜索路径中函数→是否私有函数。
c. 是否内部函数→是否搜索路径中函数→是否当前路径中函数。
d. 是否变量→是否私有函数→是否当前路径中函数。
2.求分段函数的值。用if语句实现,分别输出x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0时的y值。
解:首先编写分段函数的函数m文件:
function y=myfun(x)
if x==2||abs(x)==3||x>=5
y=x^2-x-1;
elseif x<0
y=x^2+x-6;
elsey=x^2-5*x+6;
end 然后计算分段函数的值:
x=[-5.0,-3.0,1.0,2.0,2.5,3.0,5.0];
l=length(x);
y=zeros(1,l);
for k=1:l
y(k)=myfun(x(k));
endx;y]
plot(x,y) ans =
此题也可以采用逻辑表达式定义分段函数,做法更简单。编程如下:
x=[-5.0,-3.0,1.0,2.0,2.5,3.0,5.0];
y1=(x==2|abs(x)==3|x>=5).*x.^2-x-1)
y2=(x<0&x~=-3).*x.^2+x-6);
y3=(x>=0&x<5&x~=2&x~=3).*x.^2-5*x+6);
y=y1+y2+y3;
x;y] y1 =
ans =
当然,本题主要是考查if结构的应用。
3.输入一个百分制成绩,要求输出成绩等级a、b、c、d、e。其中90分~100分为a,80分~89分为b,70分~79分为c,60分~69分为d,60分以下为e。要求:
1)分别用if语句和switch语句实现。
2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。
解:第一种方法:用if结构实现。编程如下:
x=input('输入一个百分制成绩(0~100):'
if x<0||x>100
error('成绩输入错误!')
elseif x<60
disp('你的成绩为e');
elseif x<70
disp('你的成绩为d');
elseif x<80
disp('你的成绩为c');
elseif x<90
disp('你的成绩为b');
elsedisp('你的成绩为a');
end 第二种方法:用switch结构实现。编程如下:
x=input('输入一个百分制成绩(0~100):'
xd=fix(x/10);
switch xd
case disp('你的成绩为e');
case 6
disp('你的成绩为d');
case 7
disp('你的成绩为c');
case 8
disp('你的成绩为b');
case disp('你的成绩为a');
otherwise
error('成绩输入错误!')
end 注:此题建议编写两个m脚本文件,然后在matlab命令窗口运行。如果在notebook中直接运行input指令会产生错误。
4.根据,求π的近似值。当n分别取时,结果是多少?要求:分别用循环结构和向量运算(使用sum函数)来实现。
解:第一种方法:使用循环结构。编程如下:
s=0;for n=1:100
s=s+1/n^2;
endpai=sqrt(6*s) pai =
s=0;for n=1:1000
s=s+1/n^2;
endpai=sqrt(6*s) pai =
s=0;for n=1:10000
s=s+1/n^2;
endpai=sqrt(6*s) pai =
第二种方法:使用向量运算。编程如下:
n=1:100;
s=sum(1./n.^2);
pai=sqrt(6*s) pai =
n=1:1000;
s=sum(1./n.^2);
pai=sqrt(6*s) pai =
n=1:10000;
s=sum(1./n.^2);
pai=sqrt(6*s) pai =
5.若两个连续自然数的乘积减1是素数,则称这两个连续自然数是亲密数对。该素数是亲密素数。
例如2×3-1=5,由于5是素数,所以2和3是亲密数对,5是亲密素数。求[2,50]区间内:
(1)亲密数对的对数。
2)与上述亲密数对对应的所有亲密素数之和。
提示:在matlab中,判断一个正整数是否为素数的函数为isprime(n)。
解:首先编写判断亲密数的函数:
function [flag,k]=qms(n)
k1=n*(n+1)-1;
if isprime(k1)
flag=1;
k=[n,n+1,k1];
elseflag=0;
k=end
然后计算亲密数对的对数和所有亲密素数的和:
clearclc
k=for n=2:50
[flag,k1]=qms(n);
k=[k;k1];endk
s=size(k);
disp(['亲密数对的对数为' num2str(s(1))]
sum=sum(k(:,3));
disp(['所有亲密素数的和为' num2str(sum)])k =
第五章作业
检验以下模型中是否存在多重共线性,如果存在,请改善。y 新客车 量。x2 新车的消费者 指数,1967 100 x3 消费者 指数 全部项目,全部城市消费者 1967 100 x4 个人可支配收入,10亿美元。x5 利率,百分数。x6 民间就业劳动人数 千人 一 建立模型。其中,是新客车 量 辆 分...
第五章作业
一 单选题。1 监理规划是监理单位重要的 a a 存档资料b 计划文件c 监理资料d.历史资料。2 下列说法中,符合监理规划的是 a a 由项目总监理工程师主持制定b 监理规划是开展监理工作的第一步c 监理规划是签订合同之前制定的d 监理规划相当于工程项目的初步设计。3 由项目监理机构的专业监理工程...
第五章作业
网络安全第五章作业。2016.4.22p132思考题1.2.3.5.6.75.1给出网络访问控制的简要定义。答 网络访问控制 nac 是对网络进行管理访问的一个概括性术语。nac对登录到网络的用户进行认证,同时决定该用户可以访问哪些数据,执行哪些操作。nac同时可以检查用户的计算机或者移动设备 终端...