matlab上机练习

合集下载

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 上机 习题及答案

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上机实验练习题及答案

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)

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上机练习题(一)

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上机练习参考答案

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上机练习及答案

第二、三次上机练习:目的:运行课本第四章及课堂上讲过的例子,掌握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上机练习

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 。

MATLAB上机练习一参考解答

MATLAB上机练习一参考解答

上机练习一参考解答一、实验目的1、 熟悉Matlab 编程2、 体会数学上恒等,算法上不一定恒等二、实验内容1. Using the Taylor polynomial of degree nine and three-digit rounding arithmetic to find an approximationto 5-e by each of the following methods.(A) ∑=--≈905!)5(n n n e , (B) ∑=-≈=9055!5/11n nn e e An approximate value of 5-e correct to three digits is 31074.6-⨯. Which formula, (A) or (B), gives the most accuracy, and why?1) 算法基础利用x e 的Taylor 公式00!!n nk x n n x x e n n ∞===≈∑∑,x -∞<<+∞ (1)及001/1/1/!!n nk x x n n x x e e n n ∞-====≈∑∑,x -∞<<+∞, (2)其中k 是根据精度要求给定的一个参数。

在本题中将k 取为9, x 取为-5或5即可由公式(1)或(2)得到5-e 的近似计算方法(A )或(B )。

2) 程序下述程序用公式(A )及(B )分别在Matlab 许可精度下及限定在字长为3的算术运算情况下给出5-e的近似计算结果,其中results_1, results_2为用方法(A )在上述两种情况下的计算结果,err_1, err_2为相应的绝对误差;类似的,results_3, results_4为用方法(B )在上述两种情况下的计算结果,err_3, err_4为相应的绝对误差;具体程序如下:% Numerical Experiment 1.1 % by Xu Minghua, May 17, 2008 clc; %Initialize the data x=-5; k=9; m=3; %three-digit rounding arithmetic %------------------------------------ % Compute exp(x) by using Method (A) % with the computer precision results_1=1; power_x=1; for i=1:k factor_x=x/i; power_x=power_x*factor_x; results_1=results_1+power_x; end results_1 err_1=abs(exp(x)-results_1)%------------------------------------% Compute exp(x) by using Method (A) % with the 3-digits precisionresults_2=1;power_x=1;for i=1:kfactor_x=digit(x/i,m);power_x=digit(power_x*factor_x,m); results_2=digit(results_2+power_x,m); endresults_2err_2=abs(exp(x)-results_2)%------------------------------------% Compute exp(x) by using Method (B) % with the computer precisiont=-x;results_3=1;power_x=1;for i=1:kfactor_x=t/i;power_x=power_x*factor_x;results_3=results_3+power_x; endresults_3=1/results_3err_3=abs(exp(x)-results_3)%------------------------------------% Compute exp(x) by using Method (B) % with the 3-digits precisiont=-x; results_4=1;power_x=1;for i=1:kfactor_x=digit(t/i,m);power_x=digit(power_x*factor_x,m);results_4=digit(results_4+power_x,m); endresults_4=digit(1/results_4,m)err_4=abs(exp(x)-results_4)%------------------------------------上述主程序用到一个子程序digit.m, digit(x,m)的作用是将x四舍五入成m位数。

Matlab上机练习

Matlab上机练习

13sin 25457.0145.175.375.0222-++=---y e x z x y x练习一:1) 以两种方式打开 MA TLAB 工作窗口,进入MATLAB 6.0 的工作环境,并尝试用不同的方式退出。

2) 尝试、熟悉 MA TLAB 6.0 的各栏菜单以及各个工具栏的功能。

3) 重新启动 MATLAB 6.0,进入 MATLAB 工作窗口,用 who 命令查看当前工作空间内有无变量及其值。

4) 绘制函数y=cos(5x+2)/sin(3x+1) 的图像,并求解当 x=2 时的函数值。

5) 此时再次用 who 命令查看工作空间内的变量名及其值,与( 3)比较,同时用whos 命令查看变量,比较与 who 命令的不同。

6) 熟练掌握 MATLAB 的通用命令。

7) 练习并熟练掌握 MA TLAB 的帮助命令,学会利用 MATLAB 的帮助信息。

8) 用 lookfor 命令查找函数 cos 的信息,并与 help 命令查找的结果相比较,注意采用两种命令之间的差别。

练习二: 1) 创建一个表达式式并求当x =1, y =2时的z 值。

2) 计算i x y 108++=的值,其中451-+-=x 。

3) 创建一个包含“ 她是我们班最好的学生”字符串。

