文档库 最新最全的文档下载
当前位置:文档库 › MATLAB作业

MATLAB作业

MATLAB作业
MATLAB作业

MATLAB 作业

0.1 窗口操作

建立更大的魔方矩阵,对矩阵的各行和各列进行求和等操作。 0.2 削顶全波整流

正弦波为y = sin x ,画一削顶全波整流曲线,顶部的值为3/4。

0.3 无穷级数的渐近线

下面无穷级数右边需要取多少项才与左边值的误差小于10-3

?画出级数的渐近线。

2

2

2

2

π

111 (6)

1

2

3

=

+

+

+

0.4 方格中的魔方

根据魔方的阶数画方格,将魔方填入方格中。

0.5 正多边形的画法

从键盘输入正多边形的边数,画正多边形,再加外接圆。

0.6 堆叠圆(柱)的新画法

修改程序P0_9.m ,用单循环画堆叠的圆(柱)。(提示:用meshgrid 函数建立矩阵。) 0.7 椭圆族的画法 椭圆的直角坐标方程为

222

2

1x y a

b

+

=

椭圆的参数方程为

x = a cos θ,y = b sin θ

取a 为长度单位,取b /a = 0.4~1.6,间隔为0.2,用两种公式画出椭圆曲线族。

0.8 指数余弦曲线族的绘制

指数函数和余弦函数的乘积形成新的函数

y = e ax

cos bx

当b = 0.5时,如果a = -0.6到0的7个值,间隔为0.1,画函数曲线族,画极小值的杆线和极小值的分布曲线。

0.9 画曲线和曲面

比正弦函数为sin r z r

=

,画出以r 为自变量的函数曲线。如果r =,画出以

x 和y 为自变量的函数曲面。

0.10 动画的制作

(1)设计程序,演示方块做圆周运动的动画。

(2)设计程序,演示正多边形和顶点数字或字母的旋转。 0.11 函数的零点

求下一非线性方程的零解并与解析解进行比较

4()4f x x x =-

+

0.12 求导数

求函数y = e ax sin bx 的导数,其中a = -0.5,b = 2。画数值导数和符号导数曲线并与解析

解进行比较。

0.13 求积分

(1)求证:函数y =

