MATLAB编程实例100例

MATLAB编程实例100例

1-32是:图形应用篇

33-66是:界面设计篇

67-84是:图形处理篇

85-100是:数值分析篇

实例1:三角函数曲线(1)

function shili01

h0=figure('toolbar','none',...

'position',[198 56 350 300],... 'name','实例01'); h1=axes('parent',h0,...

'visible','off');

x=-pi:0.05:pi;

y=sin(x);

plot(x,y);

xlabel('自变量X');

ylabel('函数值Y');

title('SIN( )函数曲线');

grid on

实例2:三角函数曲线(2)

function shili02

h0=figure('toolbar','none',...

'position',[200 150 450 350],... 'name','实例02'); x=-pi:0.05:pi;

y=sin(x)+cos(x);

plot(x,y,'-*r','linewidth',1); grid on

xlabel('自变量X');

ylabel('函数值Y');

title('三角函数');

实例3:图形的叠加

function shili03

h0=figure('toolbar','none',...

现代信号处理Matlab仿真——例611

例6.11 利用卡尔曼滤波估计一个未知常数 题目: 设已知一个未知常数x 的噪声观测集合,已知噪声v(n)的均值为零, 方差为 ,v(n)与x 不相关,试用卡尔曼滤波估计该常数 题目分析: 回忆Kalman 递推估计公式 由于已知x 为一常数,即不随时间n 变化,因此可以得到: 状态方程: x(n)=x(n-1) 观测方程: y(n)=x(n)+v(n) 得到A(n)=1,C(n)=1, , 将A(n)=1,代入迭代公式 得到:P(n|n-1)=P(n-1|n-1) 用P(n-1)来表示P(n|n-1)和P(n-1|n-1),这是卡尔曼增益表达式变为 从而 2v σ1??(|1)(1)(1|1)(|1)(1)(1|1)(1)()()(|1)()[()(|1)()()]???(|)(|1)()[()()(|1)](|)[()()](|1)H w H H v x n n A n x n n P n n A n P n n A n Q n K n P n n C n C n P n n C n Q n x n n x n n K n y n C n x n n P n n I K n C n P n n --=----=----+=--+=-+--=--2()v v Q n σ=()0w Q n =(|1)(1)(1|1)(1)()H w P n n A n P n n A n Q n -=----+21 ()(|1)[(|1)]v K n P n n P n n σ-=--+22(1)()[1()](1)(1)v v P n P n K n P n P n σσ-=--=-+

一个简单的Matlab_GUI编程实例

Matlab GUI编程教程(适用于初学者) 1.首先我们新建一个GUI文件:如下图所示; 选择Blank GUI(Default) 2.进入GUI开发环境以后添加两个编辑文本框,6个静态文本框,和一个按钮,布置如下

图所示; 布置好各控件以后,我们就可以来为这些控件编写程序来实现两数相加的功能了。3.我们先为数据1文本框添加代码; 点击上图所示红色方框,选择edit1_Callback,光标便立刻移到下面这段代码的位置。 1. 2. 3.function edit1_Callback(hObject, eventdata, handles) 4.% hObject handle to edit1 (see GCBO) 5.% eventdata reserved - to be defined in a future version of MATLAB

6.% handles structure with handles and user data (see GUIDATA) 7.% Hints: get(hObject,'String') returns contents of edit1 as text 8.% str2double(get(hObject,'String')) returns contents of edit1 as a double 复制代码 然后在上面这段代码的下面插入如下代码: 1. 2.%以字符串的形式来存储数据文本框1的内容. 如果字符串不是数字,则现实空白内容input = str2num(get(hObject,'String')); %检查输入是否为空. 如果为空,则默认显示为0if (isempty(input)) set(hObject,'String','0')endguidata(hObject, handles); 复制代码 这段代码使得输入被严格限制,我们不能试图输入一个非数字。 4.为edit2_Callback添加同样一段代码 5 现在我们为计算按钮添加代码来实现把数据1和数据2相加的目的。 用3中同样的方法在m文件中找到pushbutton1_Callback代码段 如下; 1.function pushbutton1_Callback(hObject, eventdata, handles) 2.% hObject handle to pushbutton1 (see GCBO) 3.% eventdata reserved - to be defined in a future version of MATLAB 4.% handles structure with handles and user data (see GUIDATA) 复制代码

Matlab仿真实例-卫星轨迹

卫星轨迹 一.问题提出 设卫星在空中运行的运动方程为: 其中是k 重力系数(k=401408km3/s)。卫星轨道采用极坐标表示,通过仿真,研究发射速度对卫星轨道的影响。实验将作出卫星在地球表面(r=6400KM ,θ=0)分别以v=8KM/s,v=10KM/s,v=12KM/s 发射时,卫星绕地球运行的轨迹。 二.问题分析 1.卫星运动方程一个二阶微分方程组,应用Matlab 的常微分方程求解命令ode45求解时,首先需要将二阶微分方程组转换成一阶微分方程组。若设,则有: 2.建立极坐标如上图所示,初值分别为:卫星径向初始位置,即地球半径:y(1,1)=6400;卫星初始角度位置:y(2,1)=0;卫星初始径向线速度:y(3,1)=0;卫星初始周向角速度:y(4,1)=v/6400。 3.将上述一阶微分方程及其初值带入常微分方程求解命令ode45求解,可得到一定时间间隔的卫星的径向坐标值y(1)向量;周向角度坐标值y(2)向量;径向线速度y(3)向量;周向角速度y(4)向量。 4.通过以上步骤所求得的是极坐标下的解,若需要在直角坐标系下绘制卫星的运动轨迹,还需要进行坐标变换,将径向坐标值y(1)向量;周向角度坐标值y(2)向量通过以下方程转换为直角坐标下的横纵坐标值X,Y 。 5.卫星发射速度速度的不同将导致卫星的运动轨迹不同,实验将绘制卫星分别以v=8KM/s ,v=10KM/s ,v=12KM/s 的初速度发射的运动轨迹。 三.Matlab 程序及注释 1.主程序 v=input('请输入卫星发射速度单位Km/s :\nv=');%卫星发射速度输入。 axis([-264007000-1000042400]);%定制图形输出坐标范围。 %为了直观表达卫星轨迹,以下语句将绘制三维地球。 [x1,y1,z1]=sphere(15);%绘制单位球。 x1=x1*6400;y1=y1*6400;???????-=+-=dt d dt dr r dt d dt d r r k dt r d θ θθ2)(2 22222θ==)2(,)1(y r y ?????????????**-=**+*-===)1(/)4()3(2)4()4()4()1()1()1()3()4()2() 3()1(y y y dt dy y y y y y k dt dy y dt dy y dt dy ???*=*=)] 2(sin[)1(Y )]2(cos[)1(X y y y y

实例matlab-非线性规划-作业

实例matlab-非线性规划-作业

现代设计方法-工程优化理论、方法与设计 姓名 学号 班级 研 问题 : 某厂向用户提供发动机,合同规定,第一、二、三季度末分别交货40台、60台、80台。每季度的生产费用为 (元),其中x 是该季生产的台数。若交货后有剩余,可用于下季度交货,但需支付存储费,每台每季度c 元。已知工厂每季度最大生产能力为100台,第一季度开始时无存货,设a=50、b=0.2、c=4,问工厂应如何安排生产计划,才能既满足合同又使总费用最低。讨论a 、b 、c 变化对计划的影响,并作出合理的解释。 问题的分析和假设: 问题分析:本题是一个有约束条件的二次规划问题。决策变量是工厂每季度生产的台数,目标函数是总费用(包括生产费用和存储费)。约束条件是生产合同,生产能力的限制。在这些条件下需要如何安排生产计划,才能既满足合同又使总费用最低。 问题假设: 1、工厂最大生产能力不会发生变化; 2、合同不会发生变更; 3、第一季度开始时工厂无存货; 4、生产总量达到180台时,不在进行生产; 5、工厂生产处的发动机质量有保证,不考虑退货等因素; 6、不考虑产品运输费用是否有厂家承担等和生产无关的因素。 符号规定: x1——第一季度生产的台数; x2——第二季度生产的台数; 180-x1-x2——第三季度生产的台数; y1——第一季度总费用; y2——第二季度总费用; y3——第三季度总费用; y ——总费用(包括生产费用和存储费)。 ()2bx ax x f +=

建模: 1、第一、二、三季度末分别交货40台、60台、80台; 2、每季度的生产费用为 (元); 3、每季度生产数量满足40 ≤x1≤100,0≤x2≤100,100≤x1+x2 ≤180; 4、要求总费用最低,这是一个目标规划模型。 目标函数: y1 2111x b x a Z ?+?= y2()4012222-?+?+?=x c x b x a Z y3()()()10018018021221213 -+?+--?+--?=x x c x x b x x a Z y x x x x x x Z Z Z Z 68644.04.04.0149201 212221321--+++=++= 40≤x1≤100 0≤x2≤100 100≤x1+x2≤180 ()2 bx ax x f +=

MATLAB简单程序大全

MATLAB简单程序大全 求特征值特征向量 A=[2 3 4;1 5 9;8 5 2] det(A) A' rank(A) inv(A) rref(A) eig(A)%求特征值和特征向量 卫星运行问题 h=200,H=51000,R=6378; a=(h+H+2*R)/2; c=(H-h)/2; b=(a^2-c^2)^(1/2); e=c/a; f=sqrt(1-exp(2).*cos(t)^2); l=int(f,t,0,pi/2) L=4*a.*l 动态玫瑰线 n=3;N=10000; theta=2*pi*(0:N)/N; r=cos(n*theta); x=r.*cos(theta); y=r.*sin(theta); comet(x,y) 二重积分 syms x y f=x^2*sin(y); int(int(f,x,0,1),y,0,pi) ezmesh(f,[0,1,0,pi]) 函数画图 syms x;f=exp(-0.2*x)*sin(0.5*x); ezplot(f,[0,8*pi])

玫瑰线 theta=0:0.01:2*pi; r=cos(3*theta); polar(theta,r,'r') 求x^2+y^2=1和x^2+z^2=1所围成的体积 syms x y z R r=1; Z=sqrt(1-x^2); y0=Z; V=8*int(int(Z,y,0,y0),x,0,1) 求导数及图像 f='1/(5+4*cos(x))'; subplot(1,2,1);ezplot(f) f1=diff(f) subplot(1,2,2);ezplot(f1) 绕x轴旋转 t=(0:20)*pi/10; r=exp(-.2*t).*sin(.5*t); theta=t; x=t'*ones(size(t)); y=r'*cos(theta); z=r'*sin(theta); mesh(x,y,z) colormap([0 0 0]) 某年是否闰年 year=input('input year:='); n1=year/4; n2=year/100; n3=year/400; if n1==fix(n1)&n2~=fix(n2) disp('是闰年') elseif n1==fix(n1)&n3==fix(n3) disp('是闰年') else

MATLAB实现通信系统仿真实例

补充内容:模拟调制系统的MATLAB 仿真 1.抽样定理 为了用实验的手段对连续信号分析,需要先对信号进行抽样(时间上的离散化),把连续数据转变为离散数据分析。抽样(时间离散化)是模拟信号数字化的第一步。 Nyquist 抽样定律:要无失真地恢复出抽样前的信号,要求抽样频率要大于等于两倍基带信号带宽。 抽样定理建立了模拟信号和离散信号之间的关系,在Matlab 中对模拟信号的实验仿真都是通过先抽样,转变成离散信号,然后用该离散信号近似替代原来的模拟信号进行分析的。 【例1】用图形表示DSB 调制波形)4cos()2cos(t t y ππ= 及其包络线。 clf %%计算抽样时间间隔 fh=1;%%调制信号带宽(Hz) fs=100*fh;%%一般选取的抽样频率要远大于基带信号频率,即抽样时间间隔要尽可能短。 ts=1/fs; %%根据抽样时间间隔进行抽样,并计算出信号和包络 t=(0:ts:pi/2)';%抽样时间间隔要足够小,要满足抽样定理。 envelop=cos(2*pi*t);%%DSB 信号包络 y=cos(2*pi*t).*cos(4*pi*t);%已调信号 %画出已调信号包络线 plot(t,envelop,'r:','LineWidth',3); hold on plot(t,-envelop,'r:','LineWidth',3); %画出已调信号波形 plot(t,y,'b','LineWidth',3); axis([0,pi/2,-1,1])% hold off% xlabel('t'); %写出图例 【例2】用图形表示DSB 调制波形)6cos()2cos(t t y ππ= 及其包络线。 clf %%计算抽样时间间隔 fh=1;%%调制信号带宽(Hz) fs=100*fh;%抽样时间间隔要足够小,要满足抽样定理。 ts=1/fs; %%根据抽样时间间隔进行抽样

BP神经网络matlab实例(简单而经典)

p=p1';t=t1'; [pn,minp,maxp,tn,mint,maxt]=premnmx(p,t); %原始数据归一化 net=newff(minmax(pn),[5,1],{'tansig','purelin'},'traingdx'); %设置网络,建立相应的BP网络 net.trainParam.show=2000; % 训练网络 net.trainParam.lr=0.01; net.trainParam.epochs=100000; net.trainParam.goal=1e-5; [net,tr]=train(net ,pn,tn); %调用TRAINGDM算法训练BP网络 pnew=pnew1'; pnewn=tramnmx(pnew,minp,maxp); anewn=sim(net,pnewn); %对BP网络进行仿真 anew=postmnmx(anewn,mint,maxt); %还原数据 y=anew'; 1、BP网络构建 (1)生成BP网络 = net newff PR S S SNl TF TF TFNl BTF BLF PF (,[1 2...],{ 1 2...},,,) R?维矩阵。 PR:由R维的输入样本最小最大值构成的2 S S SNl:各层的神经元个数。 [ 1 2...] { 1 2...} TF TF TFNl:各层的神经元传递函数。 BTF:训练用函数的名称。 (2)网络训练 [,,,,,] (,,,,,,) = net tr Y E Pf Af train net P T Pi Ai VV TV (3)网络仿真 = [,,,,] (,,,,) Y Pf Af E perf sim net P Pi Ai T {'tansig','purelin'},'trainrp'

Matlab简单实例学习

Matlab 程序代码 绘制y = 10e-1.5t sin( 7.75t ) 的函数图象 7.75 fv clear; t=0:0.02:10; f1=10/sqrt(7.75).*exp(-1.5*t); f2=sin(sqrt(7.75).*t); y=f1.*f2; plot(t,y,'-k',t,y,'ok'); xlabel('t');ylabel('y(t) ');title('函数图像') axis([-2 10 -0.5 2]) 拉氏变换 clear; clc; syms s t fs1 fs2 fs3 ft1 ft2 ft3; L=1,C=0.1,R=[1.5 3 5]; h1=1/(L*C*s^2+R(1)*C*s+1); h2=1/(L*C*s^2+R(2)*C*s+1); h3=1/(L*C*s^2+R(3)*C*s+1); fs1=h1*(1/s); fs2=h2*(1/s); fs3=h3*(1/s);

ft1=ilaplace(fs1,s,t); ft2=ilaplace(fs2,s,t); ft3=ilaplace(fs3,s,t); ezplot(t,ft1); hold on; ezplot(t,ft2); hold on; ezplot(t,ft3); 信号编码 对[1 1 0 1 1 1 0 1 0 0 1]进行编码。 clear; clc; c=[1 1 0 1 1 1 0 1 0 0 1] for i=1:length(c) if i==1 d1(i)=0;d2(i)=0; elseif i==2 d1(i)=c(i-1);d2(i)=c(i-1); elseif i==3 d1(i)=mod(c(i-1)+c(i-2),2); d2(i)=c(i-1); else d1(i)=mod(c(i-1)+c(i-2),2); d2(i)=mod(c(i-1)+c(i-3),2); end

matlab函数计算的一些简单例子1

MATLAB作业一1、试求出如下极限。 (1) 23 25 (2)(3) lim (5) x x x x x x x ++ + →∞ ++ + ,(2) 23 3 1 2 lim () x y x y xy x y →- → + + ,(3) 22 22 22 1cos() lim ()x y x y x y x y e+ → → -+ + 解:(1)syms x; f=((x+2)^(x+2))*((x+3)^(x+3))/((x+5)^(2*x+5)) limit(f,x,inf) =exp(-5) (2)syms x y; f=(x^2*y+x*y^3)/(x+y)^3; limit(limit(f,x,-1),y,2) =-6; (3)syms x y; f=(1-cos(x^2+y^2))/(x^2+y^2)*exp(x^2+y^2); limit(limit(f,x,0),y,0) =0 2、试求出下面函数的导数。 (1 )() y x=, (2)22 atan ln() y x y x =+ 解; (1)syms x; f=sqrt(x*sin(x)*sqrt(1-exp(x))); g= diff(f,x); g== (sin(x)*(1 - exp(x))^(1/2) + x*cos(x)*(1 - exp(x))^(1/2) - (x*exp(x)*sin(x))/(2*(1 - exp(x))^(1/2)))/(2*(x*sin(x)*(1 - exp(x))^(1/2))^(1/2)) pretty(g)= (2)syms x y; f=atan(y/x)-log(x^2+y^2) pretty(-simple(diff(f,x)/diff(f,y)))= 2 x + y =------- x - 2 y (3) 假设1 cos u- =,试验证 22 u u x y y x ?? = ???? 。 解:syms x y; u=1/cos(sqrt(x/y)); diff(diff(u,x),y)-diff(diff(u,y),x)=0; 所以: 22 u u x y y x ?? = ????

matlab仿真实例

matlab 仿真实例 实验五MATLAB 及仿真实验一、控制系统的时域分析 (一)稳定性 1、系统传递函数为G(s),试判断其稳定性。 程序: >> nu m=[3,2,5,4,6]; >> den=[1,3,4,2,7,2]; >> sys=tf( nu m,de n); >> figure(1); >> pzmap(sys); >> title(' 零极点图') 由图可知:在S 右半平面有极点,因此可知系统是不稳定的。 2、用MATLA 求 出 G(s)=(s A 2+2*s+2)/(s A 4+7*s A 3+5*s+2) 的极点。 程序及结果: >> sys=tf([1,2,2],[1,7,3,5,2]); >> p=pole(sys) 矿'. 赳 _ ■ —

-6.6553 0.0327 + 0.8555i 0.0327 - 0.8555i -0.4100 (二)阶跃响应 1、二阶系统G(s)=10/s A2+2*s+10 1)键入程序,观察并记录单位阶跃响应曲线: 程序: >> sys=tf(10,[1,2,10]); >> step(sys); >> title('G(s)=10/sA2+2*s+10 单位阶跃响应曲线') 2)计算系统闭环跟、阻尼比、无阻尼振荡频率,并记录程序及结果: >> sys=tf(10,[1,2,10]); >> p=pole(sys)