练习三:1) 将如下矩阵 A 进行转置和求逆。

⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡----=412303214A 2) 在MATLAB 环境下,用下面三条指令创建矩阵 C ,看输出怎样的结果。

a=2.7358;b=33/79; C =[1,2*a+i*b,b*sqrt(a);sin(pi/4),a+5*b,3.5+i]练习三:3) 用 rand 函数建立一个 3×3 维随机数值矩阵,并将该数值矩阵转换为符号矩阵,比较它们的不同。

4) 求下述矩阵的逆、特征根和矩阵的行列式值。

⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=333231232221131211a a a a a a a a a A ,⎥⎦⎤⎢⎣⎡=22211211a a a a A 练习四: 1) 用曲面图命令 surf 表现函数 22y x z +=的图像。

MATLAB上机练习

MATLAB上机练习

1、 在MA TLAB 中如何建立矩阵⎥⎦
⎤⎢⎣⎡194375,并将其赋予变量a 。

2、 计算矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡897473535与⎥⎥⎥⎦
⎤⎢⎢⎢⎣⎡638976242的点乘运算。

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

4、 建立M 程序求解连续自然数1到100的和?
5、 建立M 程序求解连续自然数1到n 的和大于10000对应的n 值?
6、 建立M 程序求解1!+2!+3!+4!+5!+6!+7!+8!+9!+10!的值。

7、 建立M 程序求解2的0~63次方的和。

8、某一系统闭环传递函数
,建立M 程序求解系统单位脉冲响应的图像,
响应时间为15秒。

9、已知微分方程,的初始值为1,建立Simulink 方框图,求解微分方程的值。

10、建立一个数据库档案,数据结构体名称为matlab,序号(number ):6;姓名(name ):刘德华;身高(height ):178;成绩(test ):[1,2,3;4,5,6]。

11、某一系统闭环传递函数,判断系统是否稳定?如不稳定,请采用PID 控制器基于Simulink 建立能使系统稳定的仿真框图,并标明每个模块的功能。

Matlab上机练习题及答案

Matlab上机练习题及答案

Matlab 上机练习题及答案---------------------------------------------------------------------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<d ,c&d, c|d ,~c|~d解:命令为:a=[-1,0,-6,8;-9,4,0,;0,0,,-2;0,-23,0,-7] b=a(:,[1 2]) c=a([1 2],:) d=b ’ e=a*b f=c<d g=c&d h=c|d i=~c|~d---------------------------------------------------------------------5、求!201∑=n n解:命令文件为 sum=0; s=1;for n=1:20 s=n*s; sum=sum+s; end sum---------------------------------------------------------------------6、求a aa aaa aa a S n ++++=得值,其中a 是一个数字,由键盘输入,表达式中位数最多项a 的个数,也由键盘输入。

Matlab上机题库及详细答案

Matlab上机题库及详细答案
例17:输入一个字符,若为大写字母,则输出其对应的小写字母;若为小写字母,则输出其对应的大写字母;若为数字字符则输出其对应的数值,若为其他字符则原样输出。
解:c=input('请输入一个字符','s');
if c>='A' & c<='Z'
disp(setstr(abs(c)+abs('a')-abs('A')));
elseif c>='a'& c<='z'
disp(setstr(abs(c)- abs('a')+abs('A')));
(2)均值为0.6方差为0.1的5阶正态分布随机矩阵
解:>>x=20+(50-20)*rand(5);
>>y=0.6+sqrt(0.1)*randn(5)
例13:将101~125等25个数填入一个5行5列的表格中,使其每行每列及对角线的和均为565。
解:M=100+magic(5)
M =117 124 101 108 115
-0.4606
0.3848
例2、用简短命令计算并绘制在0x6范围内的sin(2x)、sinx2、sin2x。
解:x=linspace(0,6)
y1=sin(2*x),y2=sin(x.^2),y3=(sin(x)).^2;
plot(x,y1,x, y2,x, y3)
例3:画出指数衰减曲线y1=exp(-t/3)*sin(3*t)和它的包络y2=exp(-t/3),t的取值范围是(0,4pi)。

上机练习专题1:Matlab语言基础