1[ln(2

I x C =

+

+

当x = 0时,I = 0。设计程序,用多种方法画出积分的函数曲线。如果函数为y =x ≤ 1),应该如何修改程序,才能画出正确的积分曲线?

(2)求证:函数y = 1/sin x (0 < x ≤ π/2)的积分为

ln |tan

|2x I C =+

当x = π/2时,I = 0。设计程序,用多种方法画出从-π/2到π/2的积分曲线(零点例外)。如果函数为y = 1/cos x (0 ≤ x < π/2),当x = 0时,I = 0。应该如何修改程序,才能画出积分曲线?

0.14 求解微分方程

(1)一阶常数微分方程为

2

d atan()d 1

y x x

x =+

当x = 0时,y = 1。用微分方程的数值解和符号解画出函数曲线,并与解析解进行比较。 (2)下面二阶常数微分方程没有精确的解析解,当x = 0时,y'(0) = 0,y (0)由键盘输入(例如π/3等),求方程的数值解,画出函数和函数导数的曲线。

2

2d cos d y y x

=

0.15 电场的方向

两个等量异号的点电荷带电量为±Q ,标记各点场强的方向。(提示:用quiver 指令。) 0.16 求偏导数

两个同号点电荷带电量都为Q (Q > 0),相距为2a ,画出电场线和等势线。(提示:修改程序P0_24.m 。)

MATLAB编程作业

《Matlab 编程训练》 作业 专 业 学生姓名 班级 学 号 指导教师 完成日期

实训一 MATLAB 语言介绍和数值计算 1.先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存变量。 12 2sin851z e =+ . 2. 已知 1234413134787,2033657327A B --???? ????==???? ????-???? ,求下列表达式的值: (1) A+6*B 和A-B+I (其中I 为单位矩阵) A+6*B:

A-B+I: (2)A*B和A.*B A*B程序: A=[12 34 -4;34 7 87;3 65 7] B=[1 3 -1;2 0 3;3 -2 7] c=A*B 结果: A.*B程序: A=[12 34 -4;34 7 87;3 65 7] B=[1 3 -1;2 0 3;3 -2 7] D=A.*B 结果:

(3)A^3和A.^3 A^3程序: A=[12 34 -4;34 7 87;3 65 7] E=A^3 结果: A.^3程序: A=[12 34 -4;34 7 87;3 65 7] C=A.^3 (4)A/B及B\A A/B程序: A=[12 34 -4;34 7 87;3 65 7] B=[1 3 -1;2 0 3;3 -2 7] C=A/B 结果:

B\A程序: A=[12 34 -4;34 7 87;3 65 7] B=[1 3 -1;2 0 3;3 -2 7] D=B\A 结果: (5)将矩阵C=B\A的右下角2*2子矩阵赋给D, 并(3)保存变量(mat文件)程序: A=[12 34 -4;34 7 87;3 65 7]; B=[1 3 -1;2 0 3;3 -2 7]; C=B*inv(A); D=C(2:3,2:3) 结果:

(完整版)MATLAB常用函数大全

一、MATLAB常用的基本数学函数 abs(x):纯量的绝对值或向量的长度 angle(z):复数z的相角(Phase angle) sqrt(x):开平方 real(z):复数z的实部 imag(z):复数z的虚部 conj(z):复数z的共轭复数 round(x):四舍五入至最近整数 fix(x):无论正负,舍去小数至最近整数 floor(x):地板函数,即舍去正小数至最近整数ceil(x):天花板函数,即加入正小数至最近整数rat(x):将实数x化为分数表示 rats(x):将实数x化为多项分数展开 sign(x):符号函数(Signum function)。 当x<0时,sign(x)=-1; 当x=0时,sign(x)=0; 当x>0时,sign(x)=1。 rem(x,y):求x除以y的馀数 gcd(x,y):整数x和y的最大公因数 lcm(x,y):整数x和y的最小公倍数 exp(x):自然指数 pow2(x):2的指数 log(x):以e为底的对数,即自然对数或 log2(x):以2为底的对数 log10(x):以10为底的对数 二、MATLAB常用的三角函数 sin(x):正弦函数 cos(x):余弦函数

tan(x):正切函数 asin(x):反正弦函数 acos(x):反馀弦函数 atan(x):反正切函数 atan2(x,y):四象限的反正切函数 sinh(x):超越正弦函数 cosh(x):超越馀弦函数 tanh(x):超越正切函数 asinh(x):反超越正弦函数 acosh(x):反超越馀弦函数 atanh(x):反超越正切函数 三、适用於向量的常用函数有: min(x): 向量x的元素的最小值 max(x): 向量x的元素的最大值 mean(x): 向量x的元素的平均值 median(x): 向量x的元素的中位数 std(x): 向量x的元素的标准差 diff(x): 向量x的相邻元素的差 sort(x): 对向量x的元素进行排序(Sorting)length(x): 向量x的元素个数 norm(x): 向量x的欧氏(Euclidean)长度sum(x): 向量x的元素总和 prod(x): 向量x的元素总乘积 cumsum(x): 向量x的累计元素总和cumprod(x): 向量x的累计元素总乘积 dot(x, y): 向量x和y的内积 cross(x, y): 向量x和y的外积 四、MATLAB的永久常数

matlab 作业

实验一 1、熟悉MATLAB的窗口结构(命令窗口、历史命令窗口、工作区窗口、当前目录 窗口) 2、掌握命令窗口中基本命令的使用 3、在命令窗口中,给定圆的半径r,求得圆的周长c和面积s,并查看工作区窗 口的变化 4、将r,c,s变量保存到磁盘文件abc.mat中,并删除内存变量r,c,s,查看工作 区窗口的变化 5、将abc.mat文件中变量装入内存,查看工作区窗口的变化 6、将历史命令窗口中的命令再装入命令窗口中使用 7、改变当前目录,查看当前目录窗口的变化 8、掌握命令窗口中 cd,quit,help,date,dir,ls,what,who,clocl,fix(clock),format,save,loa d,clc,clear等命令的使用 9、注意各种MATLAB版本的差别 实验二 1、在命令窗口中,输入长方形的长和宽,求长方形的周长和面积 2、输入三角形的三条边(要满足构成三角形的条件),求三角形的周长和面积 3、掌握MATLAB中各标准函数的使用(sin,cos,sind,fix,mod,…) 4、用fprintf输出各种类型的数据(如fprintf('a=%d\n',123) a=123 >> fprintf('b=%f\n',123.456) b=123.456000 >> fprintf('c=%c\n','A') c=A……) 实验三 1、在编辑窗口中:输入学生成绩,输出该成绩的等级。等级规定如下:[90, 100]为A等,[80,90)为B等,[70,80)为C等,[60,70)为D等,[0,60)为E等。要求用if和 switch两种方法实现。 2、商场购物,100件以下,不优惠,100~199件95折,200~399件90折,400~799 件85折,800~1499件80折,1500件以上,75折。输入所购货物的单价、件数,求实际付款数目。要求用if和 switch两种方法实现(在编辑窗口中实现)。 实验四 1、求两个正整数的最大公约数和最小公倍数(在编辑窗口中实现,命令窗口中 调用)。 2、求100~300内所有素数(在编辑窗口中实现,命令窗口中调用)。

MATLAB程序设计作业

Matlab程序设计 班级 姓名 学号

《MATLAB程序设计》作业 1、考虑如下x-y 一组实验数据: x=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] y=[1.2, 3, 4, 4, 5, 4.7, 5, 5.2, 6, 7.2] 分别绘出plot的原始数据、一次拟合曲线和三次拟合曲线,给出MATLAB代码和运行结果。 代码如下: x=[1,2,3,4,5,6,7,8,9,10]; y=[1.2,3,4,4,5,4.7,5,5.2,6,7.2]; plot(x,y); title('原始数据'); p=polyfit(x,y,1); q=polyval(p,x); figure,plot(x,q); title('一次拟合'); p=polyfit(x,y,2); q=polyval(p,x); figure,plot(x,q); title('二次拟合'); 运行结果如下:

1 2 3 4 5 6 7 8 9 10 12 3 4 5 6 7 8 原始数据 123 456789 102 2.5 3 3.54 4.5 55.56 6.57一次拟合 123456789 101 2 3 4 5 6 7 二次拟合 2、在[0,3π]区间,绘制y=sin(x)曲线(要求消去负半波,即(π,2π)区间内的函数值置零),求出曲线y 的平均值,以及y 的最大值及其最大值的位置。给出执行代码和运行结果。 代码如下: clear clc x=(0:0.01:3*pi); y=sin(x); plot(x,y); y1=(y>=0).*y; figure,plot(x,y1);

matlab 常用函数汇总

matlab 常用函数汇总 编程2008-07-10 21:45:20 阅读46 评论0 字号:大中小订阅matlab常用函数 图形注释 Title 图形标题 Xlabel X轴标记 Ylabel Y轴标记 Text 文本注释 Gtext 用鼠标放置文本 Grid 网格线 MATLAB编程语言 Function 增加新的函数 Eval 执行由MA TLAB表达式构成的字串 Feval 执行由字串指定的函数 Global 定义全局变量 程序控制流 If 条件执行语句 Else 与if命令配合使用 Elseif 与if命令配合使用 End For,while和if语句的结束 For 重复执行指定次数(循环) While 重复执行不定次数(循环) Break 终止循环的执行 Return 返回引用的函数 Error 显示信息并终止函数的执行 交互输入 Input 提示用户输入 Keyboard 像底稿文件一样使用键盘输入 Menu 产生由用户输入选择的菜单 Pause 等待用户响应 Uimenu 建立用户界面菜单 Uicontrol 建立用户界面控制 一般字符串函数 Strings MATLAB中有关字符串函数的说明 Abs 变字符串为数值 Setstr 变数值为字符串 Isstr 当变量为字符串时其值为真 Blanks 空串 Deblank 删除尾部的空串 Str2mat 从各个字符串中形成文本矩阵 Eval 执行由MA TLAB表达式组成的串 字符串比较 Strcmp , , , 比较字符串 Findstr 在一字符串中查找另一个子串

Upper 变字符串为大写 Lower 变字符串为小写 Isletter 当变量为字母时,其值为真 Isspace 当变量为空白字符时,其值为真 字符串与数值之间变换 Num2str 变数值为字符串 Int2str 变整数为字符串 Str2num 变字符串为数值 Sprintf 变数值为格式控制下的字符串 Sscanf 变字符串为格式控制下的数值 十进制与十六进制数之间变换 Hex2num 变十六进制为IEEE标准下的浮点数Hex2dec 变十六制数为十进制数 Dec2hex 变十进制数为十六进制数 建模 Append 追加系统动态特性 Augstate 变量状态作为输出 Blkbuild 从方框图中构造状态空间系统Cloop 系统的闭环 Connect 方框图建模 Conv 两个多项式的卷积 Destim 从增益矩阵中形成离散状态估计器Dreg 从增益矩阵中形成离散控制器和估计器Drmodel 产生随机离散模型 Estim 从增益矩阵中形成连续状态估计器Feedback 反馈系统连接 Ord2 产生二阶系统的A、B、C、D Pade 时延的Pade近似 Parallel 并行系统连接 Reg 从增益矩阵中形成连续控制器和估计器Rmodel 产生随机连续模型 Series 串行系统连接 Ssdelete 从模型中删除输入、输出或状态ssselect 从大系统中选择子系统 模型变换 C2d 变连续系统为离散系统 C2dm 利用指定方法变连续为离散系统 C2dt 带一延时变连续为离散系统 D2c 变离散为连续系统 D2cm 利用指定方法变离散为连续系统 Poly 变根值表示为多项式表示 Residue 部分分式展开 Ss2tf 变状态空间表示为传递函数表示 Ss2zp 变状态空间表示为零极点表示

MATLAB 作业

1.求解方程组sin(x-y)=0,cos(x-y)=0写出求解的MATLAB程序?(写出求解的MATLAB的程序,采用solve命令) 答案 >> [x,y]=solve('sin(x-y)=0','cos(x+y)=0','x','y') x = -1/4*pi 1/4*pi y = -1/4*pi 1/4*pi 2.设3x’’-5x’+6x=y,x(0)=3,x’(0)=0,求y(5)的值?(写出求解该微分方程的MATLAB程序,用dsolve命令) %ex1_9.m f='3*D2x-5*x+6*x-y=0';x=dsolve(f,'Dx(0)=0,x(0)=0','y') %ex1_10.m y=solve('-sin(1/3*3^(1/2)*y)*3^(1/2)+y-x=0','x=5','x','y') x = -sin(1/3*3^(1/2)*y)*3^(1/2)+y y = x: [1x1 sym] y: [1x1 sym] 3. 1 3 5 7 A= 9 2 4 6 求B=A^T,C=A^-1,用for循环 8 10 3 5 求解A各元素的和,以及A中的最小元 答案 >> A=[1 3 5 7;9 2 4 6;8 10 3 5],B=A' A = 1 3 5 7 9 2 4 6 8 10 3 5 B = 1 9 8 3 2 10 5 4 3 7 6 5 %ex1_5.m