p = -1.0000 + 3.0000i -1.0000 - 3.0000i >> [wn,z]=damp(sys) wn = 3.1623 3.1623 z = 0.3162 0.3162 3)记录实际测取的峰值大小,峰值时间和过渡过程时间,并填表实际值理论值峰值Cmax 1.35s 峰值时间tp 1.05s 过渡时间+5% 3.54s ts +2% 3.18s 程序: >> sys=tf(10,[1,2,10]); >> step(sys); >> title('G(s)=10/sA2+2*s+10 单位阶跃响应曲线')

matlab函数计算的一些简单例子2

MATLAB 作业二 1、请将下面给出的矩阵A 和B 输入到MATLAB 环境中,并将它们转换成符号矩阵。若某一 矩阵为数值矩阵,另以矩阵为符号矩阵,两矩阵相乘是符号矩阵还是数值矩阵。 57651653 5501232310014325462564206441211346,3 9636623 51521210760077410120172440773 473 78 124867217110 7 681 5A B ???? ?????????? ????? ?==?????? ????? ?---????????--??? ? 解:A 转换为符号矩阵;a=sym(A) a=[5,7,6,5,1,6,5] [2,3,1,0,0,1,4][6,4,2,0,6,4,4][3,9,6,3,6,6,2][10,7,6,0,0,7,7][7,2,4,4,0,7,0][4,8,6,7,2,1,7]B 转换为符号矩阵;b=sym(B)b = [3,5,5,0,1,2,3][3,2,5,4,6,2,5][1,2,1,1,3,4,6][3,5,1,5,2,1,2][4,1,0,1,2,0,1][-3,-4,-7,3,7,8,12][1,-10,7,-6,8,1,5] 若某一矩阵为数值矩阵,另以矩阵为符号矩阵,两矩阵相乘是符号矩阵例;a*B= [48,3,64,48,159,106,194][17,-26,47,-8,62,26,59][48,-8,52,12,108,64,124][59,22,41,69,151,101,184][43,-22,91,13,175,121,220][22,39,4,53,88,94,147][75,11,115,36,151,70,151] 2、利用MATLAB 语言提供的现成函数对习题1中给出的两个矩阵进行分析,判定它们是否 为奇异矩阵,得出矩阵的秩、行列式、迹和逆矩阵,检验得出的逆矩阵是否正确。 解:由于a=det(A)=3.7396e+04;故A 是非奇异矩阵。B=det(B)=0,故B 是奇异矩阵; 由于a=rank(A)=7,故A 的秩为7;由于b=rank(B)=5,故B 的秩为5;由于a=trace(A)=27,b=trace(B)=26,故A,B 的迹为27,26;由a=inv(A)得A 的逆矩阵如下;

