matlab作业题

合集下载

matlab练习题作业

matlab练习题作业

Matlab 练习题0.1窗口操作建立更大的魔方矩阵,对矩阵的各行和各列进行求和等操作。

源代码:format compactA=magic(12)sum(A)sum(A,2)trace(A)trace(rot90(A))0.2削顶全波整流正弦波为siny x,画一削顶全波整流曲线,顶部的值为3/4。

源代码:clearx=0:5:720;xx=x*pi/180;y=sin(xx);figurey(y<0)=-y(y<0);y(y>=3/4)=3/4;plot(xx,y,xx,sin(xx),'--')title('削顶的全波整流曲线','FontSize',16)grid on0.3 无穷级数的渐近线下面无穷级数右边需要取多少项才与左边值的误差小于310-?画出级数的渐近线。

2222111...6123π=+++ clearn=1;x=0;xx=[];while 1y=1/n^2;x=x+y;xx=[xx,x];if n>2000,return,endif abs(x-pi^2/6)<1e-3,break,endn=n+1;endn %显示nfigureplot(xx,'x-')text(length(xx),x,num2str(x),'FontSize',16)title('级数的渐近线','FontSize',16)grid onhold onplot([0,1000],[pi^2/6,pi^2/6],'r')0.4方格中的魔方根据魔方的阶数画方格,将魔方填入方格中。

clearn=input('请输入魔方的阶数:');a=0:90:360;aa=a*pi/180;aa=aa+pi/4;x=sqrt(2)/2*cos(aa);y=sqrt(2)/2*sin(aa);M=magic(n);figuretitle('方格中的魔方','FontSize',16)axis equalhold onfor i=1:nfor j=1:nplot(x+j,y-i)text(j,-i,num2str(M(i,j)));endend问题:转成.jpg格式后,最上面的直线没有了。

大学matlab考试题及答案

大学matlab考试题及答案

大学matlab考试题及答案大学MATLAB考试题及答案一、选择题1. MATLAB的全称是什么?A. Matrix LaboratoryB. Microprocessor Application Tool SetC. Microsoft Advanced Tool SetD. Microprocessor Application Test System答案:A2. 在MATLAB中,以下哪个命令用于绘制三维图形?A. plotB. scatterC. surfD. bar答案:C3. MATLAB中用于求解线性方程组的函数是?A. solveB. linsolveC. linprogD. fsolve答案:A二、简答题1. 简述MATLAB的基本数据类型有哪些,并给出至少两个每种类型的示例。

答案:MATLAB的基本数据类型包括数值数组、字符数组和单元数组。

数值数组可以是向量、矩阵或多维数组。

例如,向量 `v = [1 2 3]`,矩阵 `M = [1 2; 3 4]`。

字符数组是由单引号或双引号括起来的字符序列,如 `C = 'Hello'`。

单元数组可以包含不同类型的数据,如`{1, 'text', [1; 2; 3]}`。

2. 描述如何在MATLAB中实现矩阵的转置和翻转。

答案:矩阵的转置可以通过 `'T'` 来实现,例如 `A'` 表示矩阵A 的转置。

矩阵的翻转可以通过 `flip` 函数实现,例如 `flip(A)` 可以翻转矩阵A的所有行和列,`flipud(A)` 仅翻转矩阵A的行,而`fliplr(A)` 仅翻转矩阵A的列。

三、编程题1. 编写一个MATLAB函数,该函数接受一个向量作为输入,并返回向量中所有元素的和以及平均值。

```matlabfunction [sumVal, avgVal] = calculateSumAndAverage(V)sumVal = sum(V);avgVal = mean(V);end```2. 设计一个MATLAB脚本来解决以下问题:给定一个3x3的矩阵,找出其中最大的元素,并显示其位置。

MATLAB习题及参考答案经典.doc

MATLAB习题及参考答案经典.doc

习题:1, 计算⎥⎦⎤⎢⎣⎡=572396a 与⎥⎦⎤⎢⎣⎡=864142b 的数组乘积。

