matlab上机练习
matlab上机练习答案

实验一MA TLAB的基本命令与基本函数1已知矩阵a =11 12 13 1421 22 23 2431 32 33 3441 42 43 44求(1) A(:,1) (2) A(2,:)(3) A(:,2:3) (4) A(2:3,2:3)(5) A(:,1:2:3) (6) A(2:3)(7) A(:) (8) A(:,:)(9) ones(2,2) (10) eye(2)(11) [A,[ones(2,2);eye(2)]](12) diag(A) (13) diag(A,1)(14) diag(A,-1) (15) diag(A,2)2(1)输入如下矩阵A0π/3A=π/6 π/2(2) 求矩阵B1,B1中每一元素为对应矩阵A中每一元素的正弦函数(3) 求矩阵B2, B2中每一元素为对应矩阵A中每一元素的余弦函数(4) 求B12+B22(5) 求矩阵A的特征值与特征矢量:称特征矢量为M,而特征值矩阵为L(6) 求Msin(L)M-13已知水的黏度随温度的变化公式为μ=μ0/(1+at+bt2)其中μ0=1.785×10-3,a=0.03368,b=0.000221,求水在0,20,40,80℃时的黏度。
程序如下:miu0=1.785e-3;a=0.03368;b=0.000221;t=0:20:80miu=miu0./ (1+a*t+b*t.^2)(2)一个长管,其内表面半径为a,温度为Ta ;外表面半径为Tb;则其径向和切向应力可分别表示为:⎥⎦⎤⎢⎣⎡⎪⎭⎫ ⎝⎛-⎪⎭⎫ ⎝⎛⎪⎪⎭⎫ ⎝⎛+----=⎥⎦⎤⎢⎣⎡⎪⎭⎫ ⎝⎛-⎪⎭⎫ ⎝⎛⎪⎪⎭⎫ ⎝⎛----=r b a b r b a b a a b v T T E r b a b r b a b a a b v T T E b a t b a r ln ln 11)/ln()1(2)(ln ln 1)/ln()1(2)(2222222222ασασ式中r 为管子的径向坐标,E 为管子材料的弹性模量,ɑ为热膨胀系数。
MATLAB 上机 习题及答案

15、今有多项式P1(x)=x4-2x+1,P2(x)=x2+4x-0.5,要求先求得P(x)=P1(x)+P2(x),然后计算xi=0.2*i各点上的P(xi)(i=0,1,2,…,5)值。
p1=[1.0 0.0 0.0 -2.0 1.0];>> p2=[0.0 0.0 1.0 4.0 -0.5];>> p1x=poly2sym(p1);p2x=poly2sym(p2);>> p=p1x+p2xp =x^4+2*x+1/2+x^2>> x=0:5;>> x.^4+2*x+1/2+x.^2ans =0.5000 4.5000 24.5000 96.5000 280.5000 660.50001、试个MATLAB的工作空间中建立以下2个矩阵:A=[1 2]1234B⎡⎤=⎢⎥⎣⎦,求出矩阵A和B的乘积,并将结果赋给变量C。
>> A=[1 2]A =1 2>> B=[1 23 4]B =1 23 4>> C=A*BC =7 102、利用MATLAB提供的帮助信息,了解inv命令的调用格式,并作简要说明。
help invINV Matrix inverse.INV(X) is the inverse of the square matrix X.A warning message is printed if X is badly scaled ornearly singular.See also SLASH, PINV, COND, CONDEST, LSQNONNEG, LSCOV. Overloaded methodshelp gf/inv.mhelp zpk/inv.mhelp tf/inv.mhelp ss/inv.mhelp lti/inv.mhelp frd/inv.mhelp sym/inv.mhelp idmodel/inv.m3、使用help命令查询函数plot的功能以及调用方法,然后利用plot命令绘制函数y=sin(x)的图形,其中0xπ≤≤。
MATLAB上机实验练习题及答案

MATLAB上机实验练习题及答案09级MATLAB上机实验练习题1、给出一个系数矩阵A[2 3 4;5 4 1;1 3 2],U=[1 2 3],求出线性方程组的一个精确解。
2、给出两组数据x=[0 0.3 0.8 1.1 1.6 2.3]’y=[0.82 0.72 0.63 0.60 0.55 0.50]’,我们可以简单的认为这组数据在一条衰减的指数函数曲线上,y=C1+C2e-t通过曲线拟合求出这条衰减曲线的表达式,并且在图形窗口画出这条曲线,已知的点用*表示。
3、解线性方程4、通过测量得到一组数据:5、已知一组测量值6、从某一个过程中通过测量得到:分别采用多项式和指数函数进行曲线拟合。
7、将一个窗口分成四个子窗口,分别用四种方法做出多峰函数的表面图(原始数据法,临近插值法,双线性插值法,二重三次方插值法)8、在同一窗口使用函数作图的方法绘出正弦、余弦、双曲正弦、双曲余弦。
分别使用不同的颜色,线形和标识符。
9、下面的矩阵X表示三种产品五年内的销售额,用函数pie显示每种产品在五年内的销售额占总销售额的比例,并分离第三种产品的切片。
X= 19.3 22.1 51.634.2 70.3 82.4 61.4 82.9 90.8 50.5 54.9 59.1 29.4 36.3 47.010、对应时间矢量t ,测得一组矢量y采用一个带有线性参数的指数函数进行拟合,y=a 0+a 1e -t +a 2te -t ,利用回归方法求出拟合函数,并画出拟合曲线,已知点用圆点表示。
11、请创建如图所示的结构数组(9分)12、创建如图所示的元胞数组。
(9分)13、某钢材厂从1990年到2010年的产量如下表所示,请利用三次样条插值的方法计算1999年该钢材厂的产量,并画出曲线,已知数据用‘*’表示。
要求写出达到题目要求的MATLAB 操作过程,不要求计算结果。
14、在一次化学动力学实验中,在某温度下乙醇溶液中,两种化合物反应的产物浓度与反应时间关系的原始数据如下,请对这组数据进行三次多项式拟合,并画出拟合曲线,已知数据如下。
matlab 上机练习1-2 (2)

第一次上机:基础准备及入门2.1 指令窗运行入门2.1.1 最简单的计算器使用法【例2.5.1-1】求23)]47(212[÷-⨯+的算术运算结果。
(1)用键盘在MATLAB 指令窗中输入以下内容 >> (12+2*(7-4))/3^2(2)在上述表达式输入完成后,按【Enter 】键,该就指令被执行。
(3)在指令执行后,MATLAB 指令窗中将显示以下结果。
ans = 2【例2.5.1-2】简单矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=987654321A 的输入步骤。
(1)在键盘上输入下列内容A = [1,2,3; 4,5,6; 7,8,9](2)按【Enter 】键,指令被执行。
(3)在指令执行后,MATLAB 指令窗中将显示以下结果:A =1 2 3 4 5 6 7 8 9【例2.5.1-3】矩阵的分行输入A=[1,2,3 4,5,6 7,8,9](以下是显示结果)A =1 2 3 4 5 6 7 8 9【例2.5.1-4】指令的续行输入(以下格式在除Notebook 外的MATLAB 环境中可运行)S = 1 – 1/2 + 1/3 –1/4 + 1/5 – 1/6 ... + 1/7 – 1/8 S =0.63452.1.2数值、变量和表达式2.1.2.1复数和复数矩阵【例2.5.2.5-1】复数ieziziz63212,21,43π=+=+=表达,及计算321zzzz=。
(1)经典教科书的直角坐标表示法z1= 3 + 4iz1 =3.0000 +4.0000i(2)采用运算符构成的直角坐标表示法和极坐标表示法z2 = 1 + 2 * i %运算符构成的直角坐标表示法z3=2*exp(i*pi/6) %运算符构成的极坐标表示法z=z1*z2/z3z2 =1.0000 +2.0000iz3 =1.7321 + 1.0000iz =0.3349 + 5.5801i【例2.5.2.5-2】复数矩阵的生成及运算A=[1,3;2,4]-[5,8;6,9]*iB=[1+5i,2+6i;3+8*i,4+9*i]C=A*BA =1.0000 - 5.0000i 3.0000 - 8.0000i2.0000 - 6.0000i 4.0000 - 9.0000iB =1.0000 + 5.0000i2.0000 + 6.0000i3.0000 + 8.0000i4.0000 + 9.0000iC =1.0e+002 *0.9900 1.1600 - 0.0900i1.1600 + 0.0900i 1.3700【例2.5.2.5-3】求上例复数矩阵C的实部、虚部、模和相角。
MATLAB上机练习题(一)

MATLAB 上机练习题(一)
1. 计算下式
7
2009/42008/41949222?+-⨯-⨯=
2. 试计算d
3461.1,30,5b d a b c
a b c +=-+===其中
要求只输出d 的值,其他变量的值不输出。
**************************************************************
3. 计算下式:
181(2)sin()cos()6,3
y
x x y π-+-==(,其中 0.1104
2log 805(3)2009
6(4)1,5;
2e
e x x x -⨯+-=其中
4. 完成以上题目后清除工作空间中的所有变量。
**************************************************************
5. 求下列方程的根:
(1)325x x -=
(2)32340x x x -+=
6. 根据课本任意找出4个矩阵在MA TLAB 中输入和输出。
附1:增加的一些常用函数pi:常数
round(x):四舍五入至最近整数
fix(x) :无论正负,舍去小数至最近整数min(x): 向量x的元素的最小值
max(x): 向量x的元素的最大值
diff(x): 向量x的相邻元素的差
length(x): 向量x的元素个数
sin(x):正弦函数
cos(x):余弦函数
tan(x):正切函数
asin(x):反正弦函数
acos(x):反余弦函数
atan(x):反正切函数。
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.*bans =12 36 38 42 403、 对于B AX =,如果⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=753467294A ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=282637B ,求解X 。
>> A=[4 9 2;7 6 4;3 5 7];>> B=[37 26 28]’;>> X=A\BX =4、 ⎥⎦⎤⎢⎣⎡-=463521a ,⎥⎦⎤⎢⎣⎡-=263478b ,观察a 与b 之间的六种关系运算的结果。
>> a=[1 2 3;4 5 6];>> b=[8 –7 4;3 6 2];>> a>bans =0 1 01 0 1 >> a>=bans =0 1 01 0 1 >> a<bans =1 0 1 0 1 0 >> a<=bans =1 0 1 0 1 0 >> a==bans =0 0 0 0 0 0>> a~=bans =1 1 11 1 15、[]7.0=-a,在进行逻辑运算时,a相当于什么样的逻辑量。
82.05-相当于a=[1 1 0 1 1]。
matlab上机练习及答案

第二、三次上机练习:目的:运行课本第四章及课堂上讲过的例子,掌握Matlab 的流程控制语句、函数及脚本文件的编程、调试方法。
作业:1、 完成下列操作:1) 求[100,999]之间能被21整除的个数。
2) 建立一个字符串向量(要求字符串向量中必须包含自己的姓名首字母,大小写均可),删除其中的大写字母2. 编写脚本文件,实现用magic(6)产生一矩阵,用for 循环指令求解其所有元素的和。
3. 定义一个函数文件,求∑=ni m i 1,要求在函数文件中包含能够通过help 查询到的说明;然后调用该函数文件求∑∑∑===++101501210011k k k k k k 的值。
4. 已知)7.1cos(12ln )7.1sin(++++=x xx y π,当x 取-3.0,-2.9,-2.8,…,2.8,2.9,3.0时, 1) 求各点的函数值;2) 求这些数据的平均值;5、求分段函数的值。
222603565231x 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、根据222221111...,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中,最大值、最小值以及各数之和。
matlab上机练习

