当前位置:文档之家› MATLAB与仿真上机练习题目

MATLAB与仿真上机练习题目

MATLAB与仿真上机练习题目
MATLAB与仿真上机练习题目

MATLAB 与仿真练习

实验1:

橡皮球从一个高度为0h 的高处,以初速度0v 下落到地面,其高度h 、速度v 与时间t 的关系由下式给出:

2

001()2

h t gt v t h =

++ (1) 0()v t gt v =+ (2)

其中g 为重力加速度(-9.81m/s 2)。用matlab 程序编写,t 从0到500,以1为间隔,并绘出图像。0v 、0h 应由键盘输入。

一个RLC 振荡电路的负载公式是

0R V =

其中,2f ωπ=,f 为频率,单位是hz 。假设0.1L mH =,0.25C nF =,

50R =Ω,010V mV =。

1. 绘制R V 与f 相关的图形,并根据图形给出f 为何值时,R V 取最大值,并计算最大值是多少?此时的f 成为谐振频率0f

2. 若接收频率f 大于0f 的10%,R V 为多少?

3. 若R V 为R V 最大值的一半,则此时接收频率f 为多少?

1.请实现以下分段函数

22

220,00,0(,)0,00,0

x y x y x y x y f x y x y x y x y x y +≥≥??+≥

=?+<≥??+<

(2). 用逻辑关系式实现

绘制(,)f x y 与,x y 的图像,,x y 从-4到4,步长为0.1。

2. 求以下一元二次方程的解:20ax bx c ++= 要求(1)a 、b 、c 由键盘输入

(2)输出的时候区分相同的根、实数根和复数根,即先输出“该二元一次方程具有相同的实数根/复数根/两个不同/实数根/复数根”,再输出具体的值。

实验4:

自定义一个函数mymax ,实现matlab 函数max 的功能,要求输出一个参数时,则输出最大值;若要求输出两个参数,输出最大值和最大值的位置;若要求输出其他参数,则报错。 1. 若输入向量为一个常数,则输出该数本身;

2. 若输入向量为一维(行向量或者列向量),则输出最大值;

3. 若输入向量为二维,则输出每一列的最大值

4. 若输入向量为三维以上,则输出每一按照列取出的维度的最大值(课后思考)

实验5:

对一组测量数据t=[0,0.2,0.4,1.3,5.6]',y=[0.8,0.7,0.6,0.5,0.2]',用以下函数来拟合这组数据:123()cos t y t c c e c t -=++,画出拟合结果,并给出

1c 2c 3c 的值。

实验6:

对正弦波)**2sin(t π,完成如下任务:

1.对该正弦波一个周期采样1024点,画出波形;

2.对每个采样点量化成10位,并按照二进制补码进行编码;

3.将编码后的1024个样点保存在sample1024.txt文件中;

提示:

正弦波的处理过程如下:

采样:将正弦波一个周期[0,2*pi],采样1024点,采样后的数据是浮点数,数据范围是[-1,1];

量化:将采样后的数据从浮点型转换成定点型,即转换成10bit整型数,数据范围将变成[-512,511];

编码:将量化后的10bit整型数按照二进制补码规则进行编码;

实验结果

实验1:

\work\xiangpiqiu.m

clc

clear all;

%%%%%%%%%%%%%%%%%

%v0=input('请输入初始速度v0');

%h0=input('请输入初始高度h0');

%以正上方为正速度,以下方为负速度

v0=10;

h0=50;

g=-9.81;

t=0:0.01:50; %以0.01为间隔,共500s

% h=0.5.*g.*t.^2+v0*t+h0;%离地面距离h

t1=roots([0.5.*g,v0,h0]);%当地面距离为0,即第一次落地时所需时间t1

t11=min(t1(t1>0));%对求解的根t做如下处理:小于等于0的t舍弃,大于0的t取最小值,即第一次落地时真正的时间t11

v1=g.*t11+v0;%即第一次落地时的速度v1

%%%%%%%%%%假设无能量损耗,完全刚性,即以同样速度v1反弹回空中

v2=-v1;

% h2=0.5.*g.*t.^2+v2*t;%离地面距离h

% t2=roots([0.5.*g,v2,0]);%当地面距离为0,即第二次落地时所需时间t2

t2=-v2./(0.5.*g);%当地面距离为0,即第二次落地时所需时间t2。与上式等价

%%%%%%%%%%求解h和v%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% %实际为一分段函数,当t

% 当t11

v=g.*(t-t11)+v2;h=0.5.*g.*(t-t11).^2+v2*(t-t11);

% 当t11+N*t2

v=g.*(t-N*t2-t11)+v2;h=0.5.*g.*(t-N*t2-t11).^2+v2*(t-N*t2-t11);

% x=(tt11).*mod(t-t11,t2);将当t

v11=g.*x1+v0;

h11=0.5.*g.*x1.^2+v0*x1+h0;

%%%%%%%%%%%%第一次落地之前的h和v

x2=(t>t11).*mod(t-t11,t2);

v22=g.*x2+v2;

h22=0.5.*g.*x2.^2+v2*x2;

%%%%%%%%%%%%第一次落地之后的h和v

v=v11.*(t<=t11)+v22.*(t>t11);

h=h11.*(t<=t11)+h22.*(t>t11);

subplot(2,1,1)

plot(t,v)

xlabel('时间');

ylabel('皮球速度,上为正,下为负');

subplot(2,1,2)

plot(t,h)

xlabel('时间');

ylabel('皮球离地面的高度');

实验3:

1(2)

clear all;

[x,y]=meshgrid(-4:0.1:4,-4:0.1:4);

f1=(x+y).*(x>=0&y>=0)+(x.^2+y.^2).*(x<0&y<0)++(x+y.^2).*(x>=0&y<0)+(x.^2+y).*(x<0&y> =0);

% mesh(x,y,f1);

surf(x,y,f1);

% f2=x.*(x>=0)+(x.^2).*(x<0)+y.*(y>=0)+(y.^2).*(y<0);%两者效果相同

实验4:

\work\mymax.m

一维情况

function [maxvalue,maxposition]=mymax(x)

%%%%%%%%%%构造自定义的max函数%%%%%%%%%%

%x:输入向量,可以为任意维度

%maxvalue:求得的最大值

% msg=nargchk(1,2,nargout);

% err(msg);

% %maxposition:最大值所在的位置

% if nargout<1 & nargout>2

% error('输出参数应该是1或者2');

% end

% size_x=size(x);

maxvalue=x(1);

maxposition=1;

for ii=1:size(x,2)

if x(ii)> maxvalue

maxvalue=x(ii);

maxposition=ii;

end

end

同时可判断一维、二维的情况

function [maxvalue,maxposition]=mymax(x)

%%%%%%%%%%构造自定义的max函数%%%%%%%%%%

%x:输入向量,可以为任意维度

%maxvalue:求得的最大值

%maxposition:最大值所在位置

% %maxposition:最大值所在的位置

% 如果x是一个向量,那么maxvalue便是这个向量元素中的最大值;

%

% 如果x是一个二维矩阵,那么maxvalue便是选出每一列中的最大值,返回一个1*n的矩阵,或者说是一个n维行向量。

% msg=nargchk(1,2,nargout);

% err(msg);

% if nargout<1 & nargout>2

% error('输出参数应该是1或者2');

% end

size_x=size(x);%求出x的size:size_x

ndim_x=ndims(x);% 求出x的维度:ndim_x

if ndim_x==1

%%%%%%%%%%%%%%%%%x为一个常数的情况%%%%%%%%%%%%%%%%%

maxvalue=x;

maxposition=1;

else

if ndim_x==2

%%%%%%%%%%%%%%%%%%%x为一维向量的情况%%%%%%%%%%%%%% if size_x(1)==1||size_x(2)==1

maxvalue=x(1);

maxposition=1;

for ii=1:length(x)

if x(ii)> maxvalue

maxvalue=x(ii);

maxposition=ii;

end

end

else

%%%%%%%%%%%%%%%%x为二维矩阵的情况%%%%%%%%%%%%%

maxvalue=zeros(1,size_x(2));

maxposition=zeros(1,size_x(2));

for jj=1:size_x(2)

y=x(:,jj);

maxvalue(jj)=y(1);

maxposition(jj)=1;

for ii=1:size_x(1)

if y(ii)> maxvalue(jj)

maxvalue(jj)=y(ii);

maxposition(jj)=ii;

end

end

end

end

end

end

实验5:

t=[0,0.2,0.4,1.3,5.6]';

y=[0.8,0.7,0.6,0.5,0.2]';

A=[ones(size(t)),exp(-t),cos(t)];

c=A\y;

T=[0:0.1:6]';

Y=[ones(size(T)),exp(-T),cos(T)]*c;

plot(T,Y,'-',t,y,'o');

title('最小二乘曲线拟合');xlabel('\itt');ylabel('\ity'); legend('拟合值','实际值');

c =

0.3836

0.6606

-0.2396

Matlab上机实验答案

Matlab上机实验答案 实验一 MATLAB运算基础 1. 先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。 >> z1=2*sin(85*pi/180)/(1+exp(2)) z1 = >> x=[2 1+2i; 5]; >> z2=1/2*log(x+sqrt(1+x^2)) z2 = - + + -

>> a=::; >> z3=(exp.*a)-exp.*a))./2.*sin(a++log(+a)./2) (>> z33=(exp*a)-exp*a))/2.*sin(a++log(+a)/2)可以验证z3==z33,是否都为1) z3 = Columns 1 through 5 + + + + + Columns 6 through 10 + + + + + Columns 11 through 15 + + + + + Columns 16 through 20 + + + + +

Columns 21 through 25 + + + + + Columns 26 through 30 + + + + + Columns 31 through 35 + + + + + Columns 36 through 40 + + + + + Columns 41 through 45 + + + + + Columns 46 through 50

