-matlab基础练习题(带答案)
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 的最大值、最小值、均值和标准差。
MATLAB带答案例题
一、必做题:
1.已知典型二阶系统的传递函数为2
22210)(ωωω++=s k s s G ,试绘制当100ωπ=时,8,7,6,5,4,3,2,1=k 时的系统在单位阶跃相应,要求编制程序实现,并在同一图面中绘制要有必要的文字标志说明和图形编辑。
2.试用Simulink构建三相整流逆变电路。
要求:给出整流桥桥臂电流和电压,整流桥输出电压和逆变桥输入电压,逆变滤波以后的输出电压,并有必要的分析和说明。
第二题 、选做题
5、已知某控制系统的开环传递函数,)
9)(5()2()()(2+++=s s s s k s H s G ,要求绘制系统正反馈、负反馈时系统的根轨迹,并判断系统的稳定性有何区别。
要求编制相应的程序实现。
7、已知如图1所示的电路中,电源
电压10)(=t u s V 时,L =2H ,Ω=1R 求解
图中的电流波形。
假设初始电流
A i 2)0(=,试用Simulink 工具箱搭建模型求出电流波形。
15.用Simulink构建如图8所示的电路,其中R1=5 Ώ,R2=3 Ώ,R3=4 Ώ,R4=2 Ώ,R5=1 Ώ,求电流I。
matlab习题及答案
matlab习题及答案2. ⽤MATLAB 语句输⼊矩阵A 和B3.假设已知矩阵A ,试给出相应的MATLAB 命令,将其全部偶数⾏提取出来,赋给B 矩阵,⽤magic(8)A =命令⽣成A 矩阵,⽤上述命令检验⼀下结果是不是正确。
4.⽤数值⽅法可以求出∑=++++++==6363622284212i i S ,试不采⽤循环的形式求出和式的数值解。
由于数值⽅法是采⽤double 形式进⾏计算的,难以保证有效位数字,所以结果不⼀定精确。
试采⽤运算的⽅法求该和式的精确值。
5.选择合适的步距绘制出下⾯的图形。
(1))/1sin(t ,其中)1,1(-∈t ;(2))tan(sin )sin(tan t t -,其中),(ππ-∈t6. 试绘制出⼆元函数2222)1(1)1(1),(yx yx y x f z ++++-==的三维图和三视图7. 试求出如下极限。
(1)xxxx 1)93(lim +∞→;(2)11lim0-+→→xy xy y x ;(3)22)()cos(1lim222200y x y x ey x y x +→→++-8. 已知参数⽅程-==tt t y t x sin cos cos ln ,试求出x y d d 和3/22d d π=t x y9. 假设?-=xyt t e y x f 0d ),(2,试求222222y fy x f x f y x ??+-?? 10. 试求出下⾯的极限。
(1)-++-+-+-∞→1)2(1161141121lim 2222n n ;(2))131211(lim 2222ππππn n n n n n n ++++++++∞→ 11. 试求出以下的曲线积分。
(1)?+ls y x d )(22,l 为曲线)sin (cos t t t a x +=,)cos (sin t t t a y -=,)20(π≤≤t 。
(2)?-+++ly y y xe x e yx )dy 2(xy d )(33,其中l 为22222c y b x a =+正向上半椭圆。
MATLAB习题及参考答案
习题: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 的最大值、最小值、均值和标准差。
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基础练习题及答案
第1章MATLAB基础1.4 MATLAB操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上?答:在MATLAB操作桌面上有五个窗口。
在每个窗口的右上角有两个小按钮,一个是关闭窗口的Close 按钮,一个是可以使窗口成为独立窗口的Undock按钮,点击Undock按钮就可以使该窗口脱离桌面成为独立窗口。
在独立窗口的Desktop菜单中选择Dock...项就可以将独立的窗口重新放置到桌面上。
1.5 如何启动M文件编辑/调试器?答:在操作桌面上选择“建立新文件”或“打开文件”操作时,M文件编辑/调试器将被启动。
在命令窗口中键入edit命令时也可以启动M文件编辑/调试器。
1.6 存储在工作空间中的数组能编辑吗?如何操作?答:存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可。
1.7 命令历史窗口除了可以观察前面键入的命令外,还有什么用途?答:命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中。
1.8 如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有什么区别?答:当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file 菜单中的Set Path菜单项来完成。
在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被MATLAB运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上。
1.9 在MATLAB中有几种获得帮助的途径?答:(1)帮助浏览器:选择view菜单中的Help菜单项或选择Help菜单中的MATLAB Help菜单项可以打开帮助浏览器。
MATLAB习题及参考答案
习题:1, 计算⎥⎦⎤⎢⎣⎡=572396a 与⎥⎦⎤⎢⎣⎡=864142b 的数组乘积。
2, 对于B AX =,如果⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=753467294A ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=282637B ,求解X 。
3, 已知:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=987654321a ,分别计算a 的数组平方和矩阵平方,并观察其结果。
4, 角度[]604530=x ,求x 的正弦、余弦、正切和余切。
(应用sin,cos,5, 将矩阵⎥⎦⎤⎢⎣⎡=7524a 、⎥⎦⎤⎢⎣⎡=3817b 和⎥⎦⎤⎢⎣⎡=2695c 组合成两个新矩阵: (1)组合成一个43的矩阵,第一列为按列顺序排列的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 =,求y 的最大值、最小值、均值和标准差。
matlab简单编程21个题目及答案
1、设⎥⎦⎤⎢⎣⎡++=)1(sin35.0cos2xxxy,把x=0~2π间分为101点,画出以x为横坐标,y为纵坐标的曲线。
第一题的matlab源程序:①考虑cos(x)为一个整体,然后乘以中括号里面的全部x=0:2*pi/100:2*pi; %x的步长以及范围从0到2*pi y=cos(x).*(0.5+3*sin(x)./(1+x.^2)); %y的表达式plot(x,y)%画出图形图如下:②考虑对整体求解cos,先求x乘以括号中的部分x=0:2*pi/100:2*pi; %x的步长以及范围从0到2*pi y=cos(x.*(0.5+3*sin(x)./(1+x.^2))); %y的表达式plot(x,y) %画出图形图如下:2、产生8×6阶的正态分布随机数矩阵R1, 求其各列的平均值和均方差。
并求该矩阵全体数的平均值和均方差。
第二题的matlab源程序如下:R1=randn(8,6) %产生正态分布随机矩阵R1 =1.0933 -0.7697 1.5442 -0.1924 1.4193 0.21571.1093 0.3714 0.0859 0.8886 0.2916 -1.1658-0.8637 -0.2256 -1.4916 -0.7648 0.1978 -1.14800.0774 1.1174 -0.7423 -1.4023 1.5877 0.1049-1.2141 -1.0891 -1.0616 -1.4224 -0.8045 0.7223-1.1135 0.0326 2.3505 0.4882 0.6966 2.5855-0.0068 0.5525 -0.6156 -0.1774 0.8351 -0.66691.5326 1.1006 0.7481 -0.1961 -0.2437 0.1873aver=(sum(R1(1:end,1:end)))./8 %产生各行的平均值aver =0.0768 0.1363 0.1022 -0.3473 0.4975 0.1044a=std(R1(1:end,1:end)) %产生各行的均方差也就是标准差a =1.0819 0.8093 1.3456 0.8233 0.8079 1.2150aver1=(sum(R1(:)))./48 %全体数的平均值aver1 =0.0950b=std(R1(:)) %全体数的均方差即标准差b =1.01033、设x=rcost+3t,y=rsint+3,分别令r=2,3,4,画出参数t=0~10区间生成的x~y 曲线。
Matlab考试题库+标准答案
Matlab考试题库+标准答案Matlab考试题库+答案————————————————————————————————作者:————————————————————————————————⽇期:3 填空题 1、标点符号; %—⽤来表⽰该⾏为注释⾏。
可以使命令⾏不显⽰运算结果,2、x 为0 ~4pi ,步长为0.1pi 的向量,使⽤命令 x=0:0.1*pi:4*pi 创建。
3、输⼊矩阵A= ,使⽤全下标⽅式⽤A(2,2)取出元素“-5 ”,使⽤单下标⽅式⽤A(5)取出元素“-5 ”。
4、符号表达式sin(2*a+t)+m 中独⽴的符号变量为 t 。
5、M 脚本⽂件和M 函数⽂件的主要区别是M 脚本⽂件没有函数定义和M 函数⽂件有函数定义_______。
6. 设x 是⼀维数组,x 的倒数第3个元素表⽰为x(_end-2_)设y 为⼆维数组,要删除y 的第34⾏和48列,可使⽤命令y(34,:)=[] ;y(:,48)=[];7. 将变量x 以Ascii ⽂本格式存储到⽂件fname.txt ,应使⽤命令 save _x ;8. 在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.^C ,计算可⽤命令det(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];写出下列各指令运⾏的结果。
(完整版)matlab基础练习题(带答案)
Matlab 基础练习题常量、变量、表达式1、 MATLAB 中,下面哪些变量名是合法的?( )(A )_num (B )num_ (C )num- (D )-num 2、 在MA TLAB 中,要给出一个复数z 的模,应该使用( )函数。
(A )mod(z) (B )abs(z) (C )double(z) (D )angle(z) 3、 下面属于MATLAB 的预定义特殊变量的是?( )(A )eps (B )none (C )zero (D )exp4、 判断:在MA TLAB 的内存工作区中,存放一个英文字符 'a' 需要占用1个字节,存放一个中文字符‘啊’需要占用2个字节。
( 错,都是2个字节 )5、 判断:MA TLAB 中,i 和j ( 对 )6、 判断:MA TLAB 中,pi 代表圆周率,它等于3.14。
( 错,后面还有很多位小数 )7、 在MA TLAB 中,若想计算的51)3.0sin(21+=πy 值,那么应该在MA TLAB 的指令窗中输入的MA TLAB 指令是__y1=2*sin(0.3*pi)/(1+sqrt(5))_。
8、 在MA TLAB 中,a = 1,b = i ,则a 占_8__个字节,b 占_16_个字节,c 占________字节。
9、 在MA TLAB 中,inf 的含义是__无穷大__,nan 的含义是__非数(结果不定)___。
数组1、 在MA TLAB 中,X 是一个一维数值数组,现在要把数组X 中的所有元素按原来次序的逆序排列输出,应该使用下面的( )指令。
(A )X[end:1] (B )X[end:-1:1] (C )X (end:-1:1) (D )X(end:1) 2、 在MA TLAB 中,A 是一个字二维数组,要获取A 的行数和列数,应该使用的MATLAB的命令是( )。
(A )class(A) (B )sizeof(A) (C )size(A) (D )isa(A)3、 在MATLAB 中,用指令x=1:9生成数组x 。
MATLAB基础习题第五章习题答案
(1)如果当前时间为 7-8 点则提醒用户,该吃早饭了; (2)如果当前时间为 9-11 点则提醒用户,该学习了; (3)如果当前时间为 12-14 点则提醒用户,该午休了; (4)如果当前时间为 14-17 点则提醒用户,该锻炼了; 答: %%程序为:remind.fig、remind.m
6.求解六元线性方程组: (1)方程组的系数矩阵由用户通过键盘输入; (2)得到系数矩阵后给出方程的解; (3)程序要具有友好性 答:
%% %该模块实现的功能是:求解六元线性方程组,方程组的系数矩阵由用户通过键盘输入;得到系数矩阵后给 出方程的解; clc; clear all; close all; %% %方程输入模块 x=inputdlg({'第一个方程系数','第二个','第三个','第四个','第五个','第六个'}); A=cell2mat(x); %% y=inputdlg({'第一个方程等号右边数','第二个','第三个','第四个','第五个','第六个'});
you=input('请做出你的选择,石头(1) ,剪刀(2) ,布(3) : '); end disp('您的选择是: '); disp(b(2*you-1:2*you)); compute=ceil(3*rand(1,1)); disp('电脑的选择是:'); disp(b(2*compute-1:2*compute)); %% %%输赢判断模块 %如果电脑与选手出的一样,则显示平手,否则根据石头剪刀布的规则来判断输赢 if you==compute disp('平手'); end switch(you-compute) case{1,-2} disp('您输了'); case{-1,2} disp('您赢了'); end %% %是否继续判别模块 n=input('是否继续玩该游戏?否(0) ,是(1)'); while n~=0&n~=1 disp('您输入的不是正确数字,请正确输入'); n=input('是否继续玩该游戏?否(0) ,是(1)'); end end >> 请选择,石头(1) ,剪刀(2) ,布(3) : 1 您的选择是: 石头 电脑的选择是: 、剪 您赢了 是否继续玩该游戏?否(0) ,是(1)1 请选择,石头(1) ,剪刀(2) ,布(3) : 2 您的选择是: 、剪 电脑的选择是: 石头 您输了 是否继续玩该游戏?否(0) ,是(1)0 >> 5.编写一个日程提醒程序实现如下功能:
MATLAB习题及参考答案
2 9 0 1310,解方程组3 4 11 x 6。
(应用x=a\b)2 2 6 611,求欠定方程组294 73 54x68的最小范数解。
(应用pinv)5习题:6 9 3 2 4 1与b 的数组乘积。
2 7 5 4 6 81,计算a2, 对于AX B,如果A 3726,求解X。
283,已知:a 1 2 34 5 6,分别计算a的数组平方和矩阵平方,并观察其结果。
7 8 94,角度x 30 45 60,求x的正弦、余弦、正切和余切。
(应用sin,cos,4 2 7 15 95,将矩阵a 、b 和c 组合成两个新矩阵:5 7 8 36 2(1)组合成一个4 3的矩阵,第一列为按列顺序排列的a矩阵元素,第二列为按列顺序排列的元素,第三列为按列顺序排列的c矩阵元素,即b矩阵4 7 55 8 62 1 97 3 2(2)按照a、b、c的列顺序组合成一个行矢量,即4527781356926,将(x-6)(x-3)(x-8)展开为系数多项式的形式。
(应用poly,polyvalm)7,求解多项式X3-7X2+2X+40的根。
(应用roots)8,求解在x=8 时多项式(x-1)( x-2) ( x-3)( x-4)的值。
(应用poly,polyvalm)9, 计算多项式4x412x314x25x 9的微分和积分。
(应用polyder,polyint ,poly2sym)2 2计算表达式z 10 x 3 y 5 e x y 的梯度并绘图。
(应用meshgrid, gradient, con tour, holdon, quiver)15,用符号函数法求解方程a t 2+b*t +c=0。
(应用solve )16,用符号计算验证三角等式:(应用syms,simple )用 syms,ezplot)用 plot,title,text,legend)24, x= [66 49 71 56 38] ,绘制饼图,并将第五个切块分离出来。
MatLab考试题题库(必做题)(带答案)
MatLab考试题题库(必做题)(带答案)一,1.请登陆美国 MathWorks 公司的 (.mathworks.),查看看现在大概有多少本 MATLAB-based books (以 MATLAB 为基本软件,来说明各个专业领域的教科书或工具书)。
哪一个领域的MATLAB-based books 最多?中文书共有几本?答:1612本,数学方面的最多,中文书共有37本。
2.请在 MATLAB中直接输入下列常数,看它们的值是多少:a.ib.jc.epsd.infe.nanf.pig.realmaxh.realmin依次解为:ans = 0 + 1.0000i ans = 0 + 1.0000i ans =2.2204e-016 ans =Inf ans = NaN ans =3.1416 ans =1.7977e+308 ans =2.2251e-3083.试写一函数 regPolygon(n),其功能为画出一个圆心在 (0, 0)、半径为 1 的圆,并在圆画出一个接正 n 边形,其中一顶点位于 (0, 1)。
例如 regPolygon(8) 可以画出如下之正八边型:解:新建regPolygon.m文件如下:function y=regPolyfon(n)n=8;%要画的n边形R=1; %圆的半径t=0:0.01:2*pi;x=R*cos(t);y=R*sin(t);m=linspace(pi/2,5/2*pi,n+1);xz=R*cos(m);yz=R*sin(m);hold onplot(x,y,xz,yz);axis 'equal';4.一条参数式的曲线可由下列方程式表示:x = sin(t), y = 1 - cos(t) + t/10当 t 由 0 变化到 4*pi 时,请写一个 MATLAB 的脚本 plotParam.m,画出此曲线在 XY 平面的轨迹。
解:新建plotParam.m:t = linspace(0, 4*pi);x = sin(t);y = 1-cos(t)+t/10;plot(x, y, '-o');5.当一个小圆轮沿着一条曲线行进时,轮缘任一点的轨迹就会产生变化丰富的摆线。
MATLAB习题及参考答案
2 9 0 1310,解方程组3 4 11 x 6。
(应用x=a\b)2 2 6 611,求欠定方程组294 73 54x68的最小范数解。
(应用pinv)5习题:6 9 3 2 4 1与b 的数组乘积。
2 7 5 4 6 81,计算a2, 对于AX B,如果A 3726,求解X。
283,已知:a 1 2 34 5 6,分别计算a的数组平方和矩阵平方,并观察其结果。
7 8 94,角度x 30 45 60,求x的正弦、余弦、正切和余切。
(应用sin,cos,4 2 7 15 95,将矩阵a 、b 和c 组合成两个新矩阵:5 7 8 36 2(1)组合成一个4 3的矩阵,第一列为按列顺序排列的a矩阵元素,第二列为按列顺序排列的元素,第三列为按列顺序排列的c矩阵元素,即b矩阵4 7 55 8 62 1 97 3 2(2)按照a、b、c的列顺序组合成一个行矢量,即4527781356926,将(x-6)(x-3)(x-8)展开为系数多项式的形式。
(应用poly,polyvalm)7,求解多项式X3-7X2+2X+40的根。
(应用roots)8,求解在x=8 时多项式(x-1)( x-2) ( x-3)( x-4)的值。
(应用poly,polyvalm)9, 计算多项式4x412x314x25x 9的微分和积分。
(应用polyder,polyint ,poly2sym)2 2计算表达式z 10 x 3 y 5 e x y 的梯度并绘图。
(应用meshgrid, gradient, con tour, holdon, quiver)15,用符号函数法求解方程a t 2+b*t +c=0。
(应用solve )16,用符号计算验证三角等式:(应用syms,simple )用 syms,ezplot)用 plot,title,text,legend)24, x= [66 49 71 56 38] ,绘制饼图,并将第五个切块分离出来。
MATLAB习题及参考答案
习题: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 的最大值、最小值、均值和标准差。
MATLAB习题及答案
填空题1. MATLAB于1984年由美国Mathworks公司推出,其后每年更新(两次。
2. MATLAB是一种以(矩阵)运算为基础的交互式程序设计语言。
3. MATLAB具有卓越的数值计算能力和符号计算、文字处理、可视化建模仿真和实时控制等众多功能,其每个变量代表一个(矩阵),每个元素都看作(复数)。
4.通过命令(help)、(lookfor),可以查找所有命令或函数的使用方法。
5.执行语句a=1:2:10,得到的一维数组是(1 3 5 7 9).6.执行语句b=linspace(1,10,10)后,一维数组b包含(10)个元素,最大值是10)7.函数rem()的功能是取(余)数。
8.若p=[1 0 0;1 1 0],则p|〜p=([1 1 1;1 1 1]).(注:填空时请用本题的p的方式表示结果)9.若p=[1 0 0;1 1 0],则all(p)=([1 0 0]).10.矩阵的加减运算,要求相加减的矩阵阶数相同。
若A=[1 2 3 4;2 3 1 8],则执行语句:[n,m]=size(A),则n=(2 ),m=(4 ).11.对于一维矩阵,求其长度的函数是(length()).12.数组和数组之间的运算,尤其是对于乘除运算和乘方运算,如果采用点方式进行计算,表明是数组的(元素)之间的运算关系。
13.求矩阵运算A*B时,要求在维度上,A的(列)数与B的(行)数相等。
二、判断题1.MATLAB只有一种数据类型,一种标准的输入输出语句,不需编译,可直接运行。
(对2.MATLAB的特殊常量是一些预选定义好的数值变量。
(对3.MATLAB变量名不区分大小写。
(错4.i是特殊常量。
(对5.NAN是非数。
(对6.MATLAB中所有的变量都表示一个矩阵或一个向量。
(对7.MATLAB中变量不需要先定义后使用,会自动根据实际赋值的类型对变量类型进行定义。
(对8.clc命令可以从内存中删除一个、多个和所有变量。
(完整版)matlab上机练习题答案
(完整版)matlab 上机练习题答案1.计算⎥⎦⎤⎢⎣⎡=572396a 与⎥⎦⎤⎢⎣⎡=864142b 的数组乘积>〉 a=[6 9 3;2 7 5]; 〉〉 b=[2 4 1;4 6 8]; 〉〉 a 。
*b ans =12 36 3 8 42 402。
对于B AX =,如果⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=753467294A ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=282637B ,求解X 。
〉〉 A=[4 9 2;7 6 4;3 5 7]; 〉> B=[37 26 28]’; >〉 X=A\B X = -0.5118 4.0427 1.33183。
⎥⎦⎤⎢⎣⎡-=463521a ,⎥⎦⎤⎢⎣⎡-=263478b ,观察a 与b 之间的六种关系运算的结果 >〉 a=[1 2 3;4 5 6]; 〉> b=[8 –7 4;3 6 2]; >〉 a 〉b ans =0 1 0 1 0 1 〉> a 〉=b ans =0 1 0 1 0 1 >> a 〈b ans =1 0 1 0 1 0 〉> a<=b ans =1 0 1 0 1 0 >〉 a==b ans =0 0 0 0 0 0 〉〉 a~=b ans =1 1 1 1 1 14计算多项式乘法(x 2+2x +2)(x 2+5x +4)>> c=conv ([1 2 2],[1 5 4]) c =1 7 16 18 8 5计算多项式除法(3x 3+13x 2+6x +8)/(x +4) 〉〉 d=deconv ([3 13 6 8],[1 4]) d =3 1 26求欠定方程组⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡5865394742x 的最小范数解〉〉 a=[2 4 7 4;9 3 5 6]; 〉> b=[8 5]’; 〉> x=pinv (a )*b x =—0.2151 0.4459 0。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Matlab 基础练习题常量、变量、表达式1、 MATLAB 中,下面哪些变量名是合法的?( )(A )_num (B )num_ (C )num- (D )-num 2、 在MA TLAB 中,要给出一个复数z 的模,应该使用( )函数。
(A )mod(z) (B )abs(z) (C )double(z) (D )angle(z) 3、 下面属于MATLAB 的预定义特殊变量的是?( )(A )eps (B )none (C )zero (D )exp4、 判断:在MA TLAB 的内存工作区中,存放一个英文字符 'a' 需要占用1个字节,存放一个中文字符‘啊’需要占用2个字节。
( 错,都是2个字节 )5、 判断:MA TLAB 中,i 和j ( 对 )6、 判断:MA TLAB 中,pi 代表圆周率,它等于3.14。
( 错,后面还有很多位小数 )7、 在MA TLAB 中,若想计算的51)3.0sin(21+=πy 值,那么应该在MA TLAB 的指令窗中输入的MA TLAB 指令是__y1=2*sin(0.3*pi)/(1+sqrt(5))_。
8、 在MA TLAB 中,a = 1,b = i ,则a 占_8__个字节,b 占_16_个字节,c 占________字节。
9、 在MA TLAB 中,inf 的含义是__无穷大__,nan 的含义是__非数(结果不定)___。
数组1、 在MA TLAB 中,X 是一个一维数值数组,现在要把数组X 中的所有元素按原来次序的逆序排列输出,应该使用下面的( )指令。
(A )X[end:1] (B )X[end:-1:1] (C )X (end:-1:1) (D )X(end:1) 2、 在MA TLAB 中,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、 在MA TLAB 中,依次执行以下指令: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 -2 1 45、 在MA TLAB 中,A = 1:9,现在执行如下指令L1 = ~(A>5),则MATLAB 的执行结果应该是L1 =___ 1 1 1 1 1 0 0 0 0___。
6、在MA TLAB中,要求在闭区间[0,5]上产生50个等距采样的一维数组b,请写出具体的MATLAB指令___linspace(0,5,50) ___。
7、在MA TLAB中,A = [0:1/2:2]*pi,那么sin(A) = ___[0 1 0 -1 0]_____。
8、在MA TLAB中,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) 139、在MA TLAB中,写出下面MA TLAB语句执行的结果:(1)clear,A = ones(2,6)A =1 1 1 1 1 11 1 1 1 1 1(2)A(:) = 1:2:24A =1 5 9 13 17 213 7 11 15 19 23(3)A([1:3:7])ans =1 7 13(4)diag(diag(A))ans =1 00 7(5) B = A(:,end:-1:1)B =21 17 13 9 5 123 19 15 11 7 310、请编写一段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、 22cos 0.7sin (1)x y x x ⎡⎤=+⎢⎥+⎣⎦,编写一段matlab 程序,要求如下(1) 在[0,2]π区间,每隔0.01取一x 数值,计算出相应的y 的函数值;x=0:0.01:2*pi;y=(0.7+2*cos(x)./(1+x.^2)).*sin(x)(2) 根据MATLAB 计算出的数据,找出在[0,2]π内该函数的极小值的坐标。
[my,idx]=min(y) x(idx)数值计算1、 在MA TLAB 中,A 是一个10×10数组,我们把该数组看成矩阵的话,则此矩阵的行列式值 = ___det(A)__,此矩阵的逆矩阵(如果存在的话) = _inv(A)___。
(用MATLAB 的函数表示) 2、 求解下列方程组:1234234123412343212240x x x x x x x x x x x x x x x ++-=⎧⎪-+=⎪⎨+++=⎪⎪-+-=⎩34712457423859652108x y z w x y z w x z w x y z w +--=⎧⎪-++=-⎪⎨+-=⎪⎪-+-+=-⎩ A=[1 1 3 -1;0 1 -1 1;1 1 2 2;1 -1 1 -1];b=[2;1;4;0]; x=A\bA=[3 4 -7 -12;5 -7 4 2;1 0 8 -5;-6 5 -2 10]; b=[4;-3;9;-8]; xyzw=A\b3、 求有理分式()()()()3323230.522521xx x R xx x x ++=+-++的商多项式和余多项式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、 一元多项式42234p x x x =-+,写出表示p 的MATLAB 语句__p=[2 0 -3 4 0]__,求0p =的根的MA TLAB 语句是____ roots(p)__,求4.3x =时p 的数值的MA TLAB 语句是__ 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 循环语句计算632i i K ==∑的程序。
还请写出一种避免循环的计算程序。
(不要用symsum 函数) K=0; for i=0:63 K=K+i; endK=0; i=0; while i<=63 K=K+i; i=i+1; endK = sum(2.^(0:63))4、 MATLAB 提供了两种循环结构,一种是for 循环结构,另一种是__while _循环结构。
5、 编写M 函数求和123s n =++++function s=mysum(n) s = sum(1:n); 6、 编写M 函数求积123p n =⨯⨯⨯⨯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;X(mod(X,3)~=0&mod(X,7)~=0)9、 一张纸厚0.06mm 且足够大,试问将纸对折多少次,其厚度将超过10000m ?按题意,就是要求2^n * 0.06E-3 >= 10000,所以 n = ceil(log(10000/0.06e-3)/log(2))10、 编写MATLAB 脚本输出“水仙花数”及水仙花数的个数。
所谓“水仙花数”是一个3位数,其各位数字的立方和等于该数本身。
例如333153153=++。
c=0;for n=100:999m=[fix(n/100) fix(mod(n,100)/10) mod(n,10)]; if n==sum(m.^3),fprintf('%i = %i^3 + %i^3 + %i^3\n',n,m); c=c+1; end endfprintf('\n 共%i 个水仙花数\n',c)输出结果:153 = 1^3 + 5^3 + 3^3 370 = 3^3 + 7^3 + 0^3 371 = 3^3 + 7^3 + 1^3 407 = 4^3 + 0^3 + 7^3共4个水仙花数绘图1、 MATLAB 中,绘制三维曲面图的函数是( )(A )surf (B )plot (C )subplot (D )plot3 2、 MATLAB 中,要绘制三维空间曲线,应该使用( )函数。