s=0 m=A(1,1) for i=1:3 for j=1:4 if ( A(i,j)<=m ) ; m=A(i,j) end s=s+A(i,j) end end m s m=1 s=63 实验一 MATLAB 语言的控制语句 实验学时: 2 学时 实验目的: 1、了解MATLAB 语言的体系结构及MATLAB 语言的特点; 2、掌握MATLAB 循环语句、条件转移语句等的使用方法,能编写相应程序实现所需功能。 实验内容: 一、使用 for 循环、while 循环计算6302i i k == ∑ 1、for 循环 确定循环变量的起始值、终止值; 编写循环语句组,实现所需功能; 运行程序,并记录结果。 2、while 循环 确定循环的条件表达式; 编写循环语句组,实现所需功能; 运行程序,并记录结果。 二、采用搜寻法寻找矩阵23121416524332372148656166 646463A ??????=?????? 中最小的元素,以及它的位置。 实验报告:

matlab程序设计第三章课后习题答案

1. p138 第6题在同一坐标轴中绘制下列两条曲线并标注两曲线交叉点。 >> t=0:0.01:pi; >> x1=t; >> y1=2*x1-0.5; >> x2=sin(3*t).*cos(t); >> y2=sin(3*t).*sin(t); >> plot(x1,y1,'r-',x2,y2,'g-') >> axis([-1,2,-1.5,1]) >> hold on >> s=solve('y=2*x-0.5','x=sin(3*t)*cos(t)','y=sin(3*t)*sin(t)'); >> plot(double(s.x),double(s.y),'*'); 截图:

p366 第4题绘制极坐标曲线,并分析对曲线形状的影响。 function [ output_args ] = Untitled2( input_args ) %UNTITLED2 Summary of this function goes here % Detailed explanation goes here theta=0:0.01:2*pi; a=input('请输入a的值:'); b=input('请输入b的值:'); n=input('请输入n的值:'); rho=a*sin(b+n*theta); polar(theta,rho,'k'); end 下面以a=1,b=1,n=1的极坐标图形为基础来分析a、b、n的影响。

对a的值进行改变:对比发现a只影响半径值的整倍变化 对b的值进行改变:对比发现b的值使这个圆转换了一定的角度

对n的值进行改变:对比发现当n>=2时有如下规律 1、当n为整数时,图形变为2n个花瓣状的图形 2、当n为奇数时,图形变为n个花瓣状的图形 分别让n为2、3、4、5

matlab 常用函数(1)

A axis() axis([xmin xmax ymin ymax]) sets the limits for the x- and y-axis of the current axes. axis([xmin xmax ymin ymax zmin zmax cmin cmax]) sets the x-, y-, and z-axis limits and the color scaling limits (see caxis) of the current axes. axis equal sets the aspect ratio so that the data units are the same in every direction. The aspect ratio of the x-, y-, and z-axis is adjusted automatically according to the range of data units in the x, y, and z directions C clf Clear current figure window G grid off/on The grid function turns the current axes' grid lines on and off. H hold on/off ●The hold function determines whether new graphics objects are added to the graph or replace objects in the graph. ●hold on retains the current plot and certain axes properties so that subsequent graphing commands add to the existing graph. ●hold off resets axes properties to their defaults before drawing new plots. hold off is the default

MATLAB第一章作业答案

第一章 M A T L A B 概况与基本操作 1.选择题(每题2分,共20分): (1)最初的MATLAB 核心程序是采用D 语言编写的。 A.PASCAL B.C C.BASIC D.FORTRAN (2)即将于2011年9月发布的MATLAB 新版本的编号为C 。 A.MATLAB 2011Ra B.MATLAB 2011Rb C.MATLAB R2011b D.MATLAB R2011a (3)在默认设置中,MATLAB 中的注释语句显示的颜色是B 。 A.黑色 B.绿色 C.红色 D.蓝色 (4)如果要以科学计数法显示15位有效数字,使用的命令是A 。 A.format long e B.format long C.format long g D.format long d (5)在命令窗口新建变量a 、b ,如果只查看变量a 的详细信息,使用的命令为A 。 A.whos a B.who a C.who D.whos (6)如果要清除工作空间的所有变量,使用的命令为C 。 A.clear B.clear all C.两者都可 D.两者都不可 (7)在创建变量时,如果不想立即在命令窗口中输出结果,可以在命令后加上B 。 A.冒号 B.分号 C.空格 D.逗号 (8)如果要重新执行以前输入的命令,可以使用D 键。 A.下箭头↓ B.右箭头→ C.左箭头← D.上箭头↑ (9)如果要查询函数det 的功能和用法,并显示在命令窗口,应使用命令C 。 A.doc B.lookfor C.help D.三者均可 (10)如果要启动Notebook 文档,下列D 操作是可行的。 A.在命令窗口输入notebook 命令 B.在命令窗口输入notebook filename 命令 C.在Word 中启动M-book 文档 D.三者均可 2.填空题(每空1分,共20分): (1)MATLAB 是matrix 和laboratory 两个单词前三个字母的组合,意为“矩阵实验室”,它的创始人是Cleve Moler 和Jack Little 。 (2)在MATLAB 的默认设置中,关键字显示的字体为蓝色,命令、表达式、计算结果显示的字体为黑色,字符串显示的字体为褐红色,注释显示的字体为绿色,错误信息显示的字体为红色。 (3)在命令窗口中,输出结果显示为各行之间添加空行的命令为format loose ,各行之间不添加空行的命令为format compact 。 (4)在MATLAB 中,各种标点符号的作用是不同的。例如,空格的作用是分隔数组每行各个元素,逗号的作用是分隔数组每行各个元素或函数的各个输入参数,分号的作用是作为不显示命令结果的命令行的结尾或分隔数组各列,冒号的作用是生成一维数组或表示数组全部元素,百分号的作用是引导一行注释,…的作用是连接相邻两行,感叹号的作用是调用操作系统命令。 3.程序设计题(每题10分,共40分) (1)以25m/s 的初速度向正上方投球(g=9.8m/s 2),计算到达最高点的时间tp 以及球从出发点到 最高点的距离hp 。 解:根据物理学知识,物体上抛运动的速度与经过的时间之间的关系为0p p v v gt =-,因此所需要的时间为0p p v v t g -=。而到达最高点时的速度0p v =,因此可根据此公式求出tp : v0=25;g=9.8;vp=0; tp=(v0-vp)/g tp = 2.5510

