matlab fix函数_Matlab课后答案第四章
“?m文件是matlab程序的容器。”
01
—
??學(xué)會(huì)使用函數(shù)m文件,程序m文件;
區(qū)別:函數(shù)m文件調(diào)用需要傳入?yún)?shù)
函數(shù)m文件可以在命令行調(diào)用,也可以在程序m文件中調(diào)用
02
—
一、選擇題
1.下列關(guān)于腳本文件和函數(shù)文件的描述中不正確的是(????? )。 A
A.函數(shù)文件可以在命令行窗口直接運(yùn)行
B.去掉函數(shù)文件第一行的定義行可轉(zhuǎn)變成腳本文件
C.腳本文件可以調(diào)用函數(shù)文件
D.函數(shù)文件中的第一行必須以function開(kāi)始
2.下列程序的輸出結(jié)果是(????? )。D
y=10;
if y==10
???y=20;
elseif y>0
???y=30
end
disp(y)
A.1??????????? B.30????????? ?C.10????????? D.20
3.有以下語(yǔ)句:
a=eye(5);
for n=a(2:end,:)
for循環(huán)的循環(huán)次數(shù)是(????? )。C
A.3??????????? B.4?????????? C.5????????? D.10
4.設(shè)有程序段
k=10;
while k
???k=k-1
end
則下面描述中正確的是(??? )。A
A.while循環(huán)執(zhí)行10次?????????? ???????????????? B.循環(huán)是無(wú)限循環(huán)
C.循環(huán)體語(yǔ)句一次也不執(zhí)行????? ????????????????? D.循環(huán)體語(yǔ)句執(zhí)行一次
5.有以下程序段:
x=reshape(1:12,3,4);
m=0;
n=0;
for k=1:4
? ??if x(:,k)<=6
? ??????m=m+1;
? ??else
? ??????n=n+1;
? ??end
end
則m和n的值分別是(????? )。C
A.6? 6???????B.2? 1????????C.2?? 2???????D.1? 2
6.調(diào)用函數(shù)時(shí),如果函數(shù)文件名與函數(shù)名不一致,則使用(????? )。A
A.函數(shù)文件名??????????????????? ???B.函數(shù)名
C.函數(shù)文件名或函數(shù)名均可??????????D.@函數(shù)名
7.如果有函數(shù)聲明行為“function[x,y,z]=f1(a,b,c)”,則下述函數(shù)調(diào)用格式中錯(cuò)誤的是(????? )。B
A.x=f1(a,b,c)????????????????? B.[x,y,z,w]=f1(a,b,c)
C.[x,b,z]=f1(a,y,c)????????????? D.[a,b]=f1(x,y,z)
8.執(zhí)行語(yǔ)句“fn=@(x) 10*x;”,則 fn是(?????? )。A
A.匿名函數(shù)? ??????B.函數(shù)句柄??????? C.字符串??????? D.普通函數(shù)
9.執(zhí)行下列語(yǔ)句后,變量A的值是(?????? )。D
>>f=@(x,y) log(exp(x+y));
>> A=f(22,3);
A.22,3????????? B.22????????? C.3????????? D.25
10.程序調(diào)試時(shí)用于設(shè)置斷點(diǎn)的函數(shù)是(????? )。A
A.dbstop???????? B.dbclear????????? C.dbcont????? D.dbstack
二、填空題
1.將有關(guān)MATLAB命令編成程序存儲(chǔ)在一個(gè)擴(kuò)展名為.m的文件中,該文件稱為??????? 。M文件
2.有語(yǔ)句“for k=[12;34]”引導(dǎo)的循環(huán)結(jié)構(gòu),其循環(huán)體執(zhí)行的次數(shù)為???????? 。1
3.MATLAB中用于控制不確定重復(fù)次數(shù)的循環(huán)語(yǔ)句為??????? ,若在循環(huán)執(zhí)行過(guò)程中需要終止該循環(huán)時(shí)采用的語(yǔ)句為??????? 。while…end,break
4.函數(shù)文件由??????? 語(yǔ)句引導(dǎo)。在函數(shù)定義時(shí),函數(shù)的輸入輸出參數(shù)稱為??? ???參數(shù),簡(jiǎn)稱 ??????。在調(diào)用函數(shù)時(shí),輸入輸出參數(shù)稱為?? ?????參數(shù),簡(jiǎn)稱??????? 。
function,形式,形參,實(shí)際,實(shí)參
5.在MATLAB中,函數(shù)文件中的變量是??????? 變量。定義??????? 變量是函數(shù)間傳遞信息的一種手段,可以用??????? 命令定義。局部,全局,global
6.應(yīng)用程序的錯(cuò)誤有兩類,一類是??????? 錯(cuò)誤,另一類是運(yùn)行時(shí)的錯(cuò)誤,即?????? 錯(cuò)誤。MATLAB程序調(diào)試方法有兩種,一是利用??????? 進(jìn)行程序調(diào)試,二是利用??????? 進(jìn)行程序調(diào)試。
語(yǔ)法,邏輯,調(diào)試函數(shù),調(diào)試工具
三、應(yīng)用題
1.寫出下列程序的輸出結(jié)果。
s=0;a=[12,13,14;15,16,17;18,19,20;21,22,23];for k=a for j=1:4 if rem(k(j),2)~=0 s=s+k(j); end endends2.分別用if語(yǔ)句和switch語(yǔ)句實(shí)現(xiàn)以下計(jì)算,其中a、b、c的值從鍵盤輸入。
if語(yǔ)句:a=input('a=');b=input('b=');c=input('c=');x=input('x=');if 0.5<=x&x<1.5y=a*x^2+b*x+c;elseif 1.5<=x&x<3.5y=a*(sin(b))^c+x;elseif 3.5<=x&x<5.5y=log(abs(b+c/x));endyswitch語(yǔ)句:a=input('a=');b=input('b=');c=input('c=');x=input('x=');switch fix(x*10)case num2cell(5:14)y=a*x^2+b*x+c;case num2cell(15:34)y=a*(sin(b))^c+x;case num2cell(35:54)y=log(abs(b+c/x));otherwisedisp('nsrdxcw')endy3.產(chǎn)生20個(gè)兩位隨機(jī)整數(shù),輸出其中小于平均值的偶數(shù)。
x=fix(10+rand(20)*89);a=sum(x)/20;for i=1:20if x(i)if rem(x(i),2)==0disp(x(i))endendend4.輸入20個(gè)數(shù),求其中最大數(shù)和最小數(shù)。要求分別用循環(huán)結(jié)構(gòu)和調(diào)用MATLAB的max函數(shù)、min函數(shù)來(lái)實(shí)現(xiàn)。
循環(huán)結(jié)構(gòu):
for a=1:20A(a)=input('請(qǐng)輸入20個(gè)數(shù):');endAmi=A(1);ma=A(1);for i=1:20if mi>A(i)mi=A(i);endif mama=A(i);endenddisp(ma)disp(mi)max、min函數(shù):for a=1:20A(a)=input('請(qǐng)輸入20個(gè)數(shù):');endAmi=min(A),ma=max(A)5.已知 s=1+2+22+23+…+263
分別用循環(huán)結(jié)構(gòu)和調(diào)用MATLAB的sum函數(shù)求s的值。
循環(huán)結(jié)構(gòu):
s=0;for x=0:63s=2^x+s;enddisp(s)sum函數(shù):i=0:63;f=2.^i;sum(f)6.當(dāng)n分別取100、1000、10000時(shí),求下列各式的值:
要求分別用循環(huán)結(jié)構(gòu)和向量運(yùn)算(使用sum或prod函數(shù))來(lái)實(shí)現(xiàn)。
(1):循環(huán)結(jié)構(gòu):n=input('請(qǐng)輸入n的值:');s=0;for a=1:ns=s+(-1)^(a+1)/a;ends向量運(yùn)算:n=input('請(qǐng)輸入n的值:');a=1:n;f=(-1).^(a+1)./a;s=sum(f)(2):循環(huán)結(jié)構(gòu):n=input('請(qǐng)輸入n的值:');s=0;for a=1:n;s=s+(-1)^(a+1)/(2*a-1);ends向量運(yùn)算:n=input('請(qǐng)輸入n的值:');a=1:n;f=(-1).^(a+1)./(2*a-1);s=sum(f)(3):循環(huán)結(jié)構(gòu):n=input('請(qǐng)輸入n的值:');s=0;for a=1:ns=s+(1/4)^a;ends向量運(yùn)算:n=input('請(qǐng)輸入n的值:');a=1:n;f=(1/4).^a;s=sum(f)(4):循環(huán)結(jié)構(gòu):n=input('請(qǐng)輸入n的值:');s=1;for a=1:nf=(2*a)^2/((2*a-1)*(2*a+1));s=s*f;ends向量運(yùn)算:n=input('請(qǐng)輸入n的值:');a=1:n;f=(2*a).^2./((2*a-1).*(2*a+1));s=prod(f)7.編寫一個(gè)函數(shù)文件,求小于任意自然數(shù)n的斐波那契(Fibnacci)數(shù)列各項(xiàng)。斐波那契數(shù)列定義如下:
function f=Fibnacci(n)for i=1:nif i==1f=1;elseif i==2f=1;elsef=Fibnacci(i-1)+Fibnacci(i-2);endend n=input('n=');f=Fibnacci(n)8.編寫一個(gè)函數(shù)文件,用于求兩個(gè)矩陣的乘積和點(diǎn)乘,然后在腳本文件中調(diào)用該函數(shù)。
function [C,D]=CJ(A,B)C=A*B;D=A.*B; A=[1 2 3;4 5 6;7 8 9];B=[1 1 1;1 1 1;1 1 1];[C,D]=CJ(A,B)9.先用函數(shù)的遞歸調(diào)用定義一個(gè)函數(shù)文件求,然后調(diào)用該函數(shù)文件求。
function f=xt4_10(m,n)if n<1 f=0;else f=n^m+xt4_10(m,n-1);end xt4_10(1,100)+xt4_10(2,50)+xt4_10(-1,10)10.寫出下列程序的輸出結(jié)果。
腳本文件exe.m:
global x x=1:2:5;y=2:2:6; sub(y); x y函數(shù)文件sub.m:
function fun=sub(z)global xz=3*x;x=x+z;總結(jié)
以上是生活随笔為你收集整理的matlab fix函数_Matlab课后答案第四章的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 修改网站自动关闭时间timeout_Te
- 下一篇: mac连接群晖的服务器会自动断开_酷玩家