上机练习专题1:Matlab语言基础
计算二重积分 xe xy dxdy 求x3 3x 2 y 5xy 2对x的2阶偏导 运行f='a*x^2+b*x+c', solve(f),观察结果 运行f1=solve('tan(2*x)=sin(x)'),观察结果
数学物理建模与计算机辅助设计
练习4:Matlab的符号运算(续)
– – – – 运行g1='x+y+z=1';g2='x-y+z=2';g3='2*x-y-z=1'; 再运行f=solve(g1,g2,g3),观察结果 再运行[f.x, f.y, f.z],观察结果 运行dsolve('Dx=y','Dy=-x','x(0)=0','y(0)=1'),观察结果
• 求解微分方程
– 运行dsolve('D2y=-a^2*y','y(0)=1','Dy(pi/a)=0') ,观察结果
• 求解微分方程
– 求解方程并绘图
d2 y dy 2 2y 0 2 dx dx dy y 0 1, 0 0 dx
Page 6
数学物理建模与计算机辅助设计
练习3:矩阵的基本运算
– – – – – – – – – – – –
Page 4
在命令窗口中输入A=[1 2 3; 4 5 6; 7 8 9],回车,观察结果 再输入B=zeros(size(A));C=ones(2,4); D=eye(3);,回车 在命令窗口中输入B=A(1:2,:),回车,观察结果 再在命令窗口中输入C=repmat(B,2,3),回车,观察结果 输入A=[1 2 3;2 3 4;3 4 5]; B=[1 1 1;2 2 2;3 3 3]; C=A+B; 输入E=[B,[5 5 5]'];C=A*E;,回车,观察结果 输入A=[5 12 8;6 5 8;9 6 10]; B=[7;11;7]; X=A\B,回车 输入A=[2 1 -3 -1; 3 1 0 7; -1 2 4 -2; 1 0 -1 5]; B=inv(A)回车 输入C=det(A),回车,观察结果 输入D=[1,2,3;4,5,6;7,8,9]; E=D^3; F=D.^3;,回车观察结果 再输入G=D(1:3,2:3);H=D([1,3],2);,回车观察结果 在命令窗口中输入I=[D;ones(1,3)], J=[D,ones(3,1)],回车

matlab上机题汇总(必做)

matlab上机题汇总(必做)

上机题汇总1设置matlab 的工作环境,将工作目录设置为d:\work ,添加搜索目录d:\example2在matlab 的命令窗口里完成如下计算,其中t 的值分别取-1,0,1,表达式如下:4/3)2t y e π-=3自行产生一个5行5列的数组,得到最中间的三行三行矩阵。

4用magic 产生一个5*5的矩阵,将这个矩阵的第二行与第三行互换位置5求方程组的根 x 1+4x 2-3x 3=22x 1+5x 2-x 3=11x 1+6x 2+x 3=126已知:一个多项式的系数向量是p=[1 -6-72 -27],求这个多项式的根。

7已经两个多项式的系数分别是:[1 2 3 4]和[1 4 9 16],请求这两个多项式的乘积,及商和余数。

8给定一个多项式的根是[-5 -3+4i -3-4i],求原来的多项式9 A=[2 3 4;1 5 7;6 2 5]用什么函数,保证第一列排序的时候,其他列跟着变化。

最后的结果是:[1 5 7;2 3 4;6 2 5]10补充题:电路分析电路分析常常涉及到对方程组的求解,这些方程常常是利用描述电流进入和离开节点的电流方程,或者描述电路中网络回路上的电压的电压方程得出的。

下图描述了3个回路电压的方程方程式如下:11121222132423432532()0()()0()0V R I R I I R I I R I R I I R I I R I V -++-=⎧⎪-++-=⎨⎪-++=⎩假设5个电阻值为已知,2个电压值也为已知,求3个电流值。

11自行产生一个5行5列的数组,用两种方法得到最中间的三行三行矩阵。

12根据a=reshape(-4:4,3,3)做一个矩阵,然后(1)取出所有大于0的元素构成一个向量(可推广到从一个矩阵里筛选出符合条件的元素组成一个向量)(2)将原矩阵中大于0的元素正常显示,而小于等于0的元素全部用0来表示(可推广到将原矩阵中不符合条件的全用0来表示,符合条件的值不变)。

matlab上机练习

matlab上机练习

