MATLAB第五章作业

发布 2022-09-05 23:38:28 阅读 8236

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同时可以检查用户的计算机或者移动设备 终端...