+ + + + + Columns 51 through 55 + + + + + Columns 56 through 60 + + + + + Column 61 + (4) 2 2 4 2 01 112 2123 t t z t t t t t ?≤< ? =-≤< ? ?-+≤< ? ,其中t=0:: >> t=0::; >> z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3).*(t.^ 2-2.*t+1) z4 =

matlab上机练习(附答案)

1.以下两种说法对吗? (1)MATLAB进行数值的表达精度与其指令窗中的数据显示精度相同。 (2)MATLAB指令窗中显示的数据有效位数不超过七位。 2.历史指令窗所记录的内容与diary指令所产生的“日志”内容有什么不同? DIARY filename causes a copy of all subsequent command window input and most of the resulting command window output to be appended to the named 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:15 for k=1:length(x) z(k)=x(k)^2+2.3*x(k)^0.5; end x=11:15 z1=x.^2+2.3*x.^0.5 6.不使用数组算术运算符,重写下面的程序代码: 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; end 7.某公司销售电脑打印机的价格方案如下: ()如果顾客只买一台打印机,则一台的基本价格为$150。 ()如果顾客购买两台以上打印机,则第二台价格为$120。 ()第三台以后,每台$110。

matlab基础练习题(带答案)

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

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 )exp 4、 判断:在MA TLAB 的内存工作区中,存放一个英文字符 'a' 需要占用1个字节,存放 一个中文字符‘啊’需要占用2个字节。( 错,都是2个字节 ) 5、 判断:MA TLAB 中,i 和j ( 对 ) 6、 判断:MA TLAB 中,pi 代表圆周率,它等于3.14。( 错,后面还有很多位小数 ) 7、 在MA TLAB 中,若想计算的5 1)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 4 5、 在MA TLAB 中,A = 1:9,现在执行如下指令L1 = ~(A>5),则MATLAB 的执行结果应 该是L1 =___ 1 1 1 1 1 0 0 0 0___。

MATLAB上机实验(答案)

MATLAB工具软件实验(1) (1)生成一个4×4的随机矩阵,求该矩阵的特征值和特征向量。程序: A=rand(4) [L,D]=eig(A) 结果: A = 0.9501 0.8913 0.8214 0.9218 0.2311 0.7621 0.4447 0.7382 0.6068 0.4565 0.6154 0.1763 0.4860 0.0185 0.7919 0.4057 L = -0.7412 -0.2729 - 0.1338i -0.2729 + 0.1338i -0.5413 -0.3955 -0.2609 - 0.4421i -0.2609 + 0.4421i 0.5416 -0.4062 -0.0833 + 0.4672i -0.0833 - 0.4672i 0.4276 -0.3595 0.6472 0.6472 -0.4804 D = 2.3230 0 0 0 0 0.0914 + 0.4586i 0 0 0 0 0.0914 - 0.4586i 0 0 0 0 0.2275 (2)给出一系列的a值,采用函数 22 22 1 25 x y a a += - 画一组椭圆。 程序: a=0.5:0.5:4.5; % a的绝对值不能大于5 t=[0:pi/50:2*pi]'; % 用参数t表示椭圆方程 X=cos(t)*a; Y=sin(t)*sqrt(25-a.^2); plot(X,Y) 结果: (3)X=[9,2,-3,-6,7,-2,1,7,4,-6,8,4,0,-2], (a)写出计算其负元素个数的程序。程序: X=[9,2,-3,-6,7,-2,1,7,4,-6,8,4,0,-2]; L=X<0; A=sum(L) 结果: A =

Matlab上机_测试题c答案讲课教案

<<<<<<精品资料》》》》》 Matlab 上机测试题答案 班级 姓名 学号 要求: (1)请将程序和运行结果粘贴到题目下面,写清楚哪部分是程序,哪部分是运行结果,运行结果包括图形,图形请适当缩小,然后将word 文档传到教育在线,注意保存格式是2003的doc ,文件名”自111_110110_张三” (2)在最开始前请将输入Matlab 命令窗口中输入”diary ”命令,随后在workspace 窗口中可以发现一个名为“diary ”的文件。在老师要求结束练习后,在命令窗口输入”diary off ”命令,然后将文件“diary ”上传到教育在线。 (3)注意题号不要弄乱。 --------------------------------------------------------------------- 1、 矩阵Y= ???? ? ???? ???3472123100451150425 ,给出元素1的全下标和单下标,并用函数练习全下标和单下标的转换,求出元素100的存储位置。取出子矩阵? ? ? ? ??21301,并求该矩阵的维数。 解:命令为: Y=[5,2,4;0,15,1;45,100,23;21,47,3] Y(2,3) Y(10) sub2ind([4 3],2,3) [i,j]=ind2sub([4 3],10) find(Y==100) sub2ind([4 3],3,2) B=Y(2:2:4,3:-2:1) 或 B=Y([2 4],[3 1]) [m n]=size(Y) --------------------------------------------------------------------- 2、已知矩阵A=[1 0 -1 ;2 4 1; -2 0 5],B=[0 -1 0;2 1 3;1 1 2] 求2A+B 、A 2-3B 、A*B 、B*A 、A .*B ,A/B 、A\B 解:命令为: A=[1 0 -1 ;2 4 1; -2 0 5] B=[0 -1 0;2 1 3;1 1 2] E=2*A+B F=A^2-3*B G=A*B H=B*A I=A.*B J=A/B K=A\B --------------------------------------------------------------------- 3、利用函数产生3*4阶单位矩阵和全部元素都为8的4*4阶矩阵,并计算两者的乘积。 解:命令为: A=eye(3,4) B=8*ones(4) C=A*B --------------------------------------------------------------------- 4、创建矩阵a=????? ???????------7023021.5003.120498601 ,取出其前两列构成的矩阵b ,取出前两行构成矩阵c ,转置矩阵b 构成矩阵d ,计算a*b 、c