1、画出2222)sin(y x y x z ++=所表示的三维曲面,y x ,的取值范围是]8,8[-。

要求采用不同的方法生成坐标网格,并注意如何回避分母不为零的问题。

方法1:clear;x=-8:0.5:8;y=x';X=ones(size(y))*x;Y=y*ones(size(x));R=sqrt(X.^2+Y.^2)+eps;Z=sin(R)./R;mesh(X,Y,Z);colormap(hot)xlabel('x'),ylabel('y'),zlabel('z')方法2:x=-8:0.5:8;[X,Y]=meshgrid(x,y);R=sqrt(X.^2+Y.^2)+eps;Z=sin(R)./R;surf(X,Y ,Z)surf(x,y,Z)方法3:x=-8:0.5:8;y=x;for i=1:length(y)for j=1:length(x)r=sqrt(x(j)^2+y(i)^2)+eps;z(i,j)=sin(r)/r;endendsurf(x,y,z);2、通过M 脚本文件,画出下列分段函数所表示的曲面⎪⎪⎩⎪⎪⎨⎧-≤+≤+<->+=+-------15457.0117575.015457.0),(215.175.375.0216215.175.375.02112122212212122x x e x x e x x e x x p x x x x x x x xclear;a=2;b=2;clf;x=-a:0.2:a;y=-b:0.2:b;%方法1:% for i=1:length(y)% for j=1:length(x)% if x(j)+y(i)>1% z(i,j)=0.5457*exp(-0.75*y(i)^2-3.75*x(j)^2-1.5*x(j));% elseif x(j)+y(i)<=-1% z(i,j)=0.5457*exp(-0.75*y(i)^2-3.75*x(j)^2+1.5*x(j));% else% z(i,j)=0.7575*exp(-y(i)^2-6.0000*x(j)^2);% end% end% end% axis([-a,a,-b,b,min(min(z)),max(max(z))]);% colormap(flipud(winter));% surf(x,y,z);%方法2:for i=1:length(x)for j=1:length(y)if x(i)+y(j)>1z(j,i)=0.5457*exp(-0.75*y(j)^2-3.75*x(i)^2-1.5*x(i));elseif x(i)+y(j)<=-1z(j,i)=0.5457*exp(-0.75*y(j)^2-3.75*x(i)^2+1.5*x(i));elsez(j,i)=0.7575*exp(-y(j)^2-6.0000*x(i)^2);endendendaxis([-a,a,-b,b,min(min(z)),max(max(z))]);colormap(flipud(winter));surf(x,y,z);%方法3:% y=y';% X=ones(size(y))*x;% Y=y*ones(size(x));% Z=zeros(size(X));% for i=1:length(y)%size(X,1)% for j=1:length(x)%size(X,2)% if X(i,j)+Y(i,j)>1% z(i,j)=0.5457*exp(-0.75*Y(i,j)^2-3.75*X(i,j)^2-1.5*X(i,j)); % elseif X(i,j)+Y(i,j)<=-1% z(i,j)=0.5457*exp(-0.75*Y(i,j)^2-3.75*X(i,j)^2+1.5*X(i,j)); % else% z(i,j)=0.7575*exp(-Y(i,j)^2-6.0*X(i,j)^2);% end% end% end% axis([-a,a,-b,b,min(min(z)),max(max(z))]); % colormap(flipud(winter));% surf(X,Y,z);。

Matlab上机题库及详细答案

Matlab上机题库及详细答案
rate=8/100;
case num2cell(25:49) %价格大于等于2500但小于5000
Байду номын сангаасrate=10/100;
otherwise %价格大于等于5000
rate=14/100;
end
price=price*(1-rate) %输出商品实际销售价格
例19已知,当n=100时,求的值。
解:程序如下:
y=0;n=100;for i=1:n;y=y+1/(2*i-1);End
例20:一个三位整数各位数字的立方和等于该数本身则称该数为水仙花数。输出全部水仙花数
解:for m=100:999
m1=fix(m/100);m2=rem(fix(m/10),10);m3=rem(m,10);
if m==m1*m1*m1+m2*m2*m2+m3*m3*m3;disp(m);end
D=diag(1:5);D*A %用D左乘A,对A的每行乘以一个指定常数
例15:输入x,y的值,并将它们的值互换后输出。
程序如下:
x=input('Input x please.');y=input('Input y please.');z=x;x=y;y=z;
disp(x);disp(y);
例16::求一元二次方程ax2 +bx+c=0的根。
switch fix(price/100)
case {0,1} %价格小于200
rate=0;
case {2,3,4} %价格大于等于200但小于500
rate=3/100;
case num2cell(5:9) %价格大于等于500但小于1000

MATLAB_上机试题

MATLAB_上机试题

一、作业;1.下面是一个线性方程组:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡52.067.095.03216/15/14/15/14/13/14/13/12/1x x x 求方程的解。

2、输入一个电压等级,要求输出为变电站的主接线方式。

输入500时,输出为“一个半断路器接线”输入为220时,输出为“双母线带旁路接线。

输入为110时,输出为“单母分段接线“输入为35时,输出为“单母线接线”输入为其他时,输出为“请输入正确的电压等级”要求:(1) 用if 语句实现。

(2) 用switch 语句实现。

3、输出九九乘法表4、画图功能(1)单窗口单曲线x=[0, 0.48,0.84,1,0.91,0.6,0.14]只上述X 来画图(2)单窗口多曲线t=0:pi/100:2*pi;y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5);横坐标为t ,纵坐标为y,y1,y2的曲线画在一个图上面。