2, 对于B AX =,如果⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=753467294A ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=282637B ,求解X 。

3, 已知:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=987654321a ,分别计算a 的数组平方和矩阵平方,并观察其结果。

4, 角度[]604530=x ,求x 的正弦、余弦、正切和余切。

(应用sin,cos,tan.cot)5, 将矩阵⎥⎦⎤⎢⎣⎡=7524a 、⎥⎦⎤⎢⎣⎡=3817b 和⎥⎦⎤⎢⎣⎡=2695c 组合成两个新矩阵: (1)组合成一个4⨯3的矩阵,第一列为按列顺序排列的a 矩阵元素,第二列为按列顺序排列的b 矩阵元素,第三列为按列顺序排列的c 矩阵元素,即 ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡237912685574(2)按照a 、b 、c 的列顺序组合成一个行矢量,即 []2965318772546, 将(x -6)(x -3)(x -8)展开为系数多项式的形式。

(应用poly,polyvalm)7, 求解多项式x 3-7x 2+2x +40的根。

(应用roots)8, 求解在x =8时多项式(x -1)(x -2) (x -3)(x -4)的值。

(应用poly,polyvalm)9, 计算多项式9514124234++--x x x x 的微分和积分。

(应用polyder,polyint ,poly2sym)10, 解方程组⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡66136221143092x 。

(应用x=a\b)11, 求欠定方程组⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡5865394742x 的最小范数解。

(应用pinv) 12, 矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=943457624a ,计算a 的行列式和逆矩阵。

(应用det,inv)13, y =sin(x ),x 从0到2π,∆x =0.02π,求y 的最大值、最小值、均值和标准差。

MATLAB40道题与答案修正版

MATLAB40道题与答案修正版

操作方法:首先点击File —New —M-File ,输入相应代码,然后点击运行按钮即可。

P1.已知两序列[]0.8{[][5]}nx n u n u n =--,[]{1,1,1,1,1}h n =计算两序列的卷积并绘制其波形。

%function a1 for i=1:5x(i)=0.8^(i-1); endh=[1 1 1 1 1]; y=conv(x,h) m=0:8;stem(m,y,'filled')P2。

已知复指数序列(1.52)[] 1.2j nx n e +=,绘制20点该序列的实部和虚部。

n=0:19;x=1.2*exp((1.5+j*2)*n); subplot(211); stem(n,real(x)); ylabel('real part'); xlabel('n'); legend('x[n]'); subplot(212); stem(n,imag(x)); ylabel('imag part'); xlabel('n'); legend('x[n]');P3.编写长度为5的中值滤波器程序。

原始未受干扰的序列为:s[n]=3[n(0.5) ]n ,加性噪声信号d[n]为随机序列,幅度0.4,分别绘制长度为40的受干扰序列,以及中值滤波器的输出。

% Program 2_5% Illustration of Median Filtering N = 5; R = 40;a = 0.8*rand(1,R)-0.4;b = round(a); % Generate impulse noise m = 0:R-1;s =3*m.*(0.5.^m); % Generate signalx = s + b; % Impulse noise corrupted signal y = medfilt1(x,N); % Median filtering subplot(2,1,1) stem(m,x);xlabel('n');ylabel('Amplitude');title('Impulse Noise Corrupted Signal'); subplot(2,1,2) stem(m,y);xlabel('n');ylabel('Amplitude'); title('Output of Median Filter'); P4. 已知序列x1[n]={2.2,3,1.5,4.2,1.8}, x2[n]= {0.8,1,1.6,0.8},x[n]=x1[n]∗x2[n] (卷积),分别绘制序列x1[n] ,x2[n]和x [n]的波形。

matlab试题及答案

matlab试题及答案

matlab试题及答案# MATLAB试题及答案一、选择题1. MATLAB的基本数据单位是:A. 矩阵B. 向量C. 标量D. 数组答案:A2. 下列哪个命令可以用来绘制函数图形?A. `plot`B. `graph`C. `draw`D. `chart`答案:A3. MATLAB中,以下哪个是正确的矩阵转置操作?A. `transpose(A)`B. `A'`C. `A^T`D. `flip(A)`答案:B二、简答题1. 简述MATLAB中矩阵的基本操作。

