matlab基础练习题(带答案)
MATLAB历年考试题目(附答案)

历年考试题目(附答案)一、填空题1、MATLAB常用操作界面包括、工作空间窗口、、、内存数组编辑器、M文件编辑/调试器、帮助导航/浏览器、图形窗口等。
2、MATLAB中Inf或inf表示、NaN或nan表示、nargout表示。
3、MATLAB中逗号主要用作;用作输入量与输入量之间的分隔符;。
4、工作空间浏览器主要用于内存变量的、和。
5、MATLAB实现将全下标转换为单下标的指令为、据单下标换算出全下标的指令为。
6、二维数组的标识有、、“逻辑1”标识。
二、简述下列命令在MATLAB中的作用1.clf %清除图对象clear %清除工作空间内的所有变量clc %清除当前屏幕上显示的所有内容,但不清除工作空间中的数据2.ceil %沿+∞方向取整factor %符号计算的因式分解3.sph2cart %球坐标变为直角坐标pow2 %2的幂4.digits(d) %设置当前的可变算术精度的位数为整数 d 位vpa(pi,100) %设置当前pi的小数位数为1005.box on %打开框状坐标轴开grid off %网格关6.logspace %对数分度向量cat %串接成高维数组7.sym2poly %符号多项式转变为双精度多项式系数向量poly2sym %双精度多项式系数转变为向量符号多项式8.plot3 %三维线图poly2str %以习惯方式显示多项式9.bar %二维直方图pie %二维饼图10.zoom on %打开图形缩放模式 edit %M文件编辑11.whos %对当前工作空间变量的信息进行列表figure %生成图形窗口12.cart2sph %直角坐标变为球坐标pol2cart % 极或柱坐标变为直角坐标13.diff %数值差分、符号微分dsolve %符号计算解微分方程14.ezplot3 %画三维曲线的简捷指令fix %向零取整factor %符号计算的因式分解三简答题1.叙述MATLAB的主要窗口包括哪些?其作用是什么?命令窗口(Commend Window)——供输入命令,实现计算或绘图功能。
matlab入门习题答案

matlab入门习题答案MATLAB入门习题答案MATLAB是一种强大的数学软件工具,广泛应用于工程、科学和计算领域。
它具有丰富的功能和灵活的编程语言,使得用户可以轻松地进行数据分析、可视化、模拟和算法开发。
在学习MATLAB的过程中,习题是一个很好的学习方法,通过练习可以加深对MATLAB的理解和掌握。
下面是一些MATLAB入门习题的答案,希望对初学者有所帮助。
1. 编写一个MATLAB程序,计算1到100之间所有奇数的和。
```matlabsum = 0;for i = 1:2:100sum = sum + i;enddisp(sum);```2. 编写一个MATLAB程序,计算一个矩阵的转置矩阵。
```matlabA = [1 2 3; 4 5 6; 7 8 9];B = A';disp(B);```3. 编写一个MATLAB程序,生成一个包含1到10的整数的向量,并计算向量中所有元素的平均值。
```matlabvec = 1:10;avg = mean(vec);disp(avg);```4. 编写一个MATLAB程序,绘制正弦函数的图像。
```matlabx = 0:0.1:2*pi;y = sin(x);plot(x, y);```通过以上习题的练习,相信大家对MATLAB的基本语法和功能有了更深入的了解。
当然,MATLAB的学习是一个持续的过程,希望大家能够坚持练习,不断提升自己的编程能力。
同时,也欢迎大家分享更多的MATLAB习题答案,让我们一起学习进步。
matlab习题及答案