实验二--MATLAB程序的设计(含实验报告)

实验二 MATLAB 程序设计 一、 实验目的 1.掌握利用if 语句实现选择结构的方法。 2.掌握利用switch 语句实现多分支选择结构的方法。 3.掌握利用for 语句实现循环结构的方法。 4.掌握利用while 语句实现循环结构的方法。 5.掌握MATLAB 函数的编写及调试方法。 二、 实验的设备及条件 计算机一台(带有MATLAB7.0以上的软件环境)。 M 文件的编写: 启动MATLAB 后,点击File|New|M-File ,启动MATLAB 的程序编辑及调试器(Editor/Debugger ),编辑以下程序,点击File|Save 保存程序,注意文件名最好用英文字符。点击Debug|Run 运行程序,在命令窗口查看运行结果,程序如有错误则改正 三、 实验容 1.编写求解方程02=++c bx ax 的根的函数(这个方程不一定为一元二次方程,因c b a 、、的不同取值而定),这里应根据c b a 、、的不同取值分别处理,有输入参数提示,当0~,0,0===c b a 时应提示“为恒不等式!”。并输入几组典型值加以检验。 (提示:提示输入使用input 函数) 2.输入一个百分制成绩,要求输出成绩等级A+、A 、B 、C 、D 、E 。其中100分为A+,90分~99分为A ,80分~89分为B ,70分~79分为C ,60分~69分为D ,60分以下为E 。 要求:(1)用switch 语句实现。 (2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。 (提示:注意单元矩阵的用法) 3.数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。重复此过程,最终得到的结果为1。如: 2→1 3→10→5→16→8→4→2→1 6→3→10→5→16→8→4→2→1

自动控制原理Matlab程序作业(精)

自控控制原理 MATLAB 程序设计作业 指导老师:汪晓宁 目录 一、题目 (2) 二、运行结果 (3) 三、程序说明 (8) 四、附录 ............................................ 9 代码 . ............................................. 9 参考文献 .. (17) 一、题目 用 Matlab 创建用户界面,并完成以下功能 a 将产生未综合系统的根轨迹图以及 0.707阻尼比线, 你可以交互地选择交点的运行点。界面能显示运行点的坐标、增益值以及近似为二阶系统估算的超调量、调整时间、峰值时间、阻尼比、无阻尼自然震荡频率以及稳态误差 b 显示未综合系统的阶跃响应 c 输入控制器的参数, 绘制综合后系统的根轨迹图以及显示综合的设计点 (主导极点 , 允许不断改变控制器参数,知道所绘制的根轨迹通过设计点 d 对于综合后的系统, 显示运行点的坐标、增益,近似为二阶系统估算的超调量、调整时间、峰值时间、阻尼比、无阻尼自然震荡频率以及误差系数 e 显示综合后系统的阶跃响应 二、运行结果

输入传递函数分子分母 生成根轨迹图

选择点并得到该点各项参数在下方输出面板输出 获得阶跃响应图 用 rltool(辅助,选择合适的插入零点

输入零点,并得到根轨迹图

选择根轨迹图上的任一点,得到数据,在下方输出面板输出得到阶跃响应图 三、运行说明

第一步, 在请输入分子后的输入框输入传递函数分子的矩阵, 在下一输入框输入传递函数分母并按“生成根轨迹图”按钮获得根轨迹 第二步, 按选择点并显示各参数获得根轨迹图上任一点的各项数据, 数据全部输出在下方输出面板 第三步,按“生成阶跃响应图”按钮可以获得该函数的阶跃响应 第四步,在“请输入插入零点”后的输入框中输入参数,并按“生成综合后根轨迹图” 按钮产生根轨迹 (可以通过点击“根轨迹校正”按钮,调用工具箱拖动零点进行快速查看根轨迹图,选择合适的根轨迹再在输入框中输入零点的值 第五步,按“选择点并显示各参数(综合后系统”选取各点,查阅参数,数据输出在下方输出面板上 第六步,按“生成阶跃响应图(综合后系统”可以得到综合后系统的阶跃响应 最后,点击“退出”结束程序 四、附录 代码: function varargout = Liushuai20122510(varargin % LIUSHUAI20122510 MATLAB code for Liushuai20122510.fig % LIUSHUAI20122510, by itself, creates a new LIUSHUAI20122510 or raises the existing % singleton*. %

MATLAB作业

一、必答题: 1. MATLAB系统由那些部分组成? 答:MATLAB系统主要由开发环境、MATLAB语言、MATLAB数学函数库、图形功能和应用程序接口五个部分组成。 2. 如何启动M文件编辑/调试器? 答:在操作界面上选择“建立新文件”或“打开文件”操作时,M文件编辑/调试器将被启动。在命令窗口中键入“edit”命令也可以启动M文件编辑/调试器。 3. 存储在工作空间中的数组能编辑吗?如何操作? 答:存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可。 4. 在MATLAB中有几种获得帮助的途径? 答:在MATLAB中有多种获得帮助的途径: (1)帮助浏览器:选择view菜单中的Help菜单项或选择Help菜单中的MATLAB Help菜单项可以打开帮助浏览器; (2)help命令:在命令窗口键入“help” 命令可以列出帮助主题,键入“help 函数名”可以得到指定函数的在线帮助信息; (3)lookfor命令:在命令窗口键入“lookfor 关键词”可以搜索出一系列与给定关键词相关的命令和函数 (4)模糊查询:输入命令的前几个字母,然后按Tab键,就可以列出所有以这几个字母开始的命令和函数。 5. 有几种建立矩阵的方法?各有什么优点? 答:(1)以直接列出元素的形式输入; (2)通过语句和函数产生; (3).在m文件中创建矩阵; (4)从外部的数据文件中装入。 6. 命令文件与函数文件的主要区别是什么? 答:命令文件: M文件中最简单的一种,不需输出输入参数,用M 文件可以控制工作空间的所有数据。运行过程中产生的变量都是全局变量。运行一个命令文件等价于从命令窗口中顺序运行文件里的命令,程序不需要预先定义,只要依次将命令编辑在命令文件中即可。 函数文件:如果M文件的第一个可执行行以function开始,便是函数文件,每一个函数文件定义一个函数。函数文件区别于命令文件之处在于命令文件的变量在文件执行完成后保留在工作空间中,而函数文件内定义的变量只在函数文件内起作用,文件执行完后即被清除。 7. 创建符号变量有几种方法?

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)

MATLAB常用函数

数字信号处理与MATLAB 实现 1. n1=[ns:nf]; x1=[zeros(1,n0-ns),1,zeros (1,nf-n0)]; %单位抽样序列的产生 2. subplot(2,2,4) 画2行2列的第4个图 3. stem(n,x) %输出离散序列,(plot 连续) 4. 编写子程序可调用 4.1 单位抽样序列)(0n n -δ生成函数impseq.m [x,m]=impseq(n0,ns,nf); %序列的起点为ns ,终点为nf ,在n=n0点处生成一个单位脉冲 n=[-5:5];x1=3*impseq(2,-5,5)-impseq(-4,-5,5) x1 = 0 -1 0 0 0 0 0 3 0 0 0 n=[-5:5];x1=3*impseq(2,-4,5)-impseq(-4,-5,4) %起点到终点长度要一致 x1 = 0 -1 0 0 0 0 3 0 0 0 4.2 单位阶跃序列)(0n n u -生成函数stepseq.m [x,n]=stepseq(no,ns,nf) %序列的起点为ns ,终点为nf ,在n=n0点处生成一个单位阶跃 4.3 两个信号相加的生成函数sigadd.m [y,n]=sigadd(x1,n1,x2,n2) 4.4 两个信号相乘的生成函数sigmult.m [y,n]=sigmult(x1,n1,x2,n2) 4.5 序列移位y(n)=x(n-n0)的生成函数sigshift.m [y,n]=sigshift(x,m,n0) 4.6 序列翻褶y(n)=x(-n)的生成函数sigfold.m [y,n]=sigfold(x,n) 4.7 evenodd.m 函数可以将任一给定的序列x(n)分解为xe(n)和xo(n)两部分 [xe,xo,m]=evenodd(x,n) 4.8 序列从负值开始的卷积conv_m, conv 默认从0开始 function [y,ny]=conv_m(x,nx,h,nh) 有{x(n):nx1≤n ≤nx2},{h(n):nh1≤n ≤nh2}, 卷积结果序列为 {y(n):nx1+nh1≤n ≤nx2+nh2} 例. 设1132)(-++=z z z X ,1225342)(-+++=z z z z X ,求)()()(21z X z X z Y += 程序: x1=[1,2,3];n1=-1:1; x2=[2,4,3,5];n2=-2:1; [y,n]=conv_m(x1,n1,x2,n2)

Matlab程序设计大作业(终审稿)

M a t l a b程序设计大作 业 公司内部档案编码:[OPPTR-OPPT28-OPPTL98-OPPNN08]

Matlab程序设计 课程大作业 题目名称:_________________________________ 班级:_________________________________ 姓名:_________________________________ 学号:_________________________________ 课程教师:温海骏 学期: 2015-2016学年第2学期 完成时间:

MATLAB优化应用 §1 线性规划模型 一、线性规划问题: 问题1:生产计划问题 假设某厂计划生产甲、乙两种产品,现库存主要材料有A类3600公斤,B类2000公斤,C类3000公斤。每件甲产品需用材料A类9公斤,B类4公斤,C类3公斤。每件乙产品,需用材料A类4公斤,B类5公斤,C类10公斤。甲单位产品的利润70元,乙单位产品的利润120元。问如何安排生产,才能使该厂所获的利润最大。 问题2:投资问题 某公司有一批资金用于4个工程项目的投资,其投资各项目时所得的净收益(投入资金百分比)如下表:工程项目收益表 由于某种原因,决定用于项目A的投资不大于其他各项投资之和而用于项目B和C的投资要大于项目D的投资。试确定该公司收益最大的投资分配方案。 问题3:运输问题

有A 、B 、C 三个食品加工厂,负责供给甲、乙、丙、丁四个市场。三个厂每天生产食品箱数上限如下表: 四个市场每天的需求量如下表: 从各厂运到各市场的运输费(元/每箱)由下表给出: 求在基本满足供需平衡的约束条件下使总运输费用最小。 §2 多目标规划模型 多目标规划定义为在一组约束下,多个不同的目标函数进行优化设计。 数学模型: 12min ()() ().()0,1,2, ,m j f x f x f x st g x j k ???? ≤= 其中x=(x 1 ,x 2 , … ,x n )为一个n 维向量;f i (x)为目标函数,i=1, 2, … ,m; g j (x)为系统约束, j=1, 2, … ,k 。

Matlab大作业

Matlab 大作业 (组内成员:彭超杰、南彦东、江明伟) 一、研究模型 (电车)通过控制油门(保持一定角度)来调节电动机能输出稳定的转速,从而控制车速稳定。 数学依据说明如下: 由图可知存在以下关系:a d a a u w k R i dt di L =++ (w k e d d =) L M M dt dw J -= a m i k M = L a m M i k dt dw J -=

k为反电势常数,m k为电动机电磁力矩常数,这里忽略阻尼力矩。d

二、数学模型 再看整个研究对象,示意图以课本为依据,不同点是这里将数控的进给运动,转换为汽车行驶所需要的扭矩。(这里不说明扭矩的具体产生过程,仅仅说明输出车轮旋转的角速度w ) 对照课本不同,() s θ变为()s N ,1 221z z w w =,1w 为电动机的转速,2w 为轮胎的转速,1z 为电动机的光轴齿轮的齿数,2z 为与轮胎相连光轴的 齿轮齿数。 )(*10110w x w k x ==,1 21z z k = ()c a m m d b a m x K K K k s k k JRs JLs K K K k s G i 1231+++= () c a m m d M K K K k s k k JRs JLs R Ls K s G L 1231)(++++-= 同理,忽略电枢绕组的电感L ,简化系统传递函数方框图如下

()JR K K K k JR s k k s JR K K K k s G c a m m d b a m x i 121++= ()JR K K K k JR s k k s K K K K k s k k Rs R K s G c a m m d c a m m d M L 121121++-=++-=

matlab程序设计作业

Matlab程序设计作业 姓名: 学号: 专业:

? MATLAB 程序设计》作业 1、考虑如下x-y 一组实验数据: x=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] y 二[1.2, 3, 4, 4, 5, 4.7, 5, 5.2, 6, 7.2] 分别绘出plot 的原始数据、一次拟合曲线和三次拟合曲线,给出 原始曲线 MATLAB 代码和运行结果。 7 6 5 4 3 2 2 3 4 5 6 7 8 9 10

7 6.5 6 5.5 5 4.5 4 3.5 3 2.5 10 一次拟合 三次拟合

x=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; y=[1.2, 3, 4, 4, 5, 4.7, 5, 5.2, 6, 7.2]; figure; plot(x,y) p1=polyfit(x,y,1); y1=polyval(p1,x); figure; plot(x,y1) p2=polyfit(x,y,3); y2=polyval(p2,x); figure; plot(x,y2) 2、在[0, 3n区间,绘制y二Sin(x)曲线(要求消去负半波,即(n 2n)区间内的函数值置零),求出曲线y 的平均值,以及y 的最大值及其最大值的位置。给出执行代码和运行结果。 x=0:pi/1000:3*pi; y=Sin(x); y1=(y>=0).*y; %消去负半波figure(1); plot(x,y1, 'b' ); a=mean(y1) %求出y1 的平均值 b=max(y1) %求出y1 的最大值b, 以及最大值在矩阵中的位置; d=x(find(y1==b)) >> ex1 a = 0.4243 b = 1 d = 1.5708 7.8540 >>

MatLab常用函数大全

1、求组合数 C,则输入: 求k n nchoosek(n,k) 例:nchoosek(4,2) = 6. 2、求阶乘 求n!.则输入: Factorial(n). 例:factorial(5) = 120. 3、求全排列 perms(x). 例:求x = [1,2,3]; Perms(x),输出结果为: ans = 3 2 1 3 1 2 2 3 1 2 1 3 1 2 3 1 3 2 4、求指数 求a^b:Power(a,b) ; 例:求2^3 ; Ans = pow(2,3) ; 5、求行列式 求矩阵A的行列式:det(A); 例:A=[1 2;3 4] ; 则det(A) = -2 ; 6、求矩阵的转置 求矩阵A的转置矩阵:A’ 转置符号为单引号. 7、求向量的指数 求向量p=[1 2 3 4]'的三次方:p.^3 例: p=[1 2 3 4]' A=[p,p.^2,p.^3,p.^4] 结果为:

注意:在p 与符号”^”之间的”.”不可少. 8、求自然对数 求ln(x):Log(x) 例:log(2) = 0.6931 9、求矩阵的逆矩阵 求矩阵A 的逆矩阵:inv(A) 例:a= [1 2;3 4]; 则 10、多项式的乘法运算 函数conv(p1,p2)用于求多项式p1和p2的乘积。这里,p1、p2是两个多项式系数向量。 例2-2 求多项式43810x x +-和223x x -+的乘积。 命令如下: p1=[1,8,0,0,-10]; p2=[2,-1,3]; c=conv(p1,p2) 11、多项式除法 函数[q ,r]=deconv(p1,p2)用于多项式p1和p2作除法运算,其中q 返回多项式p1除以p2的商式,r 返回p1除以p2的余式。这里,q 和r 仍是多项式系数向量。 例2-3 求多项式43810x x +-除以多项式223x x -+的结果。 命令如下: p1=[1,8,0,0,-10]; p2=[2,-1,3]; [q,r]=deconv(p1,p2) 12、求一个向量的最大值 求一个向量x 的最大值的函数有两种调用格式,分别是:

MATLAB期末作业(MATLAB应用)

Matlab在汽车振动分析中的应用 XXX (昆明理工大学交通工程学院,昆明650500) 摘要:在明确汽车振动的产生原因及其危害的基础上,对汽车振动进行了理论分析、MATLAB编程计算以及试验研究。结果表明:将MATLAB强大的数据处理和可视化技术应用于汽车振动分析与控制中,既可以验证理论分析的结果,又可以预测汽车响应,具有很高的实用价值。 关键字:MATLAB 汽车振动激励阻尼自由度 1 汽车振动的产生原因及其危害 机械振动是一种特殊形式的运动,激励、质量、弹性和阻尼是振动系统的四大要素。如果把汽车作为一个系统来研究,汽车本身就是一个具有质量、弹簧和阻尼的振动系统。由于汽车内部各部分的固有频率不同,汽车在行驶中常因路面不平、车速和运动方向的变化,车轮、发动机和传动系统的不平衡,以及齿轮的冲击等各种外部和内部的激振作用而极易产生整车和局部的强烈振动。汽车的这种振动使汽车的动力性得不到充分的发挥,使经济性变坏。同时,还要影响汽车的通过性、操纵稳定性和平顺性,使乘员产生不舒服和疲乏的感觉,甚至损坏汽车的零部件和运载的货物,缩短汽车的使用寿命[1]。因此,研究汽车振动的目的主要有两方面:一是降低振动对汽车零部件的损伤、对汽车使用性能的危害;二是试图利用振动为汽车设计服务,利用振动机理设计制造振动机械以减轻劳动强度,提高工作效率是不乏先例的。 2汽车振动的理论分析 2.1建立振动的力学模型 当一个实际振动系统较复杂时,建立的模型越复杂,越接近实际情况,模拟越逼真,但往往使分析困难;相反地,建立模型时,分析越容易,但得到的结果可能不精确,因此,在建立振动系统力学模型中,总是在求得简化表达和逼真模拟二者之间的折衷[2]。振动分析的关键就是:根据研究的内容和要求,把所研究的对象以及外界对它的作用简化为一个既简单又能在动态特性方面与原来的研究对象等效的力学模型。 汽车是由多个系统组成的复杂的振动系统,每个系统都存在振动问题。主要包括发动机、传动系统、制动系统、转向系统、悬架系统、车身和车架系统存在的振动问题。研究汽车这样一个复杂的振动系统,要根据所分析的问题进行简化,具体简化方案有以下几种 [3]: 1)当汽车对称于其纵轴线时,汽车车身只有垂直振动和俯仰振动对平顺性影响最大。此时,将汽车简化成如图1a)所示的四个自由度的平面模型,因轮胎阻尼较小,在此予以忽略。在这个模型中,车身质量m2,主要考虑垂直和俯仰两个自由度前、后车轴质量m1f,m1r。有两个垂直自由度。 2)当汽车前、后轴悬架质量分配达到一定值时,前、后悬架系统的垂直振动几乎是独立的。于是可以将汽车进一步简化为如图1b)所示的车身和车轮两个自由度振动系统。 M2:为簧载(车身)质量,m1为非簧载(车轮)质量。分析平顺性时,只考虑两个质量的垂直自由度。

相关文档