答案:在MATLAB中,矩阵是最基本的数据结构,可以进行加、减、乘、除等基本运算。

矩阵的创建可以使用方括号`[]`,例如`A = [1 2;3 4]`。

矩阵的转置使用单引号`'`,例如`A'`。

矩阵的求逆使用`inv`函数,例如`inv(A)`。

2. MATLAB中如何实现循环结构?答案:MATLAB中实现循环结构主要有两种方式:`for`循环和`while`循环。

`for`循环用于已知迭代次数的情况,例如:```matlabfor i = 1:5disp(i);end````while`循环用于迭代次数未知的情况,例如:```matlabi = 1;while i <= 5disp(i);i = i + 1;end```三、计算题1. 给定矩阵A和B,请计算它们的乘积C,并求C的行列式。

A = [1 2; 3 4]B = [5 6; 7 8]答案:首先计算矩阵乘积C:```matlabC = A * B;```然后计算C的行列式:```matlabdetC = det(C);```结果为:```matlabC = [19 22; 43 50]detC = -16```2. 编写一个MATLAB函数,计算并返回一个向量的范数。

答案:```matlabfunction norm_value = vector_norm(v)norm_value = norm(v);end```四、编程题1. 编写一个MATLAB脚本,实现以下功能:- 随机生成一个3x3的矩阵。

MATLAB作业

MATLAB作业

MATLAB作业⼀、必答题:1. MATLAB系统由那些部分组成?答:MATLAB系统主要由开发环境、MATLAB语⾔、MATLAB数学函数库、图形功能和应⽤程序接⼝五个部分组成。

2. 如何启动M⽂件编辑/调试器?答:在操作界⾯上选择“建⽴新⽂件”或“打开⽂件”操作时,M⽂件编辑/调试器将被启动。

在命令窗⼝中键⼊“edit”命令也可以启动M⽂件编辑/调试器。

3. 存储在⼯作空间中的数组能编辑吗?如何操作?答:存储在⼯作空间的数组可以通过数组编辑器进⾏编辑:在⼯作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输⼊修改内容即可。

4. 在MATLAB中有⼏种获得帮助的途径?答:在MATLAB中有多种获得帮助的途径:(1)帮助浏览器:选择view菜单中的Help菜单项或选择Help菜单中的MATLAB Help菜单项可以打开帮助浏览器;(2)help命令:在命令窗⼝键⼊“help” 命令可以列出帮助主题,键⼊“help 函数名”可以得到指定函数的在线帮助信息;(3)lookfor命令:在命令窗⼝键⼊“lookfor 关键词”可以搜索出⼀系列与给定关键词相关的命令和函数(4)模糊查询:输⼊命令的前⼏个字母,然后按Tab键,就可以列出所有以这⼏个字母开始的命令和函数。

5. 有⼏种建⽴矩阵的⽅法?各有什么优点?答:(1)以直接列出元素的形式输⼊;(2)通过语句和函数产⽣;(3).在m⽂件中创建矩阵;(4)从外部的数据⽂件中装⼊。

6. 命令⽂件与函数⽂件的主要区别是什么?答:命令⽂件: M⽂件中最简单的⼀种,不需输出输⼊参数,⽤M ⽂件可以控制⼯作空间的所有数据。

运⾏过程中产⽣的变量都是全局变量。

运⾏⼀个命令⽂件等价于从命令窗⼝中顺序运⾏⽂件⾥的命令,程序不需要预先定义,只要依次将命令编辑在命令⽂件中即可。

函数⽂件:如果M⽂件的第⼀个可执⾏⾏以function开始,便是函数⽂件,每⼀个函数⽂件定义⼀个函数。

matlab20道试题及解答

matlab20道试题及解答

试题1.“数学黑洞”:任意一个4位自然数,将组成该数的各位数字重新排列,形成一个最大数和一个最小数,之后两数相减,其差仍为一个自然数。