Matlab简单实例学习

Matlab 程序代码 绘制 1.5 10sin(7.75)7.75 t y e t -= 的函数图象。 fv clear; t=0:0.02:10; f1=10/sqrt(7.75).*exp(-1.5*t); f2=sin(sqrt(7.75).*t); y=f1.*f2; plot(t,y,'-k',t,y,'ok'); xlabel('t');ylabel('y(t) ');title('函数图像') axis([-2 10 -0.5 2]) 拉氏变换 clear; clc; syms s t fs1 fs2 fs3 ft1 ft2 ft3; L=1,C=0.1,R=[1.5 3 5]; h1=1/(L*C*s^2+R(1)*C*s+1); h2=1/(L*C*s^2+R(2)*C*s+1);

h3=1/(L*C*s^2+R(3)*C*s+1); fs1=h1*(1/s); fs2=h2*(1/s); fs3=h3*(1/s); ft1=ilaplace(fs1,s,t); ft2=ilaplace(fs2,s,t); ft3=ilaplace(fs3,s,t); ezplot(t,ft1); hold on; ezplot(t,ft2); hold on; ezplot(t,ft3); 信号编码 对[1 1 0 1 1 1 0 1 0 0 1]进行编码。 clear; clc; c=[1 1 0 1 1 1 0 1 0 0 1] for i=1:length(c) if i==1 d1(i)=0;d2(i)=0; elseif i==2 d1(i)=c(i-1);d2(i)=c(i-1); elseif i==3