matlab习题及答案Matlab习题及答案Matlab是一种强大的数学计算软件,被广泛应用于科学计算、数据分析和工程设计等领域。
在学习和使用Matlab的过程中,习题是一种非常有效的学习方式。
本文将给出一些常见的Matlab习题及其答案,帮助读者更好地掌握Matlab的使用技巧。
一、基础习题1. 计算1到100之间所有奇数的和。
解答:```matlabsum = 0;for i = 1:2:100sum = sum + i;enddisp(sum);```2. 编写一个函数,计算任意两个数的最大公约数。
解答:```matlabfunction gcd = computeGCD(a, b)while b ~= 0temp = b;a = temp;endgcd = a;end```3. 编写一个程序,生成一个5×5的随机矩阵,并计算矩阵的行和列的平均值。
解答:```matlabmatrix = rand(5);row_average = mean(matrix, 2);col_average = mean(matrix);disp(row_average);disp(col_average);```二、进阶习题1. 编写一个程序,实现插入排序算法。
解答:```matlabfunction sorted_array = insertionSort(array)n = length(array);for i = 2:nj = i - 1;while j > 0 && array(j) > keyarray(j+1) = array(j);j = j - 1;endarray(j+1) = key;endsorted_array = array;end```2. 编写一个程序,实现矩阵的转置。
解答:```matlabfunction transposed_matrix = transposeMatrix(matrix) [m, n] = size(matrix);transposed_matrix = zeros(n, m);for i = 1:mfor j = 1:ntransposed_matrix(j, i) = matrix(i, j);endendend```3. 编写一个程序,实现二分查找算法。
matlab上机练习(附答案)

1.以下两种说法对吗?(1)MATLAB进行数值的表达精度与其指令窗中的数据显示精度相同。
(2)MATLAB指令窗中显示的数据有效位数不超过七位。
2.历史指令窗所记录的内容与diary指令所产生的“日志”内容有什么不同?DIARY filename causes a copy of all subsequent command window inputand most of the resulting command window output to be appended to thenamed file. If no file is specified, the file 'diary' is used.DIARY OFF suspends it.DIARY ON turns it back on.DIARY, by itself, toggles the diary state.Use the functional form of DIARY, such as DIARY('file'),when the file name is stored in a string.3.如何把用户自己的“工作目录”永久地设置在MATLAB的搜索路径上?“位于搜索路径上的目录”与“当前目录”在MATLAB中的功用相同吗?4.如何向MATLAB工作空间输入一个含有100个左右元素的一维或二维数值数组?用直接键入法?用数组编辑器?用M文件编辑器?5.运用数组算术运算符去掉下面程序里的for/end循环:x=11:15for k=1:length(x)z(k)=x(k)^2+2.3*x(k)^0.5;endx=11:15 z1=x.^2+2.3*x.^0.56.不使用数组算术运算符,重写下面的程序代码:x=[2 1 4]z=1./(1+x.^2)x=2;k=1;while i<=4,z2(k)=1/(1+i^2);i=i+1;x=x+1;end7.某公司销售电脑打印机的价格方案如下:()如果顾客只买一台打印机,则一台的基本价格为$150。
MATLAB运算基础(第2章)答案

实验01讲评、参考答案讲评未交实验报告的同学名单数学:6人(11、12级)信科:12-04, 12-22, 13-47批改情况:问题1:不仔细,式子中出错。
问题2:提交的过程不完整。
问题3:使用语句尾分号(;)不当,提交的过程中不该显示的结果显示。
问题4:截屏窗口没有调整大小。
附参考答案:《MATLAB软件》课内实验王平实验01 MATLAB运算基础(第2章MATLAB数据及其运算)一、实验目的1. 熟悉启动和退出MATLAB 的方法。
2. 熟悉MATLAB 命令窗口的组成。
3. 掌握建立矩阵的方法。
4. 掌握MATLAB 各种表达式的书写规则以及常用函数的使用。
二、实验内容1. 数学表达式计算先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。
1.1 计算三角函数122sin 851z e=+(注意:度要转换成弧度,e 2如何给出) 示例:点击Command Window 窗口右上角的,将命令窗口提出来成悬浮窗口,适当调整窗口大小。
命令窗口中的执行过程:1.2 计算自然对数221ln(1)2z x x =++,其中2120.455i x +⎡⎤=⎢⎥-⎣⎦(提示:clc 命令擦除命令窗口,clear 则清除工作空间中的所有变量,使用时注意区别,慎用clear 命令。
应用点乘方) 命令窗口中的执行过程:1.3 求数学表达式的一组值0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e a z a a --+=++=--提示:利用冒号表达式生成a 向量,求各点的函数值时用点乘运算。
命令窗口中的执行过程:1.4 求分段函数的一组值2242011122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t =0:0.5:2.5提示:用逻辑表达式求分段函数值。
命令窗口中的执行过程:1.5 对工作空间的操作接着显示MATLAB当前工作空间的使用情况并保存全部变量提示:用到命令who, whos, save, clear, load,请参考教材相关内容。
Matlab考试题库+答案(中北大学)