(3) 多窗口曲线图将(2)里面提供的数据分别画在3个窗口里面。

二、仪器设备;计算机、MATLAB软件。

三、实验原理;1、任何算法功能都可以通过程序模块组成的三种基本程序结构的组合来实现: 顺序结构:程序按程序语句或模块在执行流中的顺序逐个执行。

选择结构:程序按设定的条件实现程序执行流的多路分支。

循环结构:程序按给定的条件重复地执行指定的程序段或模块。

if表达式1程序模块1elseif 表达式2程序模块2…elseif 表达式n程序模块nelse程序模块n+1endswitch 表达式case 数值1程序模块1;case 数值2程序模块2;……case 数值n程序模块n;otherwise程序模块n+1endfor 循环变量 = v语句段endwhile 条件表达式语句段endFunction 输出变量=函数名称(输入变量)语句;end;2、画图的基本形式(1)plot(y)(2)plot(x,y)(3)plot(x1,y1,x2,y2,…)(4)subplot(n,m,l)意思是把一个窗口分成n*m个窗口,现在取其中第l个四、注意事项;1、关键字与end标识语句段的起止。

完整版本matlab上机练习试题含答案

完整版本matlab上机练习试题含答案

1.计算 a6 9 3 2 4 1 的数组乘积1 71618 82 7 与 b6 8 5 计算多项式除法 (3x 3+13 x 2+6x+8)/( x+4)54>> a=[6 9 3;2 7 5]; >> d=deconv([3 13 6 8],[1 4])>> b=[2 4 1;4 6 8]; d =>> a.*b 31 2ans =6 求欠定方程组2 4 7 4x 8 的最小范数解12 3639 35 6 584240>> a=[2 4 7 4;9 3 5 6];4 9 2 37>> b=[8 5]';>> x=pinv(a)*b2.对于 AXB ,假如 A7 6 4 ,B 26,求解 X 。

3 5 728x =-0.2151>> A=[4 9 2;7 6 4;3 5 7]; 0.4459 >> B=[37 26 28] ’;0.7949 >> X=A\B 0.2707X =7 用符号函数法求解方程 at 2+b* t+c=0-0.5118 >> r=solve('a*t^2+b*t+c=0','t') 4.0427 r =1.3318[ 1/2/a*(-b+(b^2-4*a*c)^(1/2))] 1 2 5 , b8 7 4 [ 1/2/a*(-b-(b^2-4*a*c)^(1/2))]3. a64 362 ,察看 a 与 b 之间的3a 11 a 12六种关系运算的结果8求矩阵 A的队列式值、逆和特点根a 21 a 22 >> a=[1 2 3;4 5 6];>> b=[8 –7 4;3 6 2]; >> syms a11 a12 a21 a22; >> a>b >> A=[a11,a12;a21,a22]ans =>> AD=det(A) % 队列式 0 1 0 >> AI=inv(A) % 逆 11>> AE=eig(A) % 特点值>> a>=b A =ans =[ a11, a12] 0 1 0 [ a21, a22] 11AD =>> a<b a11*a22-a12*a21 ans =AI =1 0 1 [ -a22/(-a11*a22+a12*a21), a12/(-a11*a22+a12*a21)]1[ a21/(-a11*a22+a12*a21), -a11/(-a11*a22+a12*a21)] >> a<=b AE =ans =1 0 1 [ 1/2*a11+1/2*a22+1/2*(a11^2-2*a11*a22+a22^2+4*a12*a21)^(1/2)]1>> a==b [ 1/2*a11+1/2*a22-1/2*(a11^2-2*a11*a22+a22^2+4*a12*a21)^(1/2)]ans =9 因式分解: x 45x 3 5 x 2 5x 60 0 0 >> syms x;>> f=x^4-5*x^3+5*x^2+5*x-6; >> a~=b >> factor(f) ans =ans =1 1 1 (x-1)*(x-2)*(x-3)*(x+1) 111ax 214 计算多项式乘法 (x 2+2x+2)(x 2+5x+4),用符号微分求 df/dx 。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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....... ......〖说明〗省略号由笔者所加,用来表示被删除的内容。

相关文档
最新文档