Matlab作业

《Matlab/Simulink电力系统建模与仿真》 上机实验报告 班级:15电气工程及其自动化二班 学号:154139240096 姓名:汤嘉旺 实验一:Powergui在简单电力系统潮流计算中的应用实例 1.1实验内容与要求 完成2机5节点电力系统的潮流计算,以2机5节点电力系统为模型进行Matlab/Simulink电力系统建模与仿真。并完成电力系统元件的模型选择、模型参数的计算及设置、计算结果及比较。 2机5节点电力系统图 1.2 Simulink建模原理图和主要模块参数设置 1、发电机模型 在该系统中的两台发电机均选用p.u.标准同步电机模块

“Synchronous Machine pu Standard”,该模块使用标幺值参数,以转子dq 轴建立的坐标系为参数,定子绕组为星形连接。 2、变压器模块 系统中的两台变压器均选用三相双绕组变压器模块 “Three-phase Transformer(Two Windings)”,采用Y-Y连接方式。 3、线路模块 系统中带有地导纳的线路选用三相“II”形等值模块 “Three Phase PI Section Line”,没有对地导纳的线路选用三相串联RLC支路模块“Three Phase Series RLC Branch”。 4、负荷模块 在SimPowerSystems库中,利用R、L、C的串联或并联组合,提供了两个静态三相负荷模块。这两种模块是用恒阻抗支路模拟负荷,在仿真时,在给定的频率下负荷阻抗为常数。 5、母线模块 选择带有测量元件的母线模型,及三相电压电流测量元 件“Three-Phase V-I Measurement”来模拟系统中的母线,同时方便测量流过线路的潮流,在线路元件的两端也设置了该元件。 2机5节点电力系统潮流计算仿真模型图