MATLAB上机实验练习题答案

数学建模 MATLAB上机实验练习题 1、给出一个系数矩阵A[234;541;132],U=[123],求出线性方程组的一个精确解。 2、给出两组数据x=[00.30.81.11.62.3]’y=[0.820.720.630.600.550.50]’,我们可以简单的 认为这组数据在一条衰减的指数函数曲线上,y=C1+C2e-t通过曲线拟合求出这条衰减曲线的表达式,并且在图形窗口画出这条曲线,已知的点用*表示。 3、解线性方程 4、通过测量得到一组数据: 5、已知一组测量值 6、从某一个过程中通过测量得到: 分别采用多项式和指数函数进行曲线拟合。 7、将一个窗口分成四个子窗口,分别用四种方法做出多峰函数的表面图(原始数据法,临近 插值法,双线性插值法,二重三次方插值法) 8、在同一窗口使用函数作图的方法绘出正弦、余弦、双曲正弦、双曲余弦。分别使用不同的 颜色,线形和标识符。 9、下面的矩阵X表示三种产品五年内的销售额,用函数pie显示每种产品在五年内的销售额

占总销售额的比例,并分离第三种产品的切片。 X=19.322.151.6 34.270.382.4 61.482.990.8 50.554.959.1 29.436.347.0 10、对应时间矢量t,测得一组矢量y t00.30.8 1.1 1.6 2.3 y0.50.82 1.14 1.25 1.35 1.40 采用一个带有线性参数的指数函数进行拟合,y=a0+a1e-t+a2te-t,利用回归方法求出拟合函数,并画出拟合曲线,已知点用圆点表示。 11、请创建如图所示的结构数组(9分) 姓名编号指标 江明顺071023身高:176,体重:82 于越忠060134身高:168,体重:74 邓拓050839身高:182,体重:77 12、创建如图所示的元胞数组。(9分) 13、某钢材厂从1990年到2010年的产量如下表所示,请利用三次样条插值的方法计算1999年该钢材厂的产量,并画出曲线,已知数据用‘*’表示。要求写出达到题目要求的MATLAB 操作过程,不要求计算结果。 年份19901992199419961998200020022004200620082010 产量(万吨)75.99591.972105.711123.203131.669150.697179.323203.212226.505249.633256.344 14、在一次化学动力学实验中,在某温度下乙醇溶液中,两种化合物反应的产物浓度与反应时间关系的原始数据如下,请对这组数据进行三次多项式拟合,并画出拟合曲线,已知数据如下。 time=[2.55.07.510.013.017.020.030.040.050.060.070.0] res=[0.290.560.771.051.361.522.002.272.813.053.253.56]

河南城建学院MATLAB上机实验答案

一熟悉Matlab工作环境 1、熟悉Matlab的5个基本窗口 思考题: (1)变量如何声明,变量名须遵守什么规则、是否区分大小写。 答:变量一般不需事先对变量的数据类型进行声明,系统会依据变量被赋值的类型自动进行类型识别,也就是说变量可以直接赋值而不用提前声明。变量名要遵守以下几条规则:?变量名必须以字母开头,只能由字母、数字或下划线组成。 ?变量名区分大小写。 ?变量名不能超过63个字符。 ?关键字不能作为变量名。 ?最好不要用特殊常量作为变量名。 (2)试说明分号、逗号、冒号的用法。 分号:分隔不想显示计算结果的各语句;矩阵行与行的分隔符。 逗号:分隔欲显示计算结果的各语句;变量分隔符;矩阵一行中各元素间的分隔符。 冒号:用于生成一维数值数组;表示一维数组的全部元素或多维数组某一维的全部元素。 (3)linspace()称为“线性等分”函数,说明它的用法。 LINSPACE Linearly spaced vector. 线性等分函数 LINSPACE(X1, X2) generates a row vector of 100 linearly equally spaced points between X1 and X2. 以X1为首元素,X2为末元素平均生成100个元素的行向量。 LINSPACE(X1, X2, N) generates N points between X1 and X2. For N < 2, LINSPACE returns X2. 以X1为首元素,X2为末元素平均生成n个元素的行向量。如果n<2,返回X2。 Class support for inputs X1,X2: float: double, single 数据类型:单精度、双精度浮点型。 (4)说明函数ones()、zeros()、eye()的用法。 ones()生成全1矩阵。 zeros()生成全0矩阵。 eye()生成单位矩阵。 2、Matlab的数值显示格式

