MATLAB期末考试试卷及其参考答案
- 格式:docx
- 大小:31.38 KB
- 文档页数:9
大学专业试题-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’)。
二、选择题(一题3分,共15分)1、下列表示可以作为MATLAB的变量的是( D )A.abcd-2 B.xyz_2#C.@h D.X_1_a2、如果x=1:2:8,则x(1)和x(4)分别是( B )A.1,8B.1,7C.2,8D.2,73、指出下列错误的指令(B)。
A.syms a b;B.syms a,b;C.syms(‘a',’b');D.syms(‘a','b','positive');4、下列哪条指令是求矩阵的行列式的值(C)。
A.invB.diagC.detD.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);for i=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的结果。
一、填空题(每空2分,总共30分)1.已知A=[0 9 6;1 3 0];B=[1 4 3;1 5 0];写出下列各指令运行的结果。
A &B 的运行结果ans= ;A ./B 的运行结果ans= 。
2. 产生4阶全0方阵的命令为 zeros(4) ;产生3阶全1方阵的命令为 ones(3) 。
3. A=rand(2,5);b=size(A);c=length(A);则b和c的值分别为和 [2,5],[5] 。
4. 标点符号分号可以使命令行不显示运算结果,百分号用来表示该行为注释行。
5. 用if判断语句判断80≥ x >60,在MATLAB中if语言后的判断应写为 if x<=80&x>60 。
6.P, Q分别是个多项式的系数矢量,求P对应的多项式的积分(对应的常数项为K),使用的命令是 polyint(P,K) ;求P/Q的解,商和余数分别保存在k和r,使用的命令是 [k,r]=deconv(P,Q) ;7.为了使两个plot的图形在同一个坐标显示,可以使用 hold on 命令进行图形保持;可以使用 grid on 命令为图形添加网格。
8.MATLAB的工作空间中有三个变量v1, v2, v3,写出把它们保存到文件my_data.mat 中的指令 save my_data ;写出把my_data.mat文件中的变量读取到MATLAB 工作空间内的指令 load my_data 。
二、选择题(每空2分,总共20分)1.下列哪个变量的定义是不合法的 A(A) abcd-3 (B) xyz_3 (C) abcdef (D) x3yz2.下列哪条指令是求矩阵的行列式的值 C(A) inv (B) diag (C) det (D) eig3.在循环结构中跳出循环,执行循环后面代码的命令为 B(A) return (B) break (C) continue (D) keyboard4. 清空Matlab工作空间内所有变量的指令是 C(A) clc (B) cls (C) clear (D) clf5.用round函数四舍五入对数组[2.486.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]6.已知a=2:2:8, b=2:5,下面的运算表达式中,出错的为 C(A) a'*b (B) a .*b (C) a*b (D) a-b7.角度[]60x,计算其正弦函数的运算为D45=30(A) SIN(deg2rad(x)) (B) SIN(x) (C) sin(x) (D) sin(deg2rad(x))8.下面的程序执行后array的值为 ( A )for 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.9.i=2; a=2i; b=2*i; c=2*sqrt(-1); 程序执行后;a, b, c的值分别是多少?(A)a=4, b=4, c=2.0000i (C)(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.0000i10. 求解方程x4-4x3+12x-9 = 0 的所有解(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.7321三、写出程序的执行结果或写出给定要求的指令(总共35分)1.写出执行以下代码后C,D,E的值 (6分)A=[1,2,3;4:6;7:9];C=[A;[10,11,12]],D=C(1:3,[2 3])E=C(2,[1 2])2.写出执行以下代码后,MATLAB命令窗口上显示的x矩阵的值 (5分)x=[0,1,0,2,0,3,0,4];for k=1:8if x(k)==0x(k)=k;elsex(k)=2*k+1;endenddisp(x);3.创建符号函数并求解,要求写出步骤和运行结果(7分)(1)创建符号函数f=ax2+bx+c(2)求f=0的解4. 求解以下线性方程组,要求写出程序代码和运行结果(5分)2x1- 3x2+ x3+2x4=8x1+3x2+ x4=6x1- x2+ x3+8x4=17x1+ x2-2x3+2x4=55.绘制函数曲线,要求写出程序代码(12分)(1)在区间[0:2π]均匀的取50个点,构成向量π(2)在同一窗口绘制曲线y1=sin(2*t-0.3); y2=3cos(t+0.5);要求y1曲线为红色点划线,标记点为圆圈;y2为蓝色虚线,标记点为星号四、使用MATLAB语言进行编程(15分)打印出所有的水仙花数。
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。
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中的函数定义方式。
一、填空题(每空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 期末大作业(30分,每题6分)1. 积分运算(第四数值和五章符号)(1)定积分运算:分别采用数值法(quad ,dblquad )和符号运算(syms, int )一重定积分π⎰1. 数值法(quad )a) 运行代码:b) 运行结果:2. 符号运算(syms )a) 运行代码:b) 运行结果:二重定积分112200()x y dxdy+⎰⎰1.数值法(dblquad):a)运行代码:b)运行结果:2.符号运算(syms):a)运行代码:b)运行结果:(2) 不定积分运算sin dxdy ⎰⎰((x/a)+b/y) i.运行代码:ii.运行结果:2. 用符号法和数值法求解线性代数方程 (第五章和第二章)⎩⎨⎧=+=+12*22x *213*12x *a11y a a y a (1) 用syms 定义待解符号变量x,y 和符号参数a11,a12,a21,a22,用符号solve 求x,y 通解 1. 运行代码:2. 运行结果:(2) 用subs 带入a11=2,a12=4,a21=6,a22=8,求x 和y 特解,用vpa 输出有效数值4位的结果 1. 运行代码:2. 运行结果:(3) 采用左除(\)和逆乘法求解符号参数赋值后的方程 ⎩⎨⎧=+=+12*8x *63*4x *2y y1. 运行代码:2. 运行结果:3.数值法和符号法求解非线性方程组(第四数值和五章符号 )(1)采用数值法(fsolve )求解初始估计值为x0 = [-5; -5]的数值解1. 运行代码:2. 运行结果:21x 21x 21e x 2x e x x 2--=+-=-(2)符号法(solve )的符号结果用eval 或double 转化为数值结果.1. 运行代码:2. 运行结果:4. 解二阶微分方程 (第四数值和五章符号 )⎪⎩⎪⎨⎧===++6)0(',0)0(09322y y y dx dy dx y d(1)数值ode 求特解,用plot (x,y) 画t 在[0,10]范围内(x ,y )数值曲线 1. 运行代码:2. 运行结果:(2)符号运算dsolve求通解,用ezplot画t在[0,10]范围内(x,y)符号曲线1. 运行代码:2. 运行结果:5. 三维绘图(第六章)已知:x和y都在[-8,8]范围内,采用subplot(3,1,x)绘制三个子图,它们分别是用meshgrid和mesh绘制网格图、用c=contour 绘制等位线和用surf 绘制曲面图1.运行代码:2.运行结果:。
MATLAB期末考试试卷及其参考答案一、填空题(每空1分,20分)1、MATLAB常用操作界面包括、工作空间窗口、、、内存数组编辑器、M文件编辑/调试器、帮助导航/浏览器、图形窗口等。
2、MATLAB中Inf或inf表示、NaN或nan表示、nargout表示。
3、MATLAB中逗号主要用作;用作输入量与输入量之间的分隔符;。
4、工作空间浏览器主要用于内存变量的、和。
5、MATLAB实现将全下标转换为单下标的指令为、据单下标换算出全下标的指令为。
6、二维数组的标识有、、“逻辑1”标识。
7、在一个元胞数组A中寻访第2行第3列元胞元素用;寻访数组第2行第3列元胞中所存的内容用。
8、4、MATLAB中clf用于、clc用于、clear用于。
二、简答题(每题5分,共20分)1、简述MA TLAB历史指令窗的主要作用。
2、简述空数组的功用。
3、简述MATLAB函数的基本结构。
4、简述绘制二维图形的一般步骤。
三、阅读程序并回答问题(每题4分,共28分)1、写出下列指令运行结果。
A=zeros(2,4);A(:)=1:8;s=[2 3 5];A(s)Sa=[10 20 30]'A(s)=Sa2、写出下列指令运行结果。
A=reshape(1:16,2,8)reshape(A,4,4)s=[1 3 6 8 9 11 14 16];A(s)=03、写出下列指令运行结果。
A=[1,2;3,4];B=[-1,-2;2;1];S=3;A.*BA*BS.*AS*B4、下面的函数主要完成什么功能?function f=factor(n)if n<=1f=1;elsef=factor(n-1)*n;end5、写出下列指令运行结果。
ch=‘ABc123d4e56Fg9’;subch=ch(1:5)revch=ch(end:-1:1)k=find(ch>=‘a’&ch<=‘z’);ch(k)=ch(k)-(‘a’-‘A’);char(ch)6、写出下列指令运行结果。
A(1,1)={'this is cell'};A{1,2}={[1 2 3;4 5 6]};A{2,1}=[1+2*i];A{2,2}=A{1,2}{1}+(A{1,2}{1}(1,1)+A{1,2}{1}(2,2));celldisp(A)7、下面的程序完成功能是什么?t=0:pi/50:4*pi;y0=exp(-t/3);y=exp(-t/3).*sin(3*t);plot(t,y,'-r',t,y0,':b',t,-y0,':b')xlabel(‘\bf\it t’);ylabel(‘\bf\it y’);grid on;四、编程题(32分)1、1、在同一图上分别用红色实线和绿色虚线绘制y1=sin(x)和y2=cos(x)在区间[0,4*pi]的曲线,并用星号*标出两条曲线的交点以及建立图例。
(5分)2、分别在同一图形窗的不同子图绘制y=sin(t)sin(9t)和y=sin(t)sin(9t)及其包络线。
(4分)3、某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用price来表示):price<200 没有折扣200≤price<500 3%折扣500≤price<1000 5%折扣1000≤price<2500 8%折扣2500≤price<5000 10%折扣5000≤price 14%折扣输入所售商品的价格,求其实际销售价格。
(5分)4、编写程序实现f(n)=f(n-1)+f(n-2)(f(1)=1和f(2)=2)函数。
(6分)5、编写一个学生成绩管理的程序(12分)A.构造一个学生结构,包括学生的学号,姓名,课程名称(限五门),考试成绩和平均值等域;(4分)B.从键盘上,连续输入N个学生的情况,分别将这些学生的情况填入到相应的域,若域中没有值即为空或0并计算平均成绩写入到平均值域。
(4分)C.根据平均值排序,并输出学生的姓名、学号和平均成绩。
(4分)参考答案一、填空题(每空1分,20分)1、MATLAB常用操作界面包括命令窗口、工作空间窗口(浏览器)、命令历史窗口、当前目录窗口、内存数组编辑器、M文件编辑/调试器、帮助导航/浏览器、图形窗口等。
2、MATLABInf或inf表示无穷大、NaN或nan表示不是一个数、nargout表示函数输出宗量数目。
3、MATLAB中逗号主要用作要显示计算结果的指令与其后指令的分隔;用作输入量与输入量之间的分隔符;用作数组元素分隔符号。
4、工作空间浏览器主要用于内存变量的查阅、保存和编辑。
5、MATLAB实现将全下标转换为单下标的指令为Sub2ind、据单下标换算出全下标的指令为Ind2sub。
6、二维数组的标识有“全下标”标识、“单下标”标识、“逻辑1”标识。
7、在一个元胞数组A中寻访第2行第3列元胞元素用A(2,3);寻访数组第2行第3列元胞中的内容用A{2,3}。
8、MATLAB中clf用于清除图形窗、clc用于清除指令窗中显示内容、clear用于清除MATLAB工作空间中保存的变量。
二、简答题(每题5分,共20分)1、简述MATLAB历史指令窗的主要作用。
历史指令窗记录着用户在MATLAB指令窗中所输入过的所有指令。
历史记录包括:每次开启MA TLAB的时间,每次开启MA TLAB后在指令窗中运行过的所有指令。
应用功能有单行或多行指令的复制和运行、生成M文件等。
2、简述空数组的功用。
“空”数组的功用:在没有“空”数组参与的运算时,计算结果中的“空”可以合理地解释“所得结果的含义”;运用“空”数组对其他非空数组赋值,可以改变数组的大小,但不能改变数组的维数。
3、简述MATLAB函数的基本结构。
典型M函数文件的结构:函数申明(定义)行(Function declaration line)、H1行(The first help text line)、在线帮助文本(Help text)区、编写和修改记录、函数体(Function body)。
4、简述绘制二维图形的一般步骤。
绘制二维图形的一般步骤为:曲线数据准备、选定图形窗及子图位置、调用二维曲线绘图指令、设置轴的范围、坐标分格线、图形注释、图形的精细操作。
三、阅读程序并回答问题(每题4分,共28分)1、写出下列指令运行结果。
A=zeros(2,4);A(:)=1:8;s=[2 3 5];A(s)Sa=[10 20 30]'A(s)=Saans =2 3 5Sa =102030A =1 20 30 710 4 6 82、写出下列指令运行结果。
A=reshape(1:16,2,8)A =1 3 5 7 9 11 13 152 4 6 8 10 12 14 16reshape(A,4,4)ans =1 5 9 132 6 10 143 7 11 154 8 12 16s=[1 3 6 8 9 11 14 16];A(s)=0A =0 0 5 7 0 0 13 152 4 0 0 10 12 0 03、写出下列指令运行结果。
A=[1,2;3,4];B=[-1,-2;2,1];S=3;A.*BA*BS.*AS*Bans =-1 -46 4ans =3 05 -2ans =3 69 12ans =-3 -66 34、下面的函数主要完成什么功能?function f=factor(n)if n<=1f=1;elsef=factor(n-1)*n;end利用函数的递归调用,求n!。
5、写出下列指令运行结果。
ch=‘ABc123d4e56Fg9’;subch=ch(1:5)revch=ch(end:-1:1)k=find(ch>=‘a’&ch<=‘z’);ch(k)=ch(k)-(‘a’-‘A’);char(ch)length(k)subch =ABc12revch =9gF65e4d321cBAans =ABC123D4E56FG96、写出下列指令运行结果。
A(1,1)={'this is cell'};A{1,2}={[1 2 3;4 5 6]};A{2,1}=[1+2*i];A{2,2}=A{1,2}{1}+(A{1,2}{1}(1,1)+A{1,2}{1}(2,2));celldisp(A)A{1,1} =this is cellA{2,1} =1.0000 +2.0000iA{1,2}{1} =1 2 34 5 6A{2,2} =7 8 910 11 127、在同一个图中绘制两个函数,这两个函数分别是:y=e(-t/3)y0=e(-t/3)*sin(3t)其中y是用红色的细实线,而y0是用兰色的虚线绘制,t的区间是(0:4π),t的步长为π/50,t轴和y轴分别用斜粗题指示,图中有网格表示。
四、编程题1、clfx=0:pi/200:2*pi;y1=sin(x);y2=cos(x);zz=x(find(abs(y1-y2)<0.005))z=min(zz)plot(x,y1,'r-',x,y2,'g-.')hold onplot(zz,sin(zz),'*')legend('sin','cos')2、答案t=(0:pi/100:pi)';y1=sin(t)*[1,-1];y2=sin(t).*sin(9*t);t3=pi*(0:9)/9;y3=sin(t3).*sin(9*t3);subplot(1,2,1)plot(t,y1,'r:',t,y2,'b',t3,y3,'bo')subplot(1,2,2)plot(t,y2,'b')axis([0,pi,-1,1])3、答案price=input('请输入商品价格');switch fix(price/100)case {0,1} %价格小于200rate=0;case {2,3,4} %价格大于等于200但小于500rate=3/100;case num2cell(5:9) %价格大于等于500但小于1000rate=5/100;case num2cell(10:24) %价格大于等于1000但小于2500rate=8/100;case num2cell(25:49) %价格大于等于2500但小于5000rate=10/100;otherwise %价格大于等于5000rate=14/100;endprice=price*(1-rate) %输出商品实际销售价格4、答案function f=fab(n)if (n==1)f = 1;elseif (n==2)f =2;elsef = fab(n-1) + fab(n-2);end5、答案str1 = '';str2 = '';str3= '';val = cell(5,2)a=zeros(5,1);ave = 0;student = struct('Name',str1,'No',str2,'Scores',val,'Ave',ave); n = input('please input students number:');for i=1 : nstr1 = input('Name:');str2 = input('No.:');%for k=1:2% val(k,:) = input('Curriculums and Scores:');% a(k,1)=val{k,2};%end%val(1,:) = input('Curriculum:');%val(:,2) = input('Scores:');val = input('please input five Curriculums and Scores:');for k=1:5a(k,1)=val{k,2};endstudent(i).Name = str1;student(i).No = str2;student(i).Scores = val;student(i).Ave = mean(a);endfor ii= 1:(length(student)-1)iptr = ii;for jj=ii+1 : length(student)if (student(jj).Ave > student(iptr).Ave)iptr = jj;endendif ii ~=iptrtemp = student(ii);student(ii) =student(iptr);student(iptr) = temp;endendfor ii=1 : length(student)if student(ii).Ave > 80disp(student(ii).Name);disp(student(ii).Ave);endenddisp(['student name',blanks(6),'student no.',blanks(6),'student average']);disp(' ')for ii=1 : length(student)disp([student(ii).Name,blanks(20),student(ii).No,blanks(20),num2str(s tudent(ii).Ave)]);end。