《MATLAB-第六次实验.ppt》由会员分享,可在线阅读,更多相关《MATLAB-第六次实验.ppt(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、MATLAB-第六次实验第一页,共24页。在工程计算中的应用(在工程计算中的应用(P274,例例10-1)在机械工程设计中的应用(在机械工程设计中的应用(P276,例例10-4)在产品质量检验中的应用(在产品质量检验中的应用(P282,例例10-9)在工程电路计算与分析中的应用(在工程电路计算与分析中的应用(P285,例例10-12)2应用领域应用领域第二页,共24页。3 例例 对对n=1,2,10,求求xn= 的值。的值。10sin n 编写编写M文件文件 for1.m如下:如下: for n=1:10 x(n)=sin(n*pi/10); end x 运行即可得结果。运行即可得结果。 fo
2、r循环应注意:循环应注意: for循环内不能对循环变量重新赋值;循环内不能对循环变量重新赋值; for循环内接受任何有效的循环内接受任何有效的MATLAB数组;数组; for循环可按需要嵌套;为提高运算速度,能用其它方法解决时,尽量不用循环可按需要嵌套;为提高运算速度,能用其它方法解决时,尽量不用for循环,必须要用循环,必须要用for循环时应预先分配数组循环时应预先分配数组(预先分配内存预先分配内存)。第三页,共24页。4 solve(a*x2+b*x+c=0) x=sym(x); diff(cos(x)2) syms a b x; int(x2,a,b)u 求一元二次方程求一元二次方程 a
3、x2 + bx + c = 0 的根的根 u 求的根求的根 f (x) = (cos x)2 的一次导数的一次导数u 计算计算 f (x) = x2 在区间在区间 a, b 上的定积分上的定积分第四页,共24页。55 例例 设银行年利率为设银行年利率为11.25%。将。将10000元钱存入银行,问多长时间会连本带利翻一番?元钱存入银行,问多长时间会连本带利翻一番? 编写编写M文件文件 while1.m如下:如下: money=10000; years=0; while money syms x h n; L=limit(log(x+h)-log(x)/h,h,0) M=limit(1-x/n)
4、n,n,inf)第六页,共24页。7int(f,v,a,b): 计算定积分计算定积分int(f,a,b): 计算关于计算关于默认变量默认变量的定积分的定积分int(f,v): 计算不定积分计算不定积分int(f): 计算关于计算关于默认变量默认变量的不定积分的不定积分 syms x; f=(x2+1)/(x2-2*x+2)2; I=int(f,x) K=int(exp(-x2),x,0,inf)( )baf v dv ( )f v dv 例:计算 和2221(22)xIdxxx 20 xKedx 第七页,共24页。8 syms n; f=1/n2; S=symsum(f,n,1,inf) S1
5、00=symsum(f,n,1,100)symsum(f,v,a,b): 求和求和symsum(f,a,b): 关于关于默认变量默认变量求和求和( )bv af v 例:计算级数例:计算级数 及其前及其前100项的部分和项的部分和211nSn 例:计算函数级数例:计算函数级数21nxSn syms n x; f=x/n2; S=symsum(f,n,1,inf)第八页,共24页。9q dsolvey=dsolve(eq1,eq2, . ,cond1,cond2, . ,v)其中其中 y 为输出的解,为输出的解, eq1、eq2、. . . 为微分方程,为微分方程,cond1、cond2、.为初
6、值条件,为初值条件, v 为自变量为自变量例例 1:求微分方程求微分方程 的通解的通解22xdyxyxedx y=dsolve(Dy+2*x*y=x*exp(-x2),x)第九页,共24页。10例例 :求微分方程求微分方程 满足初值条件满足初值条件 的特解,并画出解函数的图形。的特解,并画出解函数的图形。0 xxyye y=dsolve(x*Dy+y-exp(x)=0, . y(1)=2*exp(1), x) ezplot(y);12( )ye 第十页,共24页。例:例:求某目标函数求某目标函数: 的最值的最值fx=(x)x.4+3*x.3+5*x.2+10;x,fval=fminbnd(fx
7、,-100,100)102.*53.*34.)()(xxxxtf第十一页,共24页。12极坐标、柱坐标和球坐标系下绘制图形极坐标、柱坐标和球坐标系下绘制图形 ploar是直接在极坐标系下绘图的命令调用格式为:是直接在极坐标系下绘图的命令调用格式为: ploar(THETA, RHO,S)其中其中 S 是字符串,用来控制图形的线型。是字符串,用来控制图形的线型。绘制半径为绘制半径为 2 的渐开线。的渐开线。 rhe=2; theta=0:pi/20:4*pi; rho=rhe+theta*rhe; polar(theta,rho,r) 第十二页,共24页。13用用 subplot函数函数把两种不
8、同的图形综合在一个图形窗口中。把两种不同的图形综合在一个图形窗口中。 subplot(2,2,1) t=0.1:0.1:2*pi; y=sin(t); semilogx(t,y) grid on subplot(2,2,2) t=0:0.1:4*pi; y=sin(t); plot(t,y)subplot(2,2,3) x=1:0.01:5; y=exp(x); plotyy(x,y,x,y,semilogx,plot) subplot(2,2,4) x=1:0.1:10; y=sqrt(x); plot(x,y,:rd) 第十三页,共24页。14用函数用函数 pie 和和 pie3 绘制饼图
9、。绘制饼图。x=200,360,120,400,320; subplot(2,2,1),pie(x,0 0 0 1 0) subplot(2,2,2),pie3(x,0 0 0 1 0) subplot(2,2,3),pie(x(2:5) subplot(2,2,4), x=0.1,0.12,0.21,0.34,0.11;pie3(x ,A,B,C,D,E)第十四页,共24页。15x、y、z 是向量时,是向量时,plot3 命令的使用命令的使用t=0:0.1:8*pi; plot3(sin(t),cos(t),t)title(绘制螺旋线) %用命令用命令 title 对图形主题进行标注对图形主
10、题进行标注 xlabel(sin(t),FontWeight,bold,FontAngle,italic) ylabel(cos(t),FontWeight,bold,FontAngle,italic) zlabel(t,FontWeight,bold,FontAngle,italic) %命令命令 zlabel 用来指定用来指定 z 轴的数据名称轴的数据名称 grid onx、y、z 都是矩阵时,都是矩阵时,plot3 命令的使用命令的使用X,Y=meshgrid(-pi:0.1:pi);Z=sin(X)+cos(Y); plot3(X,Y,Z) 第十五页,共24页。g.绘制三维圆柱曲面命令
11、绘制三维圆柱曲面命令cylinder cylinder命令中,柱面的轴线定义为 z 轴,只要给出母线的描述就可完成一个柱面。 调用格式为: X,Y,Z = cylinder(R,N);X,Y,Z = cylinder(R):缺省值 N=20; X,Y,Z = cylinder:缺省值 N=20,R=1,1。 R:是一描述柱面母线的向量;N:是旋转柱面上的分割线条数;X,Y,Z :是返回的x,y,z坐标向量。 绘制一个柱面。绘制一个柱面。 t=pi:0.01:3*pi; r=sin(t)+t; cylinder(r,30) shading interp第十六页,共24页。17球面的表达球面的表达
12、spheresphere 调用格式为:调用格式为: X,Y,Z=sphere(N)X,Y,Z=sphere(N):产生一个(产生一个( N+1N+1)()( N+1 N+1)的矩阵,然后用函数的矩阵,然后用函数 surf surf 命令绘制一个命令绘制一个单位的球面,单位的球面,N N 为设置为设置分割线的条数;分割线的条数; X,Y,Z = sphereX,Y,Z = sphere:缺省值缺省值 N = 20N = 20。画一个球面。画一个球面。 X,Y,Z=sphere; surf(X,Y,Z)第十七页,共24页。【例】示波器应用示例。Simulink仿真模型如左图所示,示波器输入为3(Y
13、轴个数为3)。右图为该示波器显示的三路输入信号的波形. 第十八页,共24页。 :符号函数符号函数。 该模块的输出为输入信号的符号。下图为对正弦信号经符号运算后的波形。第十九页,共24页。【例】积分分离式PID控制器。这种PID控制器可以让控制器中的积分项在系统响应进入稳态时投入运行,以提高稳态精度;而在系统响应处于瞬态过程时,将积分项断开以改善系统动态响应质量。积分分离式PID控制器建立如图所示: 使能模块的控制信号为delta与abs(e)的差值。delta为一很小的正数,当偏差e的绝对值小于delta时,控制器的积分项才投入使用,从而实现了控制器中的积分项的分离控制。第二十页,共24页。例
14、:例: 使用3个单选钮控制静态文本框的背景颜色。function radiobutton1_Callback(hObject, eventdata, handles)set(handles.text1,BackGroundColor,r)function radiobutton2_Callback(hObject, eventdata, handles)set(handles.text1,BackGroundColor,g)function radiobutton3_Callback(hObject, eventdata, handles)set(handles.text1,BackGroun
15、dColor,b)第二十一页,共24页。打开该GUI的 m 文件ex11.m,在函数pushbutton1_Callback 与 pushbutton2_Callback中加入代码,如下所示:function pushbutton1_Callback(hObject, eventdata, handles)s1=str2double(get(handles.edit1,String)s2=str2double(get(handles.edit2,String)set(handles.text1,String,s1+s2);function pushbutton2_Callback(hObjec
16、t, eventdata, handles)s1=str2double(get(handles.edit1,String)s2=str2double(get(handles.edit2,String)set(handles.text1,String,s1-s2);第二十二页,共24页。在输入信号x(t)=1(即单位阶跃信号),要求建立M文件,画出输出信号y(t)(即单位阶跃响应)的图象,MATLAB程序如下:G=tf(100,1,10,100); %得到传递函数G(S)t=0:0.05:3; %时间t设在03秒间,运算间隔0.05秒y=step(G,t); %得到单位阶跃响应y(t)plot(t,y,-k); %绘制出y(t) 图象xlabel(t); %横坐标轴标号为tylabel(y(t); %纵坐标轴标号为y(t)grid %绘制出栅格以便于读取数值已知系统传递函数 ,其中: 5 . 0sradn/102222210010100X(S)Y(S)G(S)nnnSSSS第二十三页,共24页。谢谢!第二十四页,共24页。