MATLAB上机习题一

MATLAB上机习题一 请按以下步骤完成上机实验: 1)在FTP上下载“MATLAB上机习题一.doc”文件,所有习题列在该文件内; 2)在MATLAB中完成所有习题,并将屏幕截图粘贴到相应习题后面; 3)如果习题是问答题,请将答案写在题目后; 4)如果有的习题要求提供脚本文件,请将脚本文件内容拷贝到相应习题后; 5)将文件保存并重命名为“自己的学号-姓名”,例如“20110771-张三.doc”; 6)上传该文件到FTP的相关目录。 1. 运行MATLAB软件,拖放、关闭界面上的子窗口,并恢复到原始试图。 2. 采用鼠标及命令两种方式将桌面添加到MATLAB搜索路径列表的起始及最后位置。 3. 采用鼠标及命令方式将当前工作目录设置为桌面指向的文件夹。 4. 通过使用帮助确定内置变量ispc 的含义。 6. 观察MATLAB中关键字、字符串、注释的字体显示颜色。 5. 创建double类型的变量,并进行计算 1)a=87,b=190,计算a+b、a-b、a*b;

2)创建uint8类型的变量,数值与(1)中相同,进行相同的计算,观察计算结果与预想的是否一致。 6. 计算如下表达式: 1)()sin 60 2)3e 3)3cos 4π?? ??? 4)2 7562323336 +?-?? 7. 设u=2,v=3,计算: 1)4log uv v 2)() 2 2u e v v u +- 3 8. 计算如下表达式: 1)()()3542i i -+ 2)()sin 28i - 9. 判断下面语句的运算结果,并与MATLAB 计算结果做比较:

1)420< 2)420≤ 3)420== 4)4~20= 5)''''b B < 10. 设a=39,b=58,c=3,d=7,判断下面表达式的值与MATLAB 计算结果做比较: 1)a b > 2)a b < 3)&&a b b c >> 4)a d == 5)|a b c > 6)~~d 11. 判断下列变量名哪些是合法的MATLAB 变量: 1)fred 7)fred! 2)book_1 8)book-1 3)2ndplace 9)Second_Place 4)#1 10)No_1 5)vel_5 11)vel.5 6)tan 12)while 提示,可以使用isvarname 对上述变量名进行检验。 12. 编写脚本程序,命名为barbell.m ,完成如下计算: 如图1所示的杠铃,

Matlab上机练习参考答案

Matlab 上机练习二 班级 学号 姓名 按要求完成题目,并写下指令和运行结果。(不需要画图) 1、 求??????+-+-+-+-++=i 44i 93i 49i 67i 23i 57i 41i 72i 53i 84x 的共轭转置。 >> x=[4+8i 3+5i 2-7i 1+4i 7-5i;3+2i 7-6i 9+4i 3-9i 4+4i]; >> x’ ans = - - - + + - - + + - 2、计算??????=572396a 与?? ????=864142b 的数组乘积。 >> a=[6 9 3;2 7 5]; >> b=[2 4 1;4 6 8]; >> a.*b

ans = 12 36 3 8 42 40 3、 对于B AX =,如果??????????=753467294A ,??????????=282637B ,求解X 。 >> A=[4 9 2;7 6 4;3 5 7]; >> B=[37 26 28]’; >> X=A\B X = 4、 ??????-=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> 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 1 5、[]7.0 = - a,在进行逻辑运算时,a相当于什么样的逻辑量。 8 2.0 5- 相当于a=[1 1 0 1 1]。 6、角度[]60 x,求x的正弦、余弦、正切和余切。 = 30 45 >> x=[30 45 60]; >> x1=x/180*pi; >> sin(x1) ans = >> cos(x1) ans = >> tan(x1) ans =

Matlab上机实验答案 (1)

Matlab上机实验答案 实验一MATLAB运算基础 1. 先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。 >> z1=2*sin(85*pi/200)/(1+exp(2)) z1 = 0.2375 >> x=[2 1+2i;-0.45 5]; >> z2=1/2*log(x+sqrt(1+x^2)) z2 = 0.7120 - 0.0253i 0.8968 + 0.3658i 0.2209 + 0.9343i 1.2041 - 0.0044i 2.9,,2.9, 3.0

>> a=-3.0:0.1:3.0; >> z3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2) (>> z33=(exp(0.3*a)-exp(-0.3*a))/2.*sin(a+0.3)+log((0.3+a)/2)可以验证z3==z33,是否都为1) z3 = Columns 1 through 5 0.7388 + 3.2020i 0.7696 + 3.2020i 0.7871 + 3.2020i 0.7920 + 3.2020i 0.7822 + 3.2020i Columns 6 through 10 0.7602 + 3.2020i 0.7254 + 3.2020i 0.6784 + 3.2020i 0.6206 + 3.2020i 0.5496 + 3.2020i Columns 11 through 20 0.4688 + 3.2020i 0.3780 + 3.2020i 0.2775 + 3.2020i 0.2080 + 3.2020i 0.0497 + 3.2020i

MATLAB期末上机试题带答案

MATLAB 期末上机考试试题带答案版 姓名: 学号: 成绩: 1.请实现下图: x y y=sin(x) x=linspace(0,8*pi,250); y=sin(x); plot(x,y) area(y,-1) xlabel('x') ylabel('y') title('y=sin(x)') 2.请实现下图: x=linspace(0,2*pi,100); y1=sin(x); subplot(2,2,1) plot(x,y1,'k--') grid on xlabel('x') ylabel('y')

title('sin(x)') legend('y=sin(x)') y2=cos(x); subplot(2,2,2) plot(x,y2,'r--') grid on xlabel('x') ylabel('y') title('cos(x)') legend('y=cos(x)') y3=tan(x); subplot(2,2,3) plot(x,y3,'k-') grid on xlabel('x') ylabel('y') title('tan(x)') legend('y=tan(x)') y4=cot(x); subplot(2,2,4) plot(x,y4) grid on xlabel('x') ylabel('y') title('cot(x)') legend('y=cot(x)') 3.解方程组: a=[3 2 1;1 -1 3;2 4 -4];b=[7;6;-2] ; x=a\b 4.请实现下图:

x y x=linspace(0,4*pi,1000); y1=sin(x); y2=sin(2*x); plot(x,y1,'--',x,y2,'b*') grid on xlabel('x');ylabel('y');title('耿蒙蒙') legend('sin(x)','sin(2*x)') 5.请在x ,y 在(-2,2)内的z=xexp (-x 2-y 2) 绘制网格图 [x,y]=meshgrid(-2:0.1:2); z=x.*exp (-x.^2-y.^2); mesh(x,y,z) 6.请实现peaks 函数: -5 5 x Peaks y [x,y]=meshgrid(-3:1/8:3); z=peaks(x,y); mesh(x,y,z)

Matlab编程与应用习题和一些参考答案

Matlab 上机实验一、二 3.求下列联立方程的解???????=+-+-=-+=++-=--+4 1025695842475412743w z y x w z x w z y x w z y x >> a=[3 4 -7 -12;5 -7 4 2;1 0 8 -5;-6 5 -2 10]; >> b=[4;4;9;4]; >> c=a\b 4.设???? ??????------=81272956313841A ,??????????-----=793183262345B ,求C1=A*B’;C2=A’*B;C3=A.*B,并求上述所有方阵的逆阵。 >> A=[1 4 8 13;-3 6 -5 -9;2 -7 -12 -8]; >> B=[5 4 3 -2;6 -2 3 -8;-1 3 -9 7]; >> C1=A*B' >> C2=A'*B >> C3=A.*B >> inv(C1) >> inv(C2) >> inv(C3) 5.设 ????? ?++=)1(sin 35.0cos 2x x x y ,把x=0~2π间分为101点,画出以x 为横坐标,y 为纵坐标的曲线。 >> x=linspace(0,2*pi,101); >> y=cos(x)*(0.5+(1+x.^2)\3*sin(x)); >> plot(x,y,'r') 6.产生8×6阶的正态分布随机数矩阵R1, 求其各列的平均值和均方差。并求该矩阵全体数的平均值和均方差。 (mean var ) a=randn(8,6) mean(a) var(a) k=mean(a) k1=mean(k) i=ones(8,6) i1=i*k1 i2=a-i1 i3=i2.*i2 g=mean(i3) g2=mean(g) 或者 u=reshape(a,1,48); p1=mean(u)

Matlab 上机题及答案

1 一个三位整数各位数字的立方和等于该数本身则称该数为水仙花数。输出全部水仙花数。 for m=100:999 m1=fix(m/100); %求m的百位数字 m2=rem(fix(m/10),10); %求m的十位数字 m3=rem(m,10); %求m的个位数字 if m==m1*m1*m1+m2*m2*m2+m3*m3*m3 disp(m) end end 2.从键盘输入若干个数,当输入0时结束输入,求这些数的平均值和它们之和。 sum=0; n=0; val=input('Enter a number (end in 0):'); while (val~=0) sum=sum+val; n=n+1; val=input('Enter a number (end in 0):'); end if (n > 0) sum mean=sum/n end 3. 若一个数等于它的各个真因子之和,则称该数为完数,如6=1+2+3,所以6是完数。求[1,500]之间的全部完数。 for m=1:500 s=0; for k=1:m/2 if rem(m,k)==0 s=s+k; end end if m==s disp(m); end end 4. 从键盘上输入数字星期,在屏幕上显示对应英文星期的单词。 function week n=input('input the number:'); if isempty(n) errror('please input !!')

end if n>7|n<1 error('n between 1 and 7') end switch n case 1 disp('Monday') case 2 disp('Tuesday') case 3 disp('Wednesday') case 4 disp('Thursday') case 5 disp('Friday') case 6 disp('Saturday') case 7 disp('Sunday') end 5. 某公司销售电脑打印机的价格方案如下: ()如果顾客只买一台打印机,则一台的基本价格为$150。 ()如果顾客购买两台以上打印机,则第二台价格为$120。 ()第三台以后,每台$110。 写一段程序分别计算出购买1--10台打印机所需的钱数。打印机台数可以在程序开始处指定,或通过input命令读入。运行程序,计算出购买10台打印机的总价格。 写出程序,生成分别购买1--10台打印机所需价格的图表(使用fprintf命令输出图表,不允许手算)。 x=input('请输入购买的打印机台数:'); for m=1:x if m<=1 y(m)=150*m; elseif m<=2 y(m)=150+120*(m-1); else y(m)=150+120+110*(m-2); y(1,m)=y(m); end end y(x) plot(1:m,y,'r*--')

MATLAB上机题汇总(较难题,抽1题)合肥学院

1.根据下面的方程绘制图形,y=cos(x)+x ,x 取值-pi-pi ,然后用多项式拟合函数进行拟合。 2.要求编写一个函数文件,将一个给定图片的所有颜色都变深(变深多少自己斟酌),其中黑色为0,白色为255 3.根据下面的方程绘制图形,y=cos(2x)+sin(2x),然后用5次多项式进行拟合。 4.要求编写一个M 函数,完成下列函数的求解:y =sin (x );y =sin (x +pi );y =sin (x +pi /3);y =sin (x +pi/2)自变量x 的变化范围从-pi 到pi ,要求四个图像画在同一个图形窗体中。 5.M 文件的编写 计算分段函数 ?????≠+=+++=10101)1cos(2x x x x x x x y 6.函数文件的编写 编写函数文件,求半径为r 的圆的周长和面积。

7.题目见教材p85,其中的数据可以给出文本文件或者由下面的式子表达 a=[10*rand(24,1)+15,1*rand(24,1)+30,2*rand(24,1)+45],这是24行3列的一个矩阵,第一列表示温度,第二列表示湿度,第三列表示气压。要求如下: (1) 将温度数据取出 (2) 找出一天中最高温度 (3) 按温度进行从小到大(默认)排序 (4) 求出最高温度的时刻 (5) 按温度进行从大到小排序 8.已知Fibonacci (斐波那)数列由式子??=+=--4,3,21k a a a k k k 可以生成,其中初值为121==a a ,试编写出生成某项Fibonacci 数值的MATLAB 函数,并求20a 的值。 9.编写M 函数,判断给定的三边能够构成一个三角形?并求其周长 10.给定一个声音文件,如1.wav ,引入这段声音,将音量改为2倍之后,再保存成2.wav

2010专第一次上机作业: MatLab练习题-基本运算

一、书上命令练习: 二、MatLab 练习1 注意: 1,请按要求作题,写出程序并把结果附上,并保存文件. 2,仔细填写 “学生信息”. 3,把此word 文档的文件名更名为你的 “学号 姓名(*)”-*表示第几次作业.在下课前5分钟提交. 1, (5*2+1.3-0.8)*10^2/25 答案: 2,y =23log )10sin( 4) 43.0(2+?+-e π 答案: 3,z = 10sin(π/3) ... cos(π/3) 答案: 4,x = sin(223/3), y = x^2,z = y*10 ; 求x+2y-5z 答案: 5,i e z i z i z ?==+=π23215,2,72,计算3 22 1z z z z z += 答案: 6, 建立起始值=3,增量值=5.5,终止值=44的一维数组x (填写程序语句) 答案: 7, 建立等差一维数组x :首项为0,末项为π,项数为15 (填写程序语句) 答案:

8, 计算行列式的值1 876243 23=A 答案: 9, 矩阵??????????=187624323A ,矩阵?? ?? ? ?????=333222111B ;分别求出A x B 及A 与B 中对应元素之间的乘积的程序语句。 答案 10,写出计算 Sin(36o )的程序语句. 答案:

三、MatLab 练习2-矩阵及数组运算 1.输入矩阵。 2.输入一个与A同阶的随机矩阵B。要求元素为整数。 3.输入一个数组b=(1 3 5 7 9 11 ) 4.输入与A同阶的单位矩阵E 5.输入与B同阶的零矩阵Z 6.构建一个大矩阵 7.将 46-70这25个整数填入一个五行五列的矩阵数表G中,使其各行、各 列以及主对角线和次对角线的和等相等。 8.分别求d1=|A|、d2=|B|、d3=|D|、d4=|G| 9.对以上四个矩阵A、B、D、G中的可逆矩阵求逆。 10.(1) 计算d5=A+B (2) 计算d6=A*B 11.取A的1,3,5行做一个子阵a1. 12.取A的2,4,6行,4,5,6列上的交叉元素做一个子阵a2.

matlab练习题和答案

matlab练习题和答案 控制系统仿真实验 Matlab部分实验结果 目录 实验一 MATLAB基本操 作 ............................................................................................ 1 实验二 Matlab编程 .................................................................................................... 5 实验三Matlab底层图形控制 (6) 实验四控制系统古典分析.............................................................................................12 实验五控制系统现代分析 . (15) 实验六 PID控制器的设 计 ...........................................................................................19 实验七系统状态空间设计.............................................................................................23 实验九直流双闭环调速系统仿真 . (25) 实验一 MATLAB基本操作 1 用MATLAB可以识别的格式输入下面两个矩阵 1233,,1443678,i,,,,2357,,,,2335542,i,,,, A,1357B,,,2675342, i,,3239,,,,189543,,,,1894,, 再求出它们的乘积矩阵C,并将C矩阵的右下角2×3子矩阵赋给D矩阵。赋值完成后,调 用相应的命令查看MATLAB工作空间的占用情况。 A=[1,2,3,3;2,3,5,7;1,3,5,7;3,2,3,9;1,8,9,4];

matlab上机练习及答案

第二、三次上机练习: 目的: 运行课本第四章及课堂上讲过的例子,掌握Matlab 的流程控制语句、函数及脚本文件的编程、调试方法。 作业: 1、 完成下列操作: 1) 求[100,999]之间能被21整除的个数。 2) 建立一个字符串向量(要求字符串向量中必须包含自己的姓名首字母,大小写均可),删除其中的大写字母 2. 编写脚本文件,实现 用magic(6)产生一矩阵,用for 循环指令求解其所有元素的和。 3. 定义一个函数文件,求∑=n i m i 1 ,要求在函数文件中包含能够通过help 查询到的说明;然后调用该函数文件求∑∑∑===++ 10 1501210011k k k k k k 的值。 4. 已知) 7.1cos(12 ln )7.1sin(++++=x x x y π,当x 取-3.0,-2.9,-2.8,…,2.8,2.9,3.0时, 1) 求各点的函数值; 2) 求这些数据的平均值; 5、求分段函数的值。 222 603 565231x x x x y x x x x x x x ?+-<≠-?=-+≤<≠≠??--?, 且, 0且及, 其它 用if 语句实现,分别输出x=-5.0,-3.0,1.0,2.0,2.5时的值。 6、输入一个百分制成绩,要求输出成绩等级A 、B 、C 、D 、E 。其中90分~100分为A ,80分~89分为B ,70分~79分为C ,60分~69分为D ,60分以下为E 。 要求:分别用if 语句和switch 语句实现。 7、根据2 22221 111...,6123n ππ=++++求的近似值。当n 分别取100、1000、10000时,结 果是多少?(要求:分别用循环结构和向量运算来实现) 8、已知n=1时,f 1=1;n=2时,f 2=0;n=3时,f 3=1;n>3时,f n =f n-1 -2f n-2+ f n —3; 求f 1~ f 100中,最大值、最小值以及各数之和。 9、某公司员工的工资计算方法如下: 1)工作时数超过120小时者,超过部分加发15%; 2)工作时数低于60小时者,扣发700元;

《MATLAB_语言与数学运算》练习答案

《MATLAB 语言与数学运算》实验课程任务书 一、实验教学目标与基本要求 上机实验是本课程重要的实践教学环节。实验的目的不仅仅是验证理论知识,更重要的是通过上机加强学生的实验手段与实践技能,掌握应用MATLAB 语言求解问题的方法,培养学生分析问题、解决问题、应用知识的能力和创新精神,全面提高学生的综合素质。 上机学时为4学时,主要内容是基于上课内容对课后典型习题应用MATLAB进行求解,基本掌握常见数学问题的求解方法与命令调用,更深入地认识和了解MATLAB语言的强大的计算功能。 上机实验最终以书面报告的形式提交,作为期末成绩的考核内容。 二、实验内容(4 学时) 第一部分MATLAB 语言编程、科学绘图与基本数学问题求解(4学时) 主要内容:掌握MATLAB 语言编程、科学绘图、微积分、线性代数问题等基本数学问题的求解与应用。 练习题: 1、安装MATLAB 软件,应用demo 命令了解主要功能,熟悉基本功能,会用help 命令。 2、用MATLAB 语句输入矩阵A 和B 矩阵 前面给出的是4 × 4 矩阵,如果给出A(5,6) = 5 命令将得出什么结果? 答案: 3、假设已知矩阵A,试给出相应的MATLAB 命令,将其全部偶数行提取出来,赋给B 矩阵,用A =magic(8) 命令生成A 矩阵,用上述的命令检验一下结果是不是正确。

答案: 4、用数值方法可以求出, 试不采用循环的形式求出和式的数值解。由于数值方法采用double 形式进行计算的,难以保证有效位数字,所以结果不一定精确。试采用符号运算的方法求该和式的精确值。

5、 答案; 答案:

相关主题
文本预览