Matlab考试题库+答案(中北⼤学)1、标点符号; _______可以使命令⾏不显⽰运算结果,%——⽤来表⽰该⾏为注释⾏。
2、x为0~4pi,步长为0.1pi的向量,使⽤命令_______创建。
x=0:0.1*pi:4*pi3、输⼊矩阵A=,使⽤全下标⽅式⽤A(2,2) 取出元素“-5”,使⽤单下标⽅式⽤_______取出元素“-5”。
A(5)4、符号表达式sin(2*a+t)+m中独⽴的符号变量为_______。
t5、M脚本⽂件和M函数⽂件的主要区别是M脚本⽂件没有函数定义和M函数⽂件有函数定义_______。
6. 设x是⼀维数组,x的倒数第3个元素表⽰为_______;设y为⼆维数组,要删除y的第34⾏和48列,可使⽤命令_______; _______;x(_end-2_)y(34,:)=[]y(:,48)=[]7. 将变量x以Ascii⽂本格式存储到⽂件fname.txt,应使⽤命令_________ _;save _x8. 在while 表达式, 语句体, End 循环语句中,表达式的值__ __时表⽰循环条件为真,语句体将被执⾏,否则跳出该循环语句;⾮零9.要从键盘读⼊⼀个字符串并赋值给变量x,且给出提⽰“Who is she?”,应使⽤命令_________;x=input(‘Who is she?’,’s’)_10.设A=和B=和C=均为m*n矩阵,且存在于WorkSpace中,要产⽣矩阵D=,可⽤命令________ _,计算可⽤命令________;D=(A-C)/B.^Cdet(inv(A’*B)11. 在MATLAB命令窗⼝中的“>>”标志为MATLAB的_______提⽰符,“│”标志为_______提⽰符。
命令⾏输⼊12.已知A=[1 2 3;4 5 0;7 8 9];B=[1 0 3;1 5 0;0 1 2];写出下列各指令运⾏的结果。
A+B;A.*B;A==B ;ans= [2,2,6;5,10,0;7,9,11]ans= [1,0,9;4,25,0;0,8,18]求A的下三⾓矩阵函数是_______。
matlab练习题及答案详解(附程序)

Matlab练习题及答案详解一、基础题1、下表为1)2) 把任意两点距离的表中,自己到自己的距离,转变成无穷大clcclearclose alldata=xlsread('ti1.xls');%从excel里导入数据x=data(1,:);%将data里第一行的所有列赋值给xy=data(2,:);%将data里第二行的所有列赋值给xn=length(x);%表x的长度dis=zeros(n,n);%对距离表进行初始化for i=1:nfor j=1:ndis(i,j)=sqrt((x(i)-x(j))^2+(y(i)-y(j))^2);%平面坐标距离公式endenddis(dis==0)=inf;%将距离表中为0的数值,变成无穷大redis=dis;2、按要求步骤,操作下表要求:1) 对每列进行[0,1]区间化'(min())/(max min())=--;x x x x2) 把区间化后的表的右边3列,连接在左边3列下边,构成16行3列的表;3) 把16行3列进行转置,得到3行16列的表。
然后对列进行操作,把3行16列的表变成一列,后转置成一行,得到最终的结果。
clcclearclose allx=load('ti2.txt');%从txt里导入数据big=max(x);small=min(x);%算出每列的最大最小值[m,n]=size(x);%表x的行和列的大小newx1=zeros(m,n);%对newx1进行初始化,大小和初始x一样大for i=1:nnewx1(:,i)=(x(:,i)-small(i))./(big(i)-small(i));endnewx2=zeros(2*m,n/2);%对最新的表进行初始化大小为,行为newx1的2倍,列为一半newx2(1:m,1:n/2)=newx1(1:m,1:n/2);%把左边3列不操作的值,直接赋值给newx2上边newx2(m+1:end,1:n/2)=newx1(1:m,n/2+1:end);%把右边的3列,赋值给newx2下边[p,q]=size(newx2);%表newx2的行和列的大小 newx3=zeros(p*q,1);%对newx3进行初始化 for j=1:qnewx3((j-1)*p+1:j*p,1)=newx2(:,q);%对newx3进行操作 end% newx3=reshape(newx2,[],1); renewx=newx3';%最终的结果3、数值运算1)用matlab 求下列式子极限(a) lim x → (b) 0x →2)用matlab 求下列函数的导数(a)22sin (1)y x =+ (b) arccos()(,)x f x y ye =3)用matlab 求下列式子的定积分(a) 4⎰(b) 312-⎰⎰clc clear %===求极限 %====3.1.a=== syms xy=(x^(1/2)-8)/(x^(1/3)-4);re1a=limit(y,x,64)%====3.1.b===syms xy=((x^2-2*x+4)^(1/2)-2)/x;re1b=limit(y,x,0)%===求导数%====3.2.a===syms xf=(sin(x^2+1))^2;re2a=diff(f,x)%对x求导%====3.2.b===syms x yf=y*exp(acos(x));re2bx=diff(f,x)%对x求偏导re2by=diff(f,y)%对y求偏导%===求定积分===%====3.3.a===syms xre3a=int((x+2)/(2*x+1)^(1/2),x,0,4)%一重积分%====3.3.b===syms x yre3b=int(int(y/(x^2-1),x,-2,-sqrt(2)),y,1,3)%二重积分二、提高题1、画一个正五边形,边长自定。
matlab试题及答案开卷