重复进行上述运算,最终会出现一个神秘的数,请编程输出这个神秘的数。

clear;a=input('请输入一个四位正整数:');str_a=num2str(a); %将a转化为一个字符串b_min=str2double(sort(str_a)); %形成最小数b_max=str2double(sort(str_a,'descend')); %形成最大数b=b_max-b_min; %求最大数与最小数之差while (b~=a)a=b;str_a=num2str(a); %将a转化为一个字符串b_min=str2double(sort(str_a)); %形成最小数b_max=str2double(sort(str_a,'descend')); %形成最大数b=b_max-b_min; %求最大数与最小数之差endb试题2.将数字1、2、3、4、5、6填入一个2行3列的表格中,要使得每一列右边的数字比左边的数字大,每一行下面的数字比上面的数字大。

请编写程序求出按此要求可有几种填写方法。

a(1)=1;a(6)=6;count=0; %用来计数b=perms('2345'); %产生2345的全排列[m,n]=size(b);for i=1:mtemp=b(i,:);a(2)=str2double(temp(1));a(3)=str2double(temp(2));a(4)=str2double(temp(3));a(5)=str2double(temp(4));if ((a(4)>a(2))&&(a(4)>a(3))&&(a(5)>a(3)))count=count+1;c=reshape(a,2,3); %将a向量转化为2*3矩阵输出disp(c);endenddisp(['共有',num2str(count),'种填写方法']); %输出填写方法的种数试题3.编写成绩排序程序。

matlab考试题

matlab考试题

matlab考试题一、选择题1. 在MATLAB中,下列哪个命令可以用于绘制三维曲面图?A. plot3B. surfC. meshD. contour32. 如何在MATLAB中创建一个名为“myArray”的数组,其元素从1到100?A. myArray = 1:100;B. myArray = array(1:100);C. array = {1, 2, 3, ..., 100};D. array = 1:100, name = 'myArray';3. 在MATLAB中,如何计算矩阵A和矩阵B的点积?A. A * BB. A.* BC. dot(A, B)D. A + B4. 若要在MATLAB中定义一个函数,使得输入参数x的平方和x的和相加,应该如何编写该函数?A. function y = x^2 + xB. function y = sum(x^2, x)C. function y = x^2 + sum(x)D. function y = x.^2 + x5. 在MATLAB中,如何清空当前工作空间的所有变量?A. clear allB. clearC. delete allD. clear workspace二、填空题1. 在MATLAB中,使用 ________ 命令可以导入外部数据文件。

2. 要创建一个从10到20的行向量,可以使用 MATLAB 代码________。

3. 在MATLAB中,使用 ________ 函数可以计算矩阵的行列式。

4. 若要在MATLAB中绘制一个单位圆,可以使用 ________ 命令。

5. 为了在MATLAB中保存工作,可以使用 ________ 命令。

三、简答题1. 请简述MATLAB的主要功能和应用领域。

2. 描述在MATLAB中如何进行矩阵运算。

3. 说明在MATLAB中创建和使用函数的基本步骤。

4. 讨论在MATLAB中进行数据分析和可视化的常用方法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章 MATLAB环境1、MATLAB通用操作界面窗口包括哪些?命令窗口、历史命令窗口、当前目录窗口、工作空间窗口各有哪些功能?答:MATLAB通用操作界面窗口包括:命令窗口、历史命令窗口、当前目录浏览器窗口、工作空间窗口、变量编辑器窗口、M文件编辑/调试器窗口、程序性能剖析窗口、MATLAB 帮助。

命令窗口是MATLAB命令操作的最主要窗口,可以把命令窗口当做高级的“草稿纸”。

在命令窗口中可以输入各种MATLAB的命令、函数和表达式,并显示除图形外的所有运算结果。

历史命令窗口用来记录并显示已经运行过的命令、函数和表达式,并允许用户对它们进行选择、复制和重运行,用户可以方便地输入和修改命令,选择多行命令以产生M文件。

