滁州学院期末考试matlab试卷及答案
- 格式:doc
- 大小:37.00 KB
- 文档页数:15
一、填空题(本题满分30分,每空3分)1.设有程序A=[2,0,1,0;1,0,1,5;0, 6 ,2, 3];B=[1,2,-1;1,3,1];C=A(1:3,[1,2]);D=size(C)- length(B(2,:));F= C.*B ’将下列命令的运行结果填在横线上0*、0D = [0 -1] ; F= [2 0;2 0;0 6] .2. A=[2,3,2,1;1,2,2,1; 1,2,3,-2];A1=sum(A>A(2,1));A(2,:)=[],A2=A.^2-4A1= ; A2= ;3.P=[1,2,5,4;2,2,1,3];max(P,[ ],1)= [2 2 5 4] ;mean(P,2)= [3 2] .二、(本题满分10分)试编写计算程序画出曲线与曲面图形.22,22,)1((2).);20(cos sin (1).223322≤≤-≤≤-++=≤≤⎪⎩⎪⎨⎧==--y x y x e x z t t y t x y xπ%1 %2t=0:0.1: 2*pi; [x,y]=meshgrid(-2:0.1:2);x= sin(t).^3; z=(x.^2+1).* exp(-x.^2- y.^2+)+x .^2.*y; y= cos (t).^3; mesh(x,y,z)plot(x,y)三、(本题满分12分)编写程序解决下列问题:(1)试产生100⨯4阶矩阵使其元素在0—100之间的随机整数,可将此矩阵理解为100名同学的四门课程(课程1, 课程2, 课程3, 课程4)的成绩.(2)计算出每门课程和每位同学的平均成绩;(3)统计出总的优秀人次(90分及以上为优秀);(4)统计出四门课程成绩至少有两门课程不及格的人数.解:(1) a=fix((100-0+1)*rand(100,4));(2) mean(a) mean(a,2)(3)sum(sum(a>=90,2)==4)(4)sum(sum(a<60,2)>=2)四、(本题满10分)).50,20(]2,0[)2()),(1:(;)1(,sin )1()(11==-=∑=+n n x fun y function kx k x f nk k 分别取内图形用子图画出该函数在程序的第一句为返回该函数并保存试编写函数式文件程序设π(1). function y=fun1(x,n) (2). x=0:0.1:2*pi;y=0; y1= fun1 (x,20);for k=1:n y2= fun1 (x,50);y=y+ ((-1)^(k+1)*sin(k*x))/k; subplot(2,1,1),plot(x,y1)end subplot(2,1,2),plot(x,y2)y五、(本题满分10分)试利用微分方程的数值解法写出下列微分方程的求解步骤和MATLAB 程序.0)0(,2)0(,3='==-'+''x x t x x t x .(t 的变化区间为[0,10]).第一步:先将高阶微分方程转化为一阶微分方程组:选择状态变量x x x x ='=21,,则原方程化为2)0(,0)0(.,32112211==⎩⎨⎧='++-='x x x x t x tx x第二步:建立函数文件function dxdt = fun2(t,x)dxdt = [-3*t*x(1)+ x(2)+t; x(1)];第三步:求解微分方程,命令如下:[t,x]=ode45(@fun2,[0,10],[0;2]);)(cos cos lim .3;,)(,,1ln sin .2;2.1:,sin 022x e x x x A dx x A dx dA x s e x x x A x e 、x x x x --⎥⎥⎦⎤⎢⎢⎣⎡+=+=→-⎰计算极限并计算生成符号矩阵的根求方程下列各题运用符号运算功能计算六 的解函数求解微分方程用1)0()0()0()0(,2.4)4(='''=''='==+x x x x e x x dsolve t六、参考程序:1. solve('exp(x)=x^2+2')2.syms x sA=[x*sin(x),log(x);exp(-x),1/(s+x)]diff(A)int(A)A*A3.syms xlimit((cos(x)-cos(x)^(1/2))/x/(exp(sin(x))-1))4.dsolve('D4x+x=2*exp(t)','x(0)=1','Dx(0)=1','D2x(0)=1','D3x(0)=1')⎪⎩⎪⎨⎧=-++=--++03320224:.2122212212221x x x x x x x x x fsolve 组求解下面的非线性方程函数以及符号运算功能用七解一:function y=fc(x)y(1)=4*x(1).^2+x(2).^2+2*x(1).*x(2)-x(2)-2y(2)=2*x(1).^2+x(2).^2+3*x(1).*x(2)-3y=[y(1) y(2)];x0=[1 1];fsolve(@fc,x0)解二: syms x1 x2[x1 x2]=solve(‘4*x1^2+ x2^2+2* x1* x2- x2-2=0’,’ 2*x1^2+ x2^2+3* x1* x2-3=0’,’ x1’,’ x2’)《MA TLAB程序设计》参考程序一、(30分)1.D =0 -1F =2 02 00 62.A1 =1 3 3 0A2 =0 5 0 -3-3 0 5 03.max(P,[ ],1)=2 2 5 4 mean(P,2)=324.x=155.b =0 1 4-1 0 1-4 -1 06.z =20107.285二、(10分)%1t=0:0.1: 2*pi;x= sin(t).^3;y= cos (t).^3;plot(x,y)%2[x,y]=meshgrid(-2:0.1:2);z=(x.^2+1).* exp(-x.^2- y.^2+)+x.^2.*y; mesh(x,y,z)三、(16分)syms xlimit((x-1)*log(x)/(exp(x-1)-1),x,1)%2solve('exp(x)-3*cos(x)+1=0')%3syms xM=[ exp(-x), x;sin(x),exp(-0.1*x)* cos(3*x)]diff(M,2)int(M,x,0,pi)%4 syms t xdsolve('Dx-6*x=exp(-t) ','x(0)=1')四、(12分)x=0.5:9.5;y=[ 0.16, 0.40, 0.66, 0.75, 0.88, 1.0, 1.1, 1.1, 1.2, 1.3];x1=1./x;y1=1./y;p=polyfit(x1,y1,1);a=p(2); b= p(1);ye=x./(a*x+b);plot(x,y,'ro', x, ye, 'b-')grid onxlabel('自变量x ')ylabel('因变量y ')title('因变量y与自变量x的拟合曲线图')五、(12分)%参考程序cj=round(normrnd(70,10,100,4));for i=1:100for j=1:4if cj(i,j)>100 cj(i,j)=100;elseif cj(i,j)<0 cj(i,j)=0;endendendkmean=round(mean(cj))disp('课程1 课程2 课程3 课程4')disp(sprintf(' %4d%7d%8d%8d ' ,kmean(1),kmean(2),kmean(3),kmean(4))) studentmean=round(mean(cj,2));studentnumber=[1:100]';[studentnumber, studentmean]c=sum(sum(cj>=90))d=sum(sum(cj<60,2)>=2)六、(10分)(1). function y=fun1(x,n)y=0;for k=1:ny=y+ ((-1)^k*sin(k*x))/k;endy(2). x=0:0.1:2*pi;y1= fun1 (x,20);y2= fun1 (x,50);subplot(211),plot(x,y1)subplot(212),plot(x,y2)七、(10分)第一步:先将高阶微分方程转化为一阶微分方程组:选择状态变量x x x x ='=21,,则原方程化为2)0(,0)0(.,32112211==⎩⎨⎧='++-='x x x x t x tx x第二步:建立函数文件function dxdt = fun2(t,x)dxdt = [-3*t*x(1)+ x(2)+t; x(1)];第三步:求解微分方程,命令如下:[t,x]=ode45(@fun2,[0,10],[0;2])补充:1.matlab 中清屏的命令是———clc2.matlab 中用于清除工作空间变量的命令是——clear3.在【0,5】上求函数f=(x-3)^2-1的最小值。
matlab期末考试题目及答案1. 题目:编写一个MATLAB函数,实现矩阵的转置操作。
答案:可以使用`transpose`函数或`.'`操作符来实现矩阵的转置。
例如,对于一个矩阵`A`,其转置可以通过`A'`或`transpose(A)`来获得。
2. 题目:使用MATLAB求解线性方程组Ax=b,其中A是一个3x3的矩阵,b是一个3x1的向量。
答案:可以使用MATLAB内置的`\`操作符来求解线性方程组。
例如,如果`A`和`b`已经定义,求解方程组的代码为`x = A\b`。
3. 题目:编写MATLAB代码,计算并绘制函数f(x) = sin(x)在区间[0, 2π]上的图像。
答案:首先定义x的范围,然后计算对应的函数值,并使用`plot`函数绘制图像。
代码示例如下:```matlabx = linspace(0, 2*pi, 100); % 定义x的范围y = sin(x); % 计算函数值plot(x, y); % 绘制图像xlabel('x'); % x轴标签ylabel('sin(x)'); % y轴标签title('Plot of sin(x)'); % 图像标题```4. 题目:使用MATLAB编写一个脚本,实现对一个给定的二维数组进行排序,并输出排序后的结果。
答案:可以使用`sort`函数对数组进行排序。
如果需要对整个数组进行排序,可以使用`sort`函数的两个输出参数来获取排序后的索引和值。
代码示例如下:```matlabA = [3, 1, 4; 1, 5, 9; 2, 6, 5]; % 给定的二维数组[sortedValues, sortedIndices] = sort(A(:)); % 对数组进行排序sortedMatrix = reshape(sortedValues, size(A)); % 将排序后的值重新构造成矩阵disp(sortedMatrix); % 显示排序后的结果```5. 题目:编写MATLAB代码,实现对一个字符串进行加密,加密规则为将每个字符的ASCII码值增加3。
滁州学院2011/2012学年度第2学期期末考试试卷电科 专业(本科) 10 级《Matlab 及其应用》A 卷(时间120分钟)一、简答题(本大题共5小题,每题6分,共30分) 1、MATLAB 常用操作界面(Desktop)包括那四个部分?答:包括:指令窗、当前目录浏览器、工作空间浏览器、历史指令床2、Matlab 中逗号和分号的作用有什么不同?答:MATLAB 中命令使用逗号或者分号分隔,其中分号分隔不会显示运行结果3、Matlab 中Symvar 指令识别自由符号变量时,wxvzy 字母的优先次序为?答:优先次序为:x y w z v4、Matlab 中,矩阵的逆的指令是什么?答:矩阵的逆的指令为:inv(A)5、从结构上看,M 函数文件与M 脚本文件的区别? 答: M 脚本文件没有参数传递功能,但M 函数文件有此功能 二、读程题(本大题共1小题,共10分) function f=price(a) switch fix(a/100); case {0,1,2} rate=0; otherwise rate=0.05endf=a*(1-rate)运行结果price (300)=285专业: 年级/班级: 姓名: 学号:装 订 线 内 不 要 答 题三、计算题(本大题共2小题,每小题10分,共20分)1. 已知某三角形的三个边的边长分别为9、15、18,求改三角形的面积。
))()((c s b s a s s area ---=,2/)(c b a s ++=,c b a ,,代表三角形的边长。
>> a=9; >> b=15; >> c=18; >> s=(a+b+c)/2;>> area=(s*(s-a)*(s-b)*(s-c))^1/2 area =22682、求解一元六次方程018741233456=+++++x x x x x 。
matlab期末考试题及答案MATLAB期末考试题及答案一、选择题(每题2分,共20分)1. MATLAB中用于创建向量的函数是:A. vectorB. arrayC. linspaceD. ones答案:D2. 下列哪个命令可以计算矩阵的行列式?A. detB. diagC. traceD. rank答案:A3. 在MATLAB中,以下哪个选项是用于绘制三维图形的?A. plotB. plot3C. barD. scatter答案:B4. MATLAB中,用于计算向量范数的函数是:A. normB. meanC. medianD. std答案:A5. 下列哪个命令可以用于创建一个二维数组?A. array2dB. matrixC. create2dD. make2d答案:B6. MATLAB中,用于求解线性方程组的函数是:A. solveB. linsolveC. equationD. linprog答案:A7. 以下哪个函数可以用于生成随机数?A. randB. randomC. randnD. randi答案:A8. MATLAB中,用于实现循环结构的关键字是:A. loopB. forC. whileD. repeat答案:B9. 下列哪个命令可以用于绘制函数图形?A. plotB. graphC. drawD. functionplot答案:A10. MATLAB中,用于计算矩阵特征值的函数是:A. eigB. eigenvalueC. characteristicD. eigen答案:A二、简答题(每题5分,共30分)1. 简述MATLAB中矩阵的基本操作有哪些?答案:矩阵的基本操作包括矩阵的创建、矩阵的加法、减法、乘法、转置、求逆、求行列式等。
2. MATLAB中如何实现条件语句?答案:MATLAB中实现条件语句主要使用if-else结构,也可以使用switch-case结构。
3. 请解释MATLAB中的函数定义方式。
大学专业试题-Matlab期末考试及答案一、选择题(每小题2分,共22分)1. 在matlab中____C____用于括住字符串。
A.,B.;C.‘’D.“”2. 在matlab的命令窗口中执行__A_______命令,可将命令窗口中所有变量清空。
A. clearB. clcC. echo offD. cd3.下列___D____是合法变量。
A. 1_1B. a/bC.变量1D. eps4产生所有元素均为1的2行3列矩阵的命令是_A______。
A. ones(2,3)B.ones(3,2)C.eye(2,3)D.eye(3,2)5.已知a=0:4,b=1:5,下面的运算表达式出错的是_D_______。
A. a+bB. a./bC. a.*bD. a*b6. subplot(2,1,2)是指__B_______的子图。
A.两行一列的上图B.两行一列的下图C.两列一行的左图D.两列一行的右图7.在多个句柄对象中,句柄是1的应该是_C_____对象。
A.根对象B.坐标轴C.窗口D.屏幕8.使用from:step:to方式生成向量,“-3:1:3”,其中-3,1,3分别是:(B)A、步长值,结束值,开始值B、开始值,步长值,结束值C、结束值,步长值,开始值D、开始值,结束值,步长值9.i=2; a=2i; b=2*i; c=2*sqrt(-1); 程序执行后a, b, c的值分别是多少?(C )A.a=4, b=4, c=2.0000iB.a=4, b=2.0000i, c=2.0000iC.a=2.0000i, b=4, c=2.0000iD.a=2.0000i, b=2.0000i, c=2.0000i10. 下列关于脚本文件和函数文件的描述中不正确的是(B )A. 去掉函数文件第一行的定义行可转变成脚本文件;B. 函数文件可以在命令窗口直接运行;C. 脚本文件可以调用函数文件;D. 函数文件中的第一行必须以function开始;11.下列对条件语句、分支语句、固定循环次数语句、不定循环次数语句关键字排序正确的是( B)A. if else end; for end; switch case end; while end;B. if else end; switch case end; for end; while end;C. for end; if else end; while end; switch case end;D. while end; for end; switch case end; if else end;二、填空题(20分,1空2分)1. 求可逆矩阵A的逆矩阵的指令是__inv(A) __.2. A=[0 2 3 0],B=[4 5 0 0],则X=A&B的显示结果为__ 0 1 0 0___.3. Matlab中用来表示不确定值的变量是_NaN_。
一、填空题(每空1分,20分)1、MATLAB常用操作界面包括、工作空间窗口、、、内存数组编辑器、M文件编辑/调试器、帮助导航/浏览器、图形窗口等。
2、MATLAB中Inf或inf表示、NaN或nan表示、nargout表示。
3、MATLAB中逗号主要用作;用作输入量与输入量之间的分隔符;。
4、工作空间浏览器主要用于内存变量的、和。
5、MATLAB实现将全下标转换为单下标的指令为、据单下标换算出全下标的指令为。
6、二维数组的标识有、、“逻辑1”标识。
、在一个元胞数组A中寻访第2行第3列元胞元素用;寻访数组第2行第3列元胞中所存的内容用。
8、4、MATLAB中clf用于、clc用于、clear用于。
二、简答题(每题5分,共20分)1、简述MATLAB历史指令窗的主要作用。
2、简述空数组的功用。
3、简述MATLAB函数的基本结构。
4、简述绘制二维图形的一般步骤。
三、阅读程序并回答问题(每题4分,共28分)、写出下列指令运行结果。
=zeros(2,4);(:)=1:8;=[2 3 5];(s)a=[10 20 30]'(s)=Sa、写出下列指令运行结果。
=reshape(1:16,2,8)eshape(A,4,4)=[1 3 6 8 9 11 14 16]; (s)=0、写出下列指令运行结果。
=[1,2;3,4];=[-1,-2;2;1];=3;.*B*B.*AS*B4、下面的函数主要完成什么功能?function f=factor(n)f n<=1f=1;lsef=factor(n-1)*n;nd、写出下列指令运行结果。
(1,1)={'this is cell'};{1,2}={[1 2 3;4 5 6]};{2,1}=[1+2*i];{2,2}=A{1,2}{1}+(A{1,2}{1}(1,1)+A{1,2}{1}(2,2)); elldisp(A)、下面的程序完成功能是什么?=0:pi/50:4*pi;0=exp(-t/3);=exp(-t/3).*sin(3*t);lot(t,y,'-r',t,y0,':b',t,-y0,':b')label(‘\bf\it t’);label(‘\bf\it y’);rid on;四、编程题(32分)price<200 没有折扣200≤price<500 3%折扣500≤price<1000 5%折扣1000≤price<2500 8%折扣2500≤price<5000 10%折扣000≤price 14%折扣入所售商品的价格,求其实际销售价格。
大学专业试题-Matlab期末考试及答案一、填空题(一题3分,共15分)1、标点符号可以使命令行不显示运算结果。
答案:%2、x为0〜4,步长为0.1pi的向量,使用命令创建。
答案:x=0:0.1*pi:4。
3、输入矩阵A=[1 2 3;7 -5 8;9-1-7],使用全下标方式用A(2,2)取出元素“-5 ”,使用单下标方式用取出元素“-5 ”。
答案:A (5)。
4、在while表达式,语句体,End循环语句中,表达式的值__时表示循环条件为真,体语句将被执行,否则跳出该循环语句。
答案:非零。
5、要从键盘读入一个字符串并赋值给变量x,且给出提示“Hello",应使用命令—答案:x=input(‘Hello,;s')b二、选择题(一题3分,共15分)1、下列表示可以作为MATLAB的变量的是(D )A. abcd-2B. xyz_2#C. @hD. X_1_a2、如果x=1: 2 : 8,则U x(1)和x(4)分别是(B )A. 1, 8B. 1,7C. 2,8D. 2,73、指出下列错误的指令(B)。
A.symsa b;B. symsa, b;C.syms('a',’b');D. syms('a','b','positive');4、下列哪条指令是求矩阵的行列式的值(C)。
A .inv B. diag C. det D.eig5、清空Matlab工作空间内所有变量的指令是(C)。
A. clcB.clsC.clearD. clf三、程序分析题(一题10分,共20分)1、分析下面程序运行后s1,n1,s2,n2,m的值。
s1=0;s2=0;n1=0;n2=0;x=[1,-4,-8,3,10,-9,7,-3,10, 8,-5,-2,2,0 ]; m=length(x); fori=1:mif x(i)<0s1=s1+x(i); n1=n1+1; elses2=s2+x(i); n2=n2+1;end ends1,n1,s2,n2,m请回答s1,n1,s2,n2,m的结果。
滁州学院期末考试matlab试卷及答案1. 设A=[2 4 3; 5 3 1; 3 6 7],则sum(A),length(A)和size(A)的结果( D )A. [10 13 11] 9 [3 3]B. [9 9 16] 3 [3 3]C. [9 9 16] 9 [3 3]D. [10 13 11] 3 [3 3]size函数返回的是一个行向量,该行向量的第一个元素时数组的行数,第二个元素是数组的列数。
length(A)如果A为非空数组,返回行数和列数两者之间数值较大的那一个值,即相当于执行了max(size(A));如果A为空数组,则返回0;如果A是一个向量则返回A的长度.2. 下列关于脚本文件和函数文件的描述中不正确的是( B ) A. 去掉函数文件第一行的定义行可转变成脚本文件;B. 函数文件可以在命令窗口直接运行;C. 脚本文件可以调用函数文件;D. 函数文件中的第一行必须以function开始;3. 在Command Window窗口中分别输入下列命令,对应输出结果错误的是( C )A. x=[-3:2] x=[-3 -2 1 0 1 2]B. x=zeros(1,2);x>0 ans=[0 0]C.y=diag(eye(3),2)’ y=[0 0] [0]D. 3-2*rand(1,2) ans=[1.0997 2.5377]4. 对于矩阵B,统计其中大于A的元素个数,可以使用的语句是( B ) A.length(B) - length(find(B<=A)) B. sum(sum(B>A))C. length(sum(B>A))D. sum(length(B>A))5. 已知str1=’find’, str2=’fund’, str3=’I like you’,有:k1=sum(str1==str2), k2=sum(strrep(str1,’i’,’u’)==str2),k3=findstr(str3,’ke’), 则k1,k2,k3的结果分别为:( B ) A. 3, 3, 5B. 3, 4, 5C. 4, 3, 5D. 3, 4, 6str = strrep(str1, str2, str3),在 str1 中找到str2 ,替换成str3 例:T= 'Find the starting indices of the shorter string.';Q=findstr(T,'the')%在字符串T中找个出现‘the'字符串的位置Q=[6 30];%表示第6个字符和第30个字符出现’the'这个字符串6.下列哪个变量的定义是不合法的 A (A) abcd-3(B) xyz_3(C) abcdef(D) x3yz7. 下列哪条指令是求矩阵的行列式的值 C (A) inv(B) diag(C) det(D) eig8. 在循环结构中跳出循环,执行循环后面代码的命令为 B(A) return(B) break(C) continue(D) keyboard9. 清空Matlab工作空间内所有变量的指令是 C (A) clc(B) cls(C) clear(D) clf10. 用round函数四舍五入对数组[2.48 6.39 3.93 8.52]取整,结果为 C(A) [2 6 3 8] (B) [2 6 4 8] (C) [2 6 4 9] (D) [3 7 4 9]11. 已知a=2:2:8, b=2:5,下面的运算表达式中,出错的为 C(A) a'*b(B) a .*b a = [ 2 4 6 8] b= [ 2 3 4 5](C) a*b(D) a-b12. 角度x=[30 45 60],计算其正弦函数的运算为 D(A) SIN(deg2rad(x))(B) SIN(x)(C) sin(x)(D) sin(deg2rad(x))13. 下面的程序执行后array的值为 Afor k=1:10if k>6break;elsearray(k) = k;endend(A) array = [1, 2, 3, 4, 5, 6] (B) array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10](C) array =6 (D) array =10.14(i=2; a=2i; b=2*i; c=2*sqrt(-1); 程序执行后;a, b, c的值分别是多少,C(A)a=4, b=4, c=2.0000i(B)a=4, b=2.0000i, c=2.0000i (C)a=2.0000i, b=4, c=2.0000i (D)a=2.0000i, b=2.0000i, c=2.0000i4315. 求解方程x-4x+12x-9 = 0 的所有解 B(A)1.0000, 3.0000, 1.7321, -1.7321 (B)1.0000, 3.0000, 1.7321i, -1.7321i(C)1.0000i, 3.0000i, 1.7321, -1.7321 (D)-3.0000i, 3.0000i, 1.7321, -1.73211. 已知A=[0 9 6;1 3 0];B=[1 4 3;1 5 0];写出下列各指令运行的结果。
A &B 的运行结果ans=[0 1 1;1 1 0];A ./B 的运行结果ans=[0 2.25 2;1 0.6 NaN]。
2. 产生4阶全0方阵的命令为zeros(4);产生3阶全1方阵的命令为【4ones(3)】。
3. A=rand(2,5);b=size(A);c=length(A);则b和c的值分别为【5[2,5]】和【6[5]】。
4. 标点符号【7分号或 ;】可以使命令行不显示运算结果,【8百分号或%】用来表示该行为注释行。
5. 用if判断语句判断80? x >60,在MATLAB中if语言后的判断应写为【9if x<=80&x>60】。
6. 关闭所有已经打开的图像窗口的指令是【10 close all】。
6. P, Q分别是个多项式的系数矢量,求P对应的多项式的积分(对应的常数项为K),使用的命令是【11 polyint(P,K)】;求P/Q的解,商和余数分别保存在k 和r,使用的命令是【12[k,r]=deconv(P,Q)】;7. 为了使两个plot的图形在同一个坐标显示,可以使用【10hold on】命令进行图形保持。
1(叙述MATLAB的主要窗口包括哪些,其作用分别是什么, (1)命令窗口(Commend Window)——供输入命令,实现计算或绘图功能。
(2)工作空间窗口(Workspace)——用于列出数据的变量信息,包括变量名、变量字节大小变量数组大小、变量类型等内容。
(3) 当前目录浏览器(Current Directory )(Current folder 7.9版) ——显示当前目录下所有文件的文件名、文件夹类型和最后修改时间等内容。
(4 )命令历史窗口( Commend History )——显示窗口所有执行过的命令,利用该窗口,可以查看曾经执行过的命令,也可以重复利用这些命令。
2(命令文件和函数文件的主要区别,(1)命令文件是M文件中最简单的一种,是可用于自动重复执行的一组MATLAB 命令和函数组合,不需输出输入参数,用M文件可以调用工作空间已有的变量或创建新的变量。
运行过程中产生的变量都是全局变量。
建立一个命令文件等价于从命令窗口中顺序输入文件里的命令,程序不需要预先定义,只要依次将命令编辑在命令文件中,再将程序保存成为扩展名为.m的M文件即可。
运行命令文件时,只需在命令窗口键入文件名即可。
(2)如果M文件的第一个可执行行以function 开始,便是函数文件,每一个函数文件定义一个函数。
函数文件区别于命令文件之处在于命令文件的变量在文件执行完成后保留在工作空间中,而函数文件内定义的变量只在函数文件内起作用,文件执行完后即被清除。
将文件存盘,缺省状态下自动存储名为相应的函数名的(.m)文件。
这样只要接受一个输入参数便可计算返回一个输出参数,与其他MATLAB函数一样使用。
(1)命令文件是一系列命令的组合,函数文件的第一行必须用function说明;(2)命令文件没有输入参数,也不用返回参数,函数文件可以接受输入参数,也可以返回参数; (3)命令文件处理的变量为工作空间变量,函数文件处理的变量为函数内部的局部变量,也可以处理全局变量。
3(简述绘制一个三维曲面所需步骤,答案:第一步,定义x轴和y轴的取值范围;第二步,利用meshgrid函数将x轴和y轴取值范围内的X-Y平面离散化为一系列网格点; 第三步,求得函数在X-Y平面这些离散点上的函数值;第四步,利用mesh或surf函数绘制三维曲面。
4.MATLAB的变量命名有哪些规则,变量可以包括数字、字母、下划线,必须以字母开头5. 函数文件的基本结构,函数的基本结构包括函数名,输入变量,输出变量,函数体等matlab的函数的基本结构是 function 输出变量=函数名(输入变量)函数体例如function c=mysum(a,b)c=a+b;6(在进行算术运算时,数组运算和矩阵运算各有什么要求,运算符有什么区别, 答:进行数组运算的两个数组必须有相同的尺寸。
进行矩阵运算的两个矩阵必须满足矩阵运算规则,如矩阵a与b相乘(a*b)时必须满足a的列数等于b的行数。
3.4 数组运算和矩阵运算的运算符有什么区别,答:在加、减运算时数组运算与矩阵运算的运算符相同,乘、除和乘方运算时,在矩阵运算的运算符前加一个点即为数组运算,如a*b为矩阵乘,a.*b为数组乘。
7(有哪几种建立矩阵的方法,各有什么优点,可以用四种方法建立矩阵:?直接输入法,如a=[2 5 7 3],优点是输入方法方便简捷; ?通过M文件建立矩阵,该方法适用于建立尺寸较大的矩阵,并且易于修改; ?由函数建立,如y=sin(x),可以由MATLAB的内部函数建立一些特殊矩阵; ?通过数据文件建立,该方法可以调用由其他软件产生数据。
8(if语句有哪几种结构,答:(1) if—end语句(simple if statement)if表达式语句体End 进行逻辑逻辑判断,当计算的表达式结果为真(非零)时执行语句体,否则跳过if 结构。
(2)if—else--end语句if表达式语句体1;else语句体2;end当计算的表达式结果为真时执行语句体1,结果为假时执行语句体2。
例:判断学生是否通过学业。
if((attendance>=0.90) & (grade>=60)) pass=1;elsefail=1;end(1)if—elseif—end语句if表达式1 语句体1;elseif表达式2 语句体2;else 语句体3;end填空题1. ch='ABc123d4e56Fg9'; revch=ch(end:-1:1);k=find(revch>='A'&revch<='Z');revch(k)= revch (k)-('A'-'a');ch=char(revch)运行结果:ch=9gf65e4d321cba2. function f=factor(n) if n<=1f=1;elsef=factor(n-1)*n; end将上述函数保存为factor.m;并运行下述程序: s=0;for i=1:3s=s+factor(i);ends运行结果为s= 63. X=linspace(0,2*pi,5); Y=sin(X);DY=diff(Y); 向前查分 dx(i)=x(i+1)-x(i) D2Y=diff(Y,2); n阶查分D3Y=diff(Y,3);DYD2YD3Y运行结果:DY= 1 -1 -1 1D2Y= -2 0 2D3y= 2 24. s=0;a=[12,13,14;15,16,17;18,19,20;21,22,23];for k=as=s+k;enddisp(s');运行结果为: 39 48 57 665. syms x tf=x*cos(x*t); 对符号表达式求导f1=diff(f);f2=diff(f,x,2); 以x为变量,求2阶导f3=diff(f,t,3);f1f2f3运行结果:f1= cos(x*t)-x*sin(x*t)*tf2=-2*sin(x*t)*t-x*cos(x*t)*t^2f3= x^4*sin(x*t)6. P=[1 2 3];Q=[3 6 4];q=polyder(P,Q)运行结果为:q= 12 36 50 261.输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。