MATLAB电路仿真实例

题14.14 图(a)所示电路,已知 V )2cos(15S t u =二端口网络阻抗参数矩阵 Ω?? ????=46j 6j 10Z 求ab 端戴维南等效电路并计算电压o u 。 u -+o u 图题14.14 (一)手动求解: 将网络N 用T 型电路等效,如图(b)所示 S U +-o U 等效阻抗 Ω=-+-?+ -=4.6j615j6j6)15(6j 6j 4i Z 开路电压 V 2j302 15j6j6105j6OC =?∠?+-+=U V 1482 18.3j46.42j3j4j4Z j4OC o ?∠=+?=?+=U U i

所以 )1482cos(18.3o ?+=t u V (二)Matlab 仿真: ⒈分析:本次仿真需输入各阻抗Zl 、Z1、Z2、Z3、Z4以及激励源Us 的参数值,仿真结果需输出开路电压Uoc 、等效阻抗Zi 以及电感两端电压U0的幅值和相位信息,并绘制Uoc ,U0的值随时间变化的波形曲线。其中各元件与原图的对应关系如下图所示: ⒉编辑M 文件的源程序如下: clear %清空自定义变量 z1=4-6j;z2=6j;z3=10-6j;z4=5;us=15*exp(j*0);zl=4j;%输入各元件参数 zi=z1+(z2*(z3+z4)/(z2+z3+z4));%等效阻抗zi 的计算表达式uoc=us*z2/(z2+z3+z4);%开路电压uoc 的计算表达式u0=zl/(zi+zl)*uoc;%电感两端电压uo 的计算表达式disp('The magnitude of zi is'); %在屏幕上显示“The magnitude of zi is ”disp(abs(zi)) %显示等效阻抗zi 的模disp('The phase of zi is'); %在屏幕上显示“The phase of zi is ”disp(angle(zi)*180/pi)%显示等效阻抗zi 的辐角 disp('The magnitude of uoc is'); %在屏幕上显示“The magnitude of uoc is ” disp(abs(uoc))%显示开路电压uoc 的模

Matlab简单实例学习

Matlab 程序代码 绘 制 1.5sin(7.75)7.75t y e t -=的函数图象。 fv clear; t=0:0.02:10; f1=10/sqrt(7.75).*exp(-1.5*t); f2=sin(sqrt(7.75).*t); y=f1.*f2; plot(t,y,'-k',t,y,'ok'); xlabel('t');ylabel('y(t) ');title('函数图像') axis([-2 10 -0.5 2]) 拉氏变换 clear; clc; syms s t fs1 fs2 fs3 ft1 ft2 ft3; L=1,C=0.1,R=[1.5 3 5]; h1=1/(L*C*s^2+R(1)*C*s+1); h2=1/(L*C*s^2+R(2)*C*s+1);

h3=1/(L*C*s^2+R(3)*C*s+1); fs1=h1*(1/s); fs2=h2*(1/s); fs3=h3*(1/s); ft1=ilaplace(fs1,s,t); ft2=ilaplace(fs2,s,t); ft3=ilaplace(fs3,s,t); ezplot(t,ft1); hold on; ezplot(t,ft2); hold on; ezplot(t,ft3); 信号编码 对[1 1 0 1 1 1 0 1 0 0 1]进行编码。clear; clc; c=[1 1 0 1 1 1 0 1 0 0 1] for i=1:length(c) if i==1 d1(i)=0;d2(i)=0; elseif i==2 d1(i)=c(i-1);d2(i)=c(i-1); elseif i==3

matlab解题实例

Matlab 综合作业:运用matlab 建模解题 导弹追踪问题 1. 位于坐标原点的甲舰向位于x 轴上点A (1, 0)处的乙舰发射导弹, 导弹头始终对准乙舰.如果乙舰以最大的速度v 0(常数)沿平行于y 轴的直线行驶,导弹的速度是5v 0,求导弹运行的曲线方程.乙舰行驶多远时,导弹将它击中? 解:假设t 时刻导弹的位置为P (x (t ), y (t )),乙舰位于),1(0t v Q 由于导弹头 始终对准乙舰,故此时直线PQ 就是导弹的轨迹曲线弧OP 在点P 处的切线, 即有 x y t v y --=1'0 即 y y x t v +-=')1(0 (1) 又根据题意,弧OP 的长度为AQ 的5倍, 即 0d 5x x v t =? (2) 由(1),(2)消去t, 整理得模型: (3) '151 ")1(2y y x +=- 值条件为: 0)0(=y 0)0('=y 令y 1=y , y 2=y 1`,将方程(3)化为一阶微分方程组. 2 151 '')1(y y x +=- ? ?????-+==)1/(151''21221x y y y y 1.建立M 文件a1.m function dy=a1(x,y) dy=zeros(2,1); dy(1)=y(2); dy(2)=1/5*sqrt(1+y(1)^2)/(1-x); 2. 取x0=0,xf=0.9999,建立主程序ff6.m 如下: x0=0,xf=0.9999 [x,y]=ode15s('a1',[x0 xf],[0 0]);

plot(x,y(:,1),'b.') hold on y=0:0.01:2; plot(1,y,'b*') 运行得图: 结论: 导弹大致在(1,0.2)处击中乙舰.

matlab-SIMULINK仿真实例资料

二并联杆数控螺旋面钻头尖刃磨机的机构仿真 一、仿真原理一、实训题目:全自动洗衣机控制系统 实训目的及要求: 1、掌握欧姆龙PLC的指令,具有独立分析和设计程序的能力 2、掌握PLC梯形图的基本设计方法 3、培养分析和解决实际工程问题的能力 4、培养程序设计及调试的能力 5、熟悉传输带控制系统的原理及要求 实训设备:: 1、OMRON PLC及模拟实验装置1台 2、安装CX-P编程软件的PC机1台 3、PC机PLC通讯的RS232电缆线1根 实训内容: 1、分析工艺过程,明确控制要求 (1)按下启动按扭及水位选择开关,相应的显示灯亮,开始进水直到高(中、低)水位,关水。 (2)2秒后开始洗涤。 (3)洗涤时,正转30秒停2秒;然后反转30秒停2秒。 (4)循环5次,总共320秒,然后开始排水。排水后脱水30秒。 图1 全自动洗衣机控制 2、统计I/O点数并选择PLC型号 输入:系统启动按钮一个,系统停止按钮一个,高、中、低水位控制开关三个,高、中、低液位传感器三个,以及排水液位传感器一个。

输出:进出水显示灯一盏,高、中、低水位显示灯各一盏,电机正、反转显示灯各一盏,排水、脱水显示灯灯各一盏。 PLC的型号:输入一共有9个,考虑到留有15%~20%的余量即9×(1+15%)=10.35,取整数10,所以共需10个输入点。输出共有8个,8×(1+15%)=9.2,取整数9,所以共需9个输出点。可以选OMRON公司的CPM1A/CPM2A 型PLC就能满足此例的要求。 3、I/O分配 表1 全自动洗衣机控制I/O分配表 输入输出 地址名称地址名称 00000 启动系统按钮01000 排水显示灯 00001 高水位选择按钮01001 脱水显示灯 00002 中水位选择按钮01002 进、出水显示灯 00003 低水位选择按钮01003 高水位显示灯 00004 排水液位传感器01004 中水位显示灯 00005 停止系统按钮01005 低水位显示灯 00006 高水位液位传感器01006 电机正转显示灯 00007 中水位液位传感器01007 电机反转显示灯 00008 低水位液位传感器 4、PLC控制程序设计及分析 实现功能:当按下按钮00000,中间继电器20000得电并自锁,按下停止按钮00005,中间继电器20000掉电。中间继电器20000为系统总启动。 实现功能:当按下按钮00001,中间继电器20001得电并自锁;当中间继电器20002、20003、20004、20007任意一个为ON,或按下停止按钮00005,或01000、01001为ON时,中间继电器20001掉电。

最优化实例和matlab源程序

最优化平时作业 一、目标规划 1、题目:见书中例题P110 例 4 2、解题方法:利用Lingo 求解 3、具体步骤 (1).对应于第一优先等级,建立线性规划问题: model: min=-d1; 5*x1+10*x2<=60; x1-2*x2+d1_-d1=0; end 运行结果:-d1=0 (2 )对应于第二优先等级,将-d1=0 作为约束条件,建立线性规划问题:min=d2_; 5*x1+10*x2<=60; x1-2*x2+d1_-d1=0; 4*x1+4*x2+d2_-d2=36; -d1=0; end 运行结果:d2=0; (3).对应于第三优先等级,将-d1=0, -d1=0 作为约束条件,建立线性规划问题:min=d3_; 5*x1+10*x2<=60; x1-2*x2+d1_-d1=0; 4*x1+4*x2+d2_-d2=36; 6x1+8*x2+d3_-d3=48; -d1=0; d2=0; end 运行结果:d3=0; X1 4.800000 X2 2.400000 二、动态规划之0-1 背包问题 1、题目:给定n种物品和一背包。物品i 的重量是Wi ,其价值为Vi ,背包的容量是c,问应如何选择装入背包中的物品,使得装入背包中物品的总价值最大。 2、解题方法与思路:利用java 求解,.思想方法是回溯思想 3、需求分析 对于给定n 种物品和一背包。在容量最大值固定的情况下,要求装入的物品价值最大化 4、java 源程序及运行结果 BackTrace.java * To change this template, choose Tools | Template Manager * and open the template in the editor. */ package sunfa; import java.util.Date;

MATLAB电路仿真实例

题14.14 图(a)所示电路,已知 二端口网络阻抗参数矩阵 求ab 端戴维南等效电路并计算电压。 (一) 手动求解: 将网络N 用T 型电路等效,如图(b)所示 等效阻抗 开路电压 V )2cos(15S t u =Ω??????=46j 6j 10Z o u u -+o u (a)图题14.14 S U +-o U Ω=-+-?+-=4.6j615j6j6)15(6j 6j 4i Z V 2j30215j6j6105j6OC =?∠?+-+=U V 148218.3j46.42j3j4j4Z j4OC o ?∠=+?=?+=U U i

所以 V (二) Matlab 仿真: ⒈分析:本次仿真需输入各阻抗Zl 、Z1、Z2、Z3、Z4以及激励源Us 的参数值,仿真结果需输出开路电压Uoc 、等效阻抗Zi 以及电感两端电压U0的幅值和相位信息,并绘制Uoc ,U0的值随时间变化的波形曲线。 其中各元件与原图的对应关系如下图所示: ⒉编辑M 文件的源程序如下: clear %清空自定义变量 z1=4-6j;z2=6j;z3=10-6j;z4=5;us=15*exp(j*0);zl=4j; %输入各元件参数 zi=z1+(z2*(z3+z4)/(z2+z3+z4)); %等效阻抗zi 的计算表达式 uoc=us*z2/(z2+z3+z4); %开路电压uoc 的计算表达式 u0=zl/(zi+zl)*uoc; %电感两端电压uo 的计算表达式 disp('The magnitude of zi is'); %在屏幕上显示“The magnitude of zi is ” disp(abs(zi)) %显示等效阻抗zi 的模 disp('The phase of zi is'); %在屏幕上显示“The phase of zi is ” disp(angle(zi)*180/pi) %显示等效阻抗zi 的辐角 disp('The magnitude of uoc is'); %在屏幕上显示“The magnitude of uoc is ” disp(abs(uoc)) %显示开路电压uoc 的模 disp('The phase of uoc is'); %在屏幕上显示“The magnitude of uoc is ” ) 1482cos(18.3o ?+=t u

MATLAB仿真实例

一、实验目的 (1) 二、实验题目 (1) 三、实验内容 (1) 3.1傅里叶变换与傅里叶反变换 (1) 3.2题目一:正弦信号波形及频谱 (2) 3.2.1仿真原理及思路 (2) 3.2.2程序流程图 (3) 3.2.3仿真程序及运行结果 (3) 3.2.4实验结果分析 (5) 3.3题目二:单极性归零(RZ)波形及其功率谱 (5) 3.3.1仿真原理及思路 (5) 3.3.2程序流程图 (6) 3.3.3仿真程序及运行结果 (6) 3.3.4实验结果分析 (8) 3.4题目三:升余弦滚降波形的眼图及其功率谱 (8) 3.4.1仿真原理及思路 (8) 3.4.2程序流程图 (8) 3.4.3仿真程序及运行结果 (8) 3.4.4实验结果分析: (10) 3.5题目四:完成PCM编码及解码的仿真 (11) 3.5.1仿真原理及思路 (11) 3.5.2程序流程图 (12) 3.5.3仿真程序及运行结果 (12) 3.5.4实验结果分析 (15) 3.6附加题一:最佳基带系统的Pe~Eb\No曲线,升余弦滚降系数a=0.5,取 样值的偏差是Ts/4 (16) 3.6.1仿真原理及思路 (16) 3.6.2程序流程图 (16) 3.6.3仿真程序及运行结果 (16) 3.6.4实验结果分析 (18) 3.7附加题二:试作出Pe~Eb/No曲线。升余弦滚降系数a=0.5,取样时间无 偏差,但信道是多径信道,C(f)=|1-0.5-j2 ft|,t=T s/2 (18) 3.7.1仿真原理及思路 (18) 3.7.2程序流程图 (19) 3.7.3仿真程序及运行结果 (19) 3.7.4实验结果分析 (21) 四、实验心得 (21)

__一个实例搞定MATLAB界面编程

一个实例搞定MATLAB界面编程 作者:彭军 邮件:pjun9@https://www.360docs.net/doc/1717457368.html, 博客:https://www.360docs.net/doc/1717457368.html,/pengjun 下面请跟我一步一步做一个图像处理的程序,如果您坚持做完这个实例,我想MATLAB界面编程对您而言,就没有什么难度了。当然,我这里说的是,您首先要有一定的MATLAB 编程基础。还有,我的MATLAB版本是2008a。在2008a以前的版本中没有工具栏编辑器,如果需要工具栏要手动写程序,这个我就不多讲了。好了,废话少说,跟我来吧! 在MATLAB的命令窗口(Command Window)中运行guide命令,来打开GUIDE界面,如下: 然后,选择空模板(Blang GUI),点击OK,即可打开GUIDE的设计界面,如下:

点击工具栏上的菜单编辑器(Menu Editor),打开菜单编辑器,如下: 在Menu Bar中新建一个菜单项,名字为“文件”,其他设置请看下图: 在“文件”菜单下添加菜单项:“打开”,“保存”,“退出”。见下图:

如果需要在菜单项“退出”上面添加一个分割线的话,选中“Separator above this item”就行了。

保存我的界面为pjimage.fig.保存完毕之后,会自动打开pjimage.m 文件,而我们所有的程序都是要写在这个M 文件里面的。在编程中,我们的每一个鼠标动作都对应一个Callback 函数。那么我们的菜单项也是如此的。 在界面上,单击鼠标右键选择“Property Inspector ”,即可打开属性窗口。当我们点击不同的 然后,点击工具栏的保存按钮。之后,点击工具栏的运行按钮(Run Figure)。注意,工具栏的图标都会有提示的,像运行按钮的提示就是Run Figure.我们会看到如下的界面: 那说明,我们保存的.fig 文件的目录不是当前目录,但是没关系啊,我们只要点击“Change Directory ”来改变当前目录。当然,如果你想把当前目录添加到MATLAB 路径也可以,那就点击“Add to Path ”就OK 了。我在这里推荐点击“Change Directory ”,因为没有什么太大必要把其添加到MATLAB 路径中,一般是工具箱需要添加或者我们的函数或程序写完了,而在MATLAB 的命令窗口找不到我们的函数的时候,我们可以将函数或程序所在的目录添加到MATLAB 路径。 总之吧,点那个按钮,要看个人的爱好了。不管点击两个按钮的那一个按钮,都会正确的运行程序的。 我们的程序运行时的样子,是这样的:

相关文档
最新文档