当前目录窗口用来设置当前目录,可以随时显示当前目录下的M、MKL等文件的信息,扬文件类型、文件名、最后个修改时间和文件的说明信息等,并可以复制、编辑和运行M 文件及装载MAT数据文件。

工作空间窗口用来显示所有MATLAB工作空间中的变量名、数据结构、类型、大小和字节数。

2、熟悉课本中表格1.4、1.5、1.6、1.7、1.8的内容。

3、如何生成数据文件?如何把数据文件中的相关内容输入到工作空间中,用实例进行操作。

4、在工作空间中可以通过哪些命令管理变量,写出每种语法的具体操作过程。

答:(1)把工作空间中的数据存放到MAT数据文件。

语法:save filename 变量1 变量2 ……参数。

(2)从数据文件中取出变量存放到工作空间。

语法: load filename 变量1 变量2 ……。

(3)查阅MATLAB内存变量名。

语法:who(4)、查阅MATLAB内存变量变量名、大小、类型和字节数。

语法:whos(5)、删除工作空间中的变量。

语法:clear(6)查询工作空间中是否存在某个变量。

语法:i=exist(‘X’)5、MATLAB用户文件格式有几哪种?扩展名各是什么?答:MATLAB的用户文件格式通常有以下几种:(1)程序文件,扩展名为.m。

(2)数据文件,扩展名为.mat。

(3)可执行文件,扩展名为.mex。

(4)图形文件,扩展名为.fig。

(5)模型文件,扩展名为.mdl。

6、熟悉文件管理命令的语法,特别是命令type 作用。

7、详细操作课本26页例题1.3。

第二章 MATLAB数值计算1、变量名的命名规则是什么?写出几个合理的变量。

答:MATLAB的变量命名规则:(1)变量名区分字母的大、小写。

例如,“a”和“A”是不同的变量。

(2)变量名不能超过63个字符,第63个字符后的字符被忽略。

(3)变量名必须以字母开头,变量名的组成可以是任意字母,数字或者下画线,但不能含有空格和标点符号。

(4)关键字不能作为变量名。

2、产生矩阵有哪几种方法?分别举例说明。

答:(1)通过显示元素列表输入矩阵。

例如:d=[2;3,4;5,6](2)通过语句生成矩阵。

例如:y=1:1:7(3)由函数产生特殊矩阵。

例如:a=eye(4)3、在excel表格中输入2行10列的数据,通过数据加载,输入到工作空间中,用矩阵元素的操作分别提取第1行和第2行的数据。

4、矩阵和数组的算术运算包括哪些运算?各有哪些不同点?答:(1)矩阵和数组的加,减运算。

矩阵的加,减法运算规则与数组的完全相同,运算符也完全相同。

(2)矩阵和数组的乘法运算。

矩阵的乘法运算表达式为“A*B”,表示矩阵的相乘。

矩阵A的列数必须等于矩阵B的行数,除非其中有1个标量。

数组的乘法运算表达式为“A*B”,运算符为“*”,表示数组A和B中的对应元素相乘。

5、多项式如何表示?多项式求值、求根和多项式拟合的语法各是什么?答:在MATLAB中多项式可以用长度为n+1的行向量表示为:P=[an,an-1……a1,a0],即把多项式的各项系数烽按降幂次序排放成为行向量,如果多项式中缺某幂次项,则用0代替该幂次项的系数。

多项式求值语法:y=polyval(p,x)多项式求根语法:r=roots(p)多项式拟合语法:p=polyfit(x,y,n)6、多项式一维插值有哪些类型?答:多项式一维插值是指对一个自变量的插值,interep1函数是用来进行一维插值的,其语法为:yi=interp1(x,y,xi,“method”)。

Method是插值函数的类型,“linear”为线性插值(默认)。

“nearest”为用最接近的相邻点插值。

“spline”为三次样条插值。

“cubic”为三次插值。

7、在M文件中完整地写出语句,使其产生课本中图2.5 一阶、二阶和三阶拟合曲线,并在适当位置添加图例。