matlab试题及答案开卷1. MATLAB基础操作在MATLAB中,如何创建一个名为“myMatrix”的3x3矩阵,其元素从1到9按顺序排列?答案:在MATLAB中,可以使用以下命令创建名为“myMatrix”的3x3矩阵:```matlabmyMatrix = [1 2 3; 4 5 6; 7 8 9];```或者使用内置函数`magic`:```matlabmyMatrix = magic(3);```2. 矩阵运算给定两个矩阵A和B,其中A = [2 3; 4 5],B = [6 7; 8 9],计算A+B的结果。
答案:在MATLAB中,可以使用加号`+`来计算两个矩阵的和:```matlabA = [2 3; 4 5];B = [6 7; 8 9];C = A + B;```计算结果C为:```matlabC = [8 10; 12 14];```3. 向量操作创建一个从0到1的等差数列,步长为0.1。
答案:在MATLAB中,可以使用`linspace`函数或`:`操作符来创建等差数列:```matlabv = 0:0.1:1;```或者使用`linspace`函数:```matlabv = linspace(0, 1, 11);```两种方法都将得到一个包含11个元素的向量,从0开始,到1结束,步长为0.1。
4. 条件语句编写一个MATLAB脚本,判断一个给定的数n是否为素数。
答案:可以通过以下MATLAB脚本来判断一个数n是否为素数:```matlabfunction isPrime = isPrimeNumber(n)if n <= 1isPrime = false;elsefor i = 2:sqrt(n)if mod(n, i) == 0isPrime = false;return;endendisPrime = true;endend```调用此函数时,传入一个数值n,函数将返回一个布尔值,表示n 是否为素数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
……………………………………………………………最新资料推荐…………………………………………………
Matlab基础练习题
常量、变量、表达式 1、 MATLAB中,下面哪些变量名是合法的?( ) (A)_num(B)num_ (C)num-(D)-num 2、 在MATLAB中,要给出一个复数z的模,应该使用( )函数。 (A)mod(z) (B)abs(z) (C)double(z) (D)angle(z) 3、 下面属于MATLAB的预定义特殊变量的是?( ) (A)eps (B)none (C)zero(D)exp 4、 判断:在MATLAB的内存工作区中,存放一个英文字符 'a'需要占用1个字节,存放一个中文字符‘啊’需要占用2个字节。( 错,都是2个字节 ) 5、 判断:MATLAB中,i和j都是虚数单位,它们之间没有什么区别。( 对 ) 6、 判断:MATLAB中,pi代表圆周率,它等于3.14。( 错,后面还有很多位小数 ) 7、 在MATLAB中,若想计算的值,那么应该在MATLAB的指令窗中输入的MATLAB指令是__y1=2*sin(0.3*pi)/(1+sqrt(5))_。 ……………………………………………………………最新资料推荐…………………………………………………
8、 在MATLAB中,a = 1,b = i,则a占_8__个字节,b占_16_个字节,c占________字节。 9、 在MATLAB中,inf的含义是__无穷大__,nan的含义是__非数(结果不定)___。
数组 1、 在MATLAB中,X是一个一维数值数组,现在要把数组X中的所有元素按原来次序的逆序排列输出,应该使用下面的( )指令。 (A)X[end:1] (B)X[end:-1:1](C)X(end:-1:1)(D)X(end:1) 2、 在MATLAB中,A是一个字二维数组,要获取A的行数和列数,应该使用的MATLAB的命令是( )。 (A)class(A)(B)sizeof(A)(C)size(A)(D)isa(A) 3、 在MATLAB中,用指令x=1:9生成数组x。现在要把x数组的第二和第七个元素都赋值为0,应该在指令窗中输入( ) (A)x([2 7])=(0 0) (B)x([2,7])=[0,0] (C)x[(2,7)]=[0 0] (D)x[(2 7)]=(0 0) 4、 在MATLAB中,依次执行以下指令:clear;A=ones(3,4); A(:)=[-6:5];这时,若在指令窗中输入指令b=A(:,2)',那么,MATLAB输出的结果应该是( ) (A)b=-3-2-1(B)b=-2 -1 0 1 (C)b=-5 -1 3 (D)b = -5-214 ……………………………………………………………最新资料推荐…………………………………………………
5、 在MATLAB中,A = 1:9,现在执行如下指令L1 = ~(A>5),则MATLAB的执行结果应该是L1 =___1 1 1 1 1 0 0 0 0___。 6、 在MATLAB中,要求在闭区间[0,5]上产生50个等距采样的一维数组b,请写出具体的MATLAB指令___linspace(0,5,50) ___。 7、 在MATLAB中,A = [0:1/2:2]*pi,那么sin(A) = ___[0 1 0 -1 0]_____。 8、 在MATLAB中,A=[1,2,3;4,5,6;7,8,0],B=[2,1,6;8,5,2;14,2,1]。写出下面MATLAB语句执行的结果:(为节省篇幅,把矩阵写成mat2str的形式) (1) A==B[0 0 0; 0 1 0; 0 0 0] (2) A.*B[2 2 18;32 25 12;98 16 0] (3) A(:)'[1 4 7 2 5 8 3 6 0] (4) A(1,:)*B(:,3)13 9、 在MATLAB中,写出下面MATLAB语句执行的结果: (1) clear,A = ones(2,6) A = 1 1 1 1 1 1 1 1 1 1 1 1 (2) A(:) = 1:2:24 A = 1 5 9 13 17 21 ……………………………………………………………最新资料推荐…………………………………………………
3 7 11 15 19 23 (3) A([1:3:7]) ans = 1 7 13 (4) diag(diag(A)) ans = 1 0 0 7 (5) B = A(:,end:-1:1) B = 21 17 13 9 5 1 23 19 15 11 7 3 10、 请编写一段matlab程序,完成以下功能: (1) 生成一个100行,200列的二维随机数组; A=rand(100,200); (2) 找出数组A中所有大于0.49且小于0.51的元素的单下标; Idx=find(A(:)>0.49 & A(:)<0.51) (3) 数组A中满足(2)中的条件的元素有多少个? length(Idx) (4) 求出数组A中满足(2)中的条件的元素的和,并求出这些元素的平均值; sum(A(Idx)), m=mean(A(Idx)) ……………………………………………………………最新资料推荐…………………………………………………
(5) 将(4)求出的平均值赋值给数组A中满足(1)中的条件的每个元素。 A(Idx)=m;
11、 请编写一段matlab程序,完成以下功能: (1) 找出100到200之间的所有质数,将这些质数存放在一个行数组里; X=100:200; p=X(isprime(X)) (2) 求出这些质数之和; sum(p) (3) 求出100到200之间的所有非质数之和(包括100和200)。 sum(X(~isprime(X)))
12、 ,编写一段matlab程序,要求如下 (1) 在区间,每隔0.01取一数值,计算出相应的的函数值; x=0:0.01:2*pi; y=(0.7+2*cos(x)./(1+x.^2)).*sin(x) (2) 根据MATLAB计算出的数据,找出在内该函数的极小值的坐标。 [my,idx]=min(y) ……………………………………………………………最新资料推荐…………………………………………………
x(idx) 数值计算 1、 在MATLAB中,A是一个10×10数组,我们把该数组看成矩阵的话,则此矩阵的行列式值 = ___det(A)__,此矩阵的逆矩阵(如果存在的话) = _inv(A)___。(用MATLAB的函数表示) 2、 求解下列方程组:
A=[1 1 3 -1;0 1 -1 1;1 1 2 2;1 -1 1 -1]; b=[2;1;4;0]; x=A\b
A=[3 4 -7 -12;5 -7 4 2;1 0 8 -5;-6 5 -2 10]; b=[4;-3;9;-8]; xyzw=A\b
3、 求有理分式的商多项式和余多项式 n=conv([3 0 1 0],[3 0 0 0.5]); d=conv([1 2 -2],[5 2 0 1]); [q,r]=deconv(n,d) 4、 一元多项式,写出表示的MATLAB语句……………………………………………………………最新资料推荐…………………………………………………
__p=[2 0 -3 4 0]__,求的根的MATLAB语句是____roots(p)__,求时的数值的MATLAB语句是__polyval(p,4.3)___。
程序设计 1、 M脚本文件和函数文件的有什么区别? 最主要的差别是,函数有自己的独立工作区,和外界的信息交换通过输入输出参数实现;而脚本没有独立工作区,其直接使用宿主程序的工作区,并把结果留在宿主程序中。 2、 掌握下面程序设计中常用的函数及关键字: input pause warning nargin nargout for while if elseif else switch case otherwise end try catch break continue end 3、 分别用for和while循环语句计算的程序。还请写出一种避免循环的计算程序。(不要用symsum函数) K=0; for i=0:63 K=K+i; end
K=0; i=0; ……………………………………………………………最新资料推荐…………………………………………………
while i<=63 K=K+i; i=i+1; end
K = sum(2.^(0:63)) 4、 MATLAB提供了两种循环结构,一种是for循环结构,另一种是__while_循环结构。 5、 编写M函数求和 function s=mysum(n) s = sum(1:n); 6、 编写M函数求积 function p=mysum(n) p = prod(1:n); 7、 编写M函数列出从整数a到整数b之间能被3整除的奇数。 function r=odds3(a,b) r=a:b; r=r(mod(r,2)==1&mod(r,3)==0) 8、 编写M脚本列出从100到200不能被3整除同时也不能被7整除的数。 X=100:200;