练习 11、编写分段函数⎪⎩⎪⎨⎧<≤<≤=)(/)21()10()(3otherwise e x x xx x x f x 的函数文件,存放于文件ff.m 中,要求: (1)在主程序中调用这个函数文件,完成()f f ∞和的计算;(2)在主程序中画出13x -≤<这段曲线,并给该曲线横、纵坐标添加标注;2、分别用for 循环和while 循环求解1(21)ni i =+∑,要求:(1)n 能够从键盘输入(例如:输入10个数);(2)程序运行结束时,计算结果能够直接显示在命令窗口;3、在区间 内,绘制 的实部和虚部对应图形,要求:(1)在同一幅图形中,用不同的颜色显示实部和虚部;(2)在一个figure 中用两幅图分别显示实部和虚部;(3)给图形添加注释;02x π≤≤2sin(2)3sin(3)y x i x =+练习 21、 从键盘输入若干个数(至少输入10个数),当输入0时结束输入(提示:用while 语句和input 语句)(1) 求这些数的和。
(2) 并对输入数据进行排序(例如:从小到大排列),排序结果在屏幕显示。
2、已知编写关于该表达式的函数文件,存放于ff.m 文件中,要求:(1)在主程序中调用这个函数文件,当输入n 为任意给定的正整数,求y 的值。
(2)y≥1.6时,求n 的值。
3、某低通滤波器输出电压V 0与输入电压V i 的电压比为1()12o i V H f V j fRCπ==+ R 代表电阻,单位为欧姆。
C 代表电容,单位为法拉。
j 为-1 。
假设316*10R =Ω(单位:欧姆),电容61*10C F -=(单位:法拉),画出这个滤波器振幅()H f 与频率f 的关系图和相位与频率f 的关系图(提示:振幅与频率的关系,就是画出(())abs H f ;相位与频率的关系就是画出(())angle H f ),其中,频率f 范围从1Hz 到1KHz 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一次上机:基础准备及入门2.1 指令窗运行入门2.1.1 最简单的计算器使用法【例2.5.1-1】求23)]47(212[÷-⨯+的算术运算结果。
(1)用键盘在MATLAB 指令窗中输入以下内容 >> (12+2*(7-4))/3^2(2)在上述表达式输入完成后,按【Enter 】键,该就指令被执行。
(3)在指令执行后,MATLAB 指令窗中将显示以下结果。
ans = 2【例2.5.1-2】简单矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=987654321A 的输入步骤。
(1)在键盘上输入下列内容A = [1,2,3; 4,5,6; 7,8,9](2)按【Enter 】键,指令被执行。
(3)在指令执行后,MATLAB 指令窗中将显示以下结果: A =1 2 3 4 5 6 7 8 9【例2.5.1-3】矩阵的分行输入 A=[1,2,3 4,5,6 7,8,9](以下是显示结果) A =1 2 3 4 5 6 7 8 9【例2.5.1-4】指令的续行输入(以下格式在除Notebook 外的MATLAB 环境中可运行)S = 1 – 1/2 + 1/3 –1/4 + 1/5 – 1/6 ... + 1/7 – 1/8 S =2.1.2 数值、变量和表达式 2.1.2.1 复数和复数矩阵【例2.5.2.5-1】复数ie z i z i z 63212,21,43π=+=+=表达,及计算321z z z z =。
(1)经典教科书的直角坐标表示法 z1= 3 + 4i z1 =+(2)采用运算符构成的直角坐标表示法和极坐标表示法z2 = 1 + 2 * i %运算符构成的直角坐标表示法 z3=2*exp(i*pi/6) %运算符构成的极坐标表示法 z=z1*z2/z3 z2 = + z3 = + z =+【例2.5.2.5-2】复数矩阵的生成及运算 A=[1,3;2,4]-[5,8;6,9]*iB=[1+5i,2+6i;3+8*i,4+9*i] C=A*B A =- - - - B =+ ++ + C =+002 *- +【例2.5.2.5-3】求上例复数矩阵C 的实部、虚部、模和相角。
C_real=real(C) C_imag=imag(C)C_magnitude=abs(C)C_phase=angle(C)*180/pi %以度为单位计算相角 C_real =99 116 116 137 C_imag =0 -9 9 0 C_magnitude =C_phase =0 02.1.3 计算结果的图形表示【例2.5.3-1】画出衰减振荡曲线t e y t 3sin 3-=及其它的包络线30t e y -=。
t 的取值范围是]4,0[π。
t=0:pi/50:4*pi; %定义自变量取值数组y0=exp(-t/3); %计算与自变量相应的y0数组y=exp(-t/3).*sin(3*t); %计算与自变量相应的y 数组 plot(t,y,'-r',t,y0,':b',t,-y0,':b') %用不同颜色、线型绘制曲线 grid %在“坐标纸”画小方格【例2.5.3-2】画出2222)sin(yx y x z ++=所表示的三维曲面。
y x ,的取值范围是]8,8[-。
clear;x=-8::8; %定义自变量x 的一维刻度向量 y=x'; %定义自变量y 的一维刻度向量X=ones(size(y))*x; %计算自变量平面上取值点x 坐标的二维数组 Y=y*ones(size(x)); %计算自变量平面上取值点y 坐标的二维数组R=sqrt(X.^2+Y.^2)+eps; %计算中间变量22y x R +=<5>Z=sin(R)./R;%计算与自变量二维数组相应的函数值RR z sin =<6>mesh(Z); %绘制三维网格图colormap(hot)%指定网格图用hot 色图绘制图 2.5.3-2 三维网线图2.2 控制指令窗的指令、操作和标点2.2.1 指令行的编辑【例2.6.3-1】指令行操作过程示例。
(1)若用户想计算51)3.0sin(21+=πy 的值,那末用户应依次键入以下字符y1=2*sin*pi)/(1+sqrt(5))(2)按【Enter 】键,该指令便被执行,并给出以下结果 y1 =在以上操作和计算结束后,操作指令和计算结果都记录在MATLAB 工作内存中。
因此,假如用户希望调回前面输入的指令重新运行,或希望对前面输入的指令加以修改后再运行,那末只要反复按动键盘上的箭头键,就可从内存中把以前输入的那指令调回到当前行,以供重新运行或修改后运行。
新的计算结果,只可能被此后运行的指令所使用,而绝不会影响以前生成的(非同名)变量的“内容”。
(3)利用指令回调,进行新的计算。
若又想计算51)3.0cos(22+=πy ,用户当然可以象前一个算例那样,通过键盘把相应字符一个一个“敲入”。
但也可以较方便地用操作键获得该指令,具体办法是:先用?键调回已输入过的指令 y1=2*sin*pi)/(1+sqrt(5)) ;然后移动光标,把y1改成y2;把 sin 改成 cos 便可。
即得 y2=2*cos*pi)/(1+sqrt(5)) y2 =2.2.1.1指令who和whos【例2.6.5.1-1】用 who 检查MATLAB内存变量。
在指令窗中运行以下指令,就可看到内存变量。
whoYour variables are:R Y x y1X Z y y2【例 2.6.5.1-2】键入 whos ,获得驻留变量的详细情况:全部变量名,变量的数组维数,占用字节数,变量的类别(如双精度),是否复数等。
whosName Size Bytes ClassR 33x33 8712 double arrayX 33x33 8712 double arrayY 33x33 8712 double arrayZ 33x33 8712 double arrayx 1x33 264 double arrayy 33x1 264 double arrayy1 1x1 8 double arrayy2 1x1 8 double arrayGrand total is 4424 elements using 35392 bytes2.2.2变量的文件保存2.2.2.1save 和load 指令【例2.6.6.2-1】数据的存取。
(1)建立用户目录,并使之成为当前目录,保存数据mkdir('c:\','my_dir'); %在C盘上创建目录my_dircd c:\my_dir %使c:\my_dir成为当前目录save saf X Y Z %选择内存中的X,Y,Z变量保存为文件dir %显示目录上的文件. ..(2)清空内存,从向内存装载变量Zclear %清除内存中的全部变量load saf Z %把文件中的Z变量装入内存who %检查内存中有什么变量Your variables are:Z〖说明〗本例运用了例2.5.3-2和例中指令运行后产生的变量。
如果一组数据是经过长时间的复杂计算后获得的,那末为避免再次重复计算,常使用save 加以保存。
此后,每当需要,都可通过 load重新获取这组数据。
这种处理模式常在实际中被采用。
2.3帮助系统2.3.1指令窗中的help 指令2.3.1.1直接使用help获得指令的使用说明【例 2.9.2.1-1】假如准确知道所要求助的主题词,或指令名称,那末使用help 是获得在线帮助的最简单有效的途径。
本例演示:关于矩阵对数函数 logm使用说明的在线求助。
help logmLOGM Matrix logarithm.L = LOGM(A) is the matrix logarithm of A, the inverse of EXPM(A).Complex results are produced if A has negative eigenvalues. A warning message is printed if the computed expm(L) is not close to A.[L,esterr] = logm(A) does not print any warning message, but returns an estimate of the relative residual, norm(expm(L)-A)/norm(A).If A is real symmetric or complex Hermitian, then so is LOGM(A).Some matrices, like A = [0 1; 0 0], do not have any logarithms, real or complex, and LOGM cannot be expected to produce one.See also EXPM, SQRTM, FUNM.2.3.1.2使用help指令进行分类搜索【例2.9.2.2-1】运行不带任何限定的help,可以得到分类名称明细表。
helpHELP topics:matlab\general - General purpose commands.matlab\ops - Operators and special characters.matlab\lang - Programming language constructs.matlab\elmat - Elementary matrices and matrix manipulation. matlab\elfun - Elementary math functions.matlab\specfun - Specialized math functions....... ......For more help on directory/topic, type "help topic".2.3.1.3采用help topic指令形式获得具体子类的指令明细【例 2.9.2.3-1】如果用户想知道有关矩阵操作指令一栏表,那末就运行以下指令。
help elmatElementary matrices and matrix manipulation.Elementary matrices.zeros - Zeros array.ones - Ones array....... ......Basic array information.size - Size of matrix.length - Length of vector....... ......Matrix manipulation.reshape - Change size.diag - Diagonal matrices and diagonals of matrix....... ......Special variables and constants.ans - Most recent answer.eps - Floating point relative accuracy....... ......Specialized matrices.compan - Companion matrix.gallery - Higham test matrices....... ......〖说明〗省略号由笔者所加,用来表示被删除的内容。