解:随机产生一个一元三次多项式y=5x^3+2x^2+x+1;拟合结果如图:x1=1:10;p=[2 3 4 5];y0=polyval(p,x1);p1=polyfit(x1,y0,1);p2=polyfit(x1,y0,2);p3=polyfit(x1,y0,3);y1=polyval(p1,x1);y2=polyval(p2,x1);y3=polyval(p3,x1);plot(x1,y0,'r',x1,y1,'g',x1,y2,'-.',x1,y3,'*')legend('y1,一阶拟合','y2,二阶拟合','y3,三阶拟合',4)8、元胞数组和结构数组有哪些创建方法?答:元胞数组的创建方法:(1)直接使用{}创建。

(2)由各元胞创建。

(3)由各元朡内容创建。

结构数组的创建方法:(1)直接创建。

(2)利用struct函数创建。

9、元胞数组和结构数组的内容如何获取?答:元胞数组的内容获取:(1)取元胞数组的元素内容。

(2)取元胞数组的元素。

结构数组的获取:(1)使用点号(.)获取。

(2)使用getfield获取结构数组的数据。

(3)使用setfield设置结构数组的数据。

10、矢量积、数量积和混合积的语法各是什么?答:矢量积的语法:cross(a,b)数量积的语法:dot(a,b)混合积的语法:dot(a,cross(b,c))第四章 MATLAB图形处理1、用plot(x,y)命令绘制混合式曲线时有几种情况?分别举例说明。

答:(1)如果x是向量,而y是矩阵,则x的长度必须等于矩阵y的行数或列数必须相等。

如果x的长度与y的行数相等,则向量x与矩阵y的每列向量对应画一条曲线;如果x的长度与y的列数相等,则向量x与矩阵y的每行向量对应画一条曲线;如果y是方阵,则x和y的行数列数都相等,将向量x与矩阵y的每列向量画1条曲线。

(2)如果x是矩阵,y是向量,则y的长度必须等于x的行数或列数,绘制方法与前一种相似。

(3)如果x和y都是矩阵,则大小必须相同,将矩阵x的每列和y的每列画一条曲线。

2、熟悉本章表4.1、4.2、4.3、4.4、4.5、4.6中的内容。

3、能熟练操作课本124页中例题4.10。

x=0:0.1:2*pi;>> plot(x,sin(x))>> hold on>> plot(x,cos(x),'ro')>> title('y1=sin(x),y2=cos(x)')>> xlabel('x')>> legend('sin(x)','cos(x)',4)>> text(pi,sin(pi),'x=\pi')第五章 MATLAB程序设计1、指出脚本文件和函数文件的不同点?:脚本文件(1)多条命令的综合体(2)没有输入、输出变量(3使用MATLAB基本工作空间(4.没有函数声明行函数文件(1).常用于扩充MATLAB函数库(2).可以包含输入、输出变量(3).运算中生成的所有变量都存放在函数工作空间(4).包含函数声明行脚本文件可以理解为简单的M文件,脚本文件中的变量都是全局变量。

函数文件是在脚本文件的基础之上多添加了一行函数定义行,其代码组织结构和调用方式与对应的脚本文件截然不同。

函数文件是以函数声明行“function...”作为开始的,其实质就是用户往MATLAB函数库里边添加了子函数,函数文件中的变量都是局部变量,除非使用了特别声明。

函数运行完毕之后,其定义的变量将从工作区间中清除。

而脚本文件只是将一系列相关的代码结合封装,没有输入参数和输出参数,即不自带参数,也不一定要返回结果。

而多数函数文件一般都有输入和输出变量,并见有返回结果。

2、分别用for 循环、while循环和函数调用编写。

∑10 1)!1 21(==+=ii isumn=10;sum=0;f=1; >> for i=1:10f=f/(2*i*(2*i+1)); sum=sum+f;end>> sumsum =0.1752>> sum=0;f=1;i=1; >> while i<=10f=f/(2*i*(2*i+1)); sum=sum+f;i=i+1;end>> sumsum =0.1752。

相关文档
最新文档