matlab实习报告(最新)

matlab实习报告(最新)
matlab实习报告(最新)

1.求f(x)=4x6-x+x3-95在(0,100)上最大值、最小值,根。(使用函数fminbnd、roots)

>>[x,y]=fminbnd('4*x.^6-x+x.^3-95',0,100)

x =

0.4432

y =

-95.3258

>> [x,y]=fminbnd('-4*x.^6+x-x.^3+95',0,100)

x =

99.9999

y =

-4.0000e+012

>> a=[4 0 0 1 0 -1 -95];

roots(a)

ans =

1.6860

0.8525 + 1.4852i

0.8525 - 1.4852i

-1.7050

-0.8431 + 1.4514i

-0.8431 - 1.4514i

2 求解常微分方程x’’=-x’+x+1,x’(0)=1,x(0)=0(使用函数dsolve)

dsolve('D2x=-Dx+x+1','Dx(0)=1','x(0)=0')

ans =

(5^(1/2)*exp(t*(5^(1/2)/2 - 1/2))*(5^(1/2) + 3))/10 + (5^(1/2)*(5^(1/2) - 3))/(10*exp(t*(5^(1/2)/2 + 1/2))) - 1

3 已知t=an2+bn ,测得对应数据如下:(多项式插值interp1) t=[0,20,40,60,80,100,120,140,160,183.5];

n=[0,1153,2045,2800,3466,4068,4621,5135,5619,6152]; t0=[0,20,40,60,80,100,120,140,160,183.5];

n0=[0,1153,2045,2800,3466,4068,4621,5135,5619,6152]; n=0:0.001:6152;

t=interp1(n0,t0,n,'spline'); p=polyfit(n,t,2) p =

0.0000 0.0144 0.0631 试求a 和b 的值。

4请用梯形法、辛普森法分别计算积分值?++1

21dx x x (trapz 、quad )

f=inline('sqrt(x.^2+x+1)','x'); >> quad(f,0,1) ans = 1.3369

>> x=0:0.01:1;y=sqrt(x.^2+x+1);trapz(x,y) ans = 1.3369 5计算二重积分?

?

+++++1020

22)12(dxdy y x xy y x (使用函数dblquad )

dblquad('x.^2+y.^2+x*y+2*x+y+1', 0, 1, 0, 2) ans = 10.3333

6矩阵M=[1,2,6; 4,2,7; 8,9,3],求M 的LU 分解,QR 分解,对角阵,特征值分解。

(使用函数lu、qr、shol、eig)

M=[1,2,6; 4,2,7; 8,9,3]; lu(M)

ans =

8.0000 9.0000 3.0000

0.5000 -2.5000 5.5000

0.1250 -0.3500 7.5500

qr(M)

ans =

9.0000 9.1111 6.4444

-0.5000 2.4470 -2.3360

-1.0000 -0.4719 6.8566

[D,X]=eig(M)

D =

-0.4111 -0.7719 -0.4992

-0.5484 0.6237 -0.3914

-0.7282 0.1229 0.7730

X =

14.2944 0 0

0 -1.5712 0

0 0 -6.7232

7 a=3,A=4,b=a2,B=b2-1,c=a+A-2B,C=a+B+2c,求C。(使用函数solve)>> syms a b c A B C

eq1='a=3';

eq2='A=4';

eq3='b=a^2';

eq4='B=b^2-1';

eq5='c=a+A-2*B';

eq6='C=a+B+2*c';

x=solve(eq1,eq2,eq3,eq4,eq5,eq6);

>> x.C ans = -223

8 用两种方法求解Ax=b 的解。(A 为四阶随机矩阵,b 为四阶向量,自己创建)。 方法一:>> A=rand(4)

A =

0.9355 0.0579 0.1389 0.2722 0.9169 0.3529 0.2028 0.1988 0.4103 0.8132 0.1987 0.0153

0.8936 0.0099 0.6038 0.7468 >> B=[1;2;3;4];x=inv(A)*B x =

-0.2035 2.3800 5.7042 0.9564 方法二:

>> A(:,5)=B;rref(A) ans =

1.0000 0 0 0 -0.2035 0 1.0000 0 0

2.3800 0 0 1.0000 0 5.7042 0 0 0 1.0000 0.9564

9.)1

(5)25.1/()8.0()(323x

x x x x x f +-+-+=,用两种方法求函数的根,并求其

极值与零点。

方法1: >> solve('x^3+(x-4/5)^2/(x+5/4)^3-5*x-5/x');x=double(ans); >> for i=1:length(x)

xx(i)=isreal(x(i)); end >> x=x(xx) x = 2.4156 方法2:

>> fzero('x.^3+(x-0.8).^2/(x+1.25).^3-5*(x+1/x)',3) ans = 2.4156 求极值:

>> syms x y

>> y=x.^3+(x-0.8).^2/(x+1.25).^3-5*(x+1/x);

>> dydx=diff(y);

>> solve(dydx);x=double(ans);

>> for i=1:length(x)

xx(i)=isreal(x(i));

end

>> t=x(xx)

t =

-0.4694

-2.4039

>> x=t(1);y1=subs(y)

y1 =

16.2832

>> x=t(2);y2=subs(y)

y2 =

-6.4732

>> z=diff(diff(y));

>> x=t(1);z1=subs(z)

z1 =

205.8164

>> x=t(2);z2=subs(z)

z2 =

-53.5382

所以函数f(x)存在一个极大值点x1=-2.4039,极大值为-6.4732;一个极小值点x2=-2.4039,极小值为16.2832

10、f(x)的定义如下:

2

2

2

6,04

()56,010,23

1,

x x x x

f x x x x x x

x x

?+-<≠-

?

=-+≤<≠≠

?

?--

?

其它

,写一个matlab

函数func1实现该函数。

function func1 (x)

if x<0&&x==-4

y=x^2+x-6;

elseif x>=0&x<10&x~=2&x~=3

y=x^2-5*x+6;

else

y=x.^2-x-1;

end

fprintf('%d\n',y);

11、写一个MATLAB小程序,求出最小的 n 值,使得 n! > realmax。

function f=realmax10()

s=1;n=1;

while(1)

n=n+1;

s=s*n;

if s>realmax

break;

end

end

fprintf('nμ??μ?a%d\n',n)

12、写一个 MATLAB 函式 myfun.m 来计算下列方程式:

y = 0.5*exp(x/3)-x*x*sin(x)

其中 x 是函式的输入,y 是函式的输出。你的函式必须能够处理当 x 是纯量或是向量的两种情况。

function f=myfun(x)

n=length(x);

for i=1:n

y(i)=0.5*exp(x(i)/3)-x(i)*x(i)*sin(x(i));

end

y

13、写一个 MATLAB 函式 pifun.m 来计算下列级数:

f(n) = 4*(1 - 1/3 + 1/5 - 1/7 + 1/9 - 1/11 + ...)

其中 n 为函式的输入,级数和 f(n) 则是函式的输出。此外,你必须进行下列事项:

function f=pifun(n)

l=1;s=0;

for i=1:n

s=s+l/(2*i-1);

l=-l;

end

s=4*s;

disp('f(n)的值是');disp(num2str(s))

(1) 使用 tic 和 toc 指令来测量 pifun(100000) 的计算时间。如果你不知道如何使用这两个指令,请使用 help tic 及 help toc 来查出它们的用法。我的计算机是 Pentium-450,所得的计算时间约为 2 秒。请说明你的计算机规格以及其计算时间。

>> tic,pifun(100000),toc f(n)的值是 3.1416

Elapsed time is 0.028928 seconds. Cpu Pentium dual —core e5300

(2)使用 flops 指令来测量 pifun(100000) 所用到 floating point operations 的计算次数。如果你不知道如何使用这个指令,请使用 help flops 来查出它的用法。

14、写一个 MATLAB 的递归函式 fibo.m 来计算 Fibonacci 数列,其定义如下:

fibo(n+2) = fibo(n+1)+fibo(n)

此数列的启始条件如下: fibo(1) = 0, fibo(2) = 1. function f=fibo(n) if n==1 f=0;

elseif n==2 f=1; else

f=fibo(n-1)+fibo(n-2); end

15 求下列函数的极小点:

1) ()2

123222118294x x x x x X f +-++=;

>> f='x(1)^2+4*x(2)^2+9*x(3)^2-2*x(1)+18*x(2) '; [x,fm]=fminsearch(f,[0,0,0]) x =

1.0000 -

2.2500 0.0000

fm =

-21.2500

2)

()21212

221

222

3x x x x x x X f -+-+=

; >> f='x(1)^2+3/2*x(2)^2-2*x(1)*x(2)+x(1)-2*x(2) ';

[x,fm]=fminsearch(f,[0,0])

x =

0.499977193672681 1.000008683829168

fm =

-0.749999998970666

3) ()()22

41

21+-=x X f .

>> f=' (x(1)-1)^4+x(2)^2'; >> [x,fm]=fminsearch(f,[0;1]) x =

0.999965270122533 -0.000000006400016

fm =

4.241503967641482e-017

第1),2)题的初始点可任意选取, 第3)题的初始点取为()T X 1,00=.

16. 解线性方程组

??????

?-=+=+--=-+=-+1

4235231543421431321x x x x x x x x x x x 并求系数矩阵的行列式。

a=[5 1 -1 0 1;1 0 3 -1 2;-1 -1 0 5 3;0 0 2 4 -1]; >> rref(a)

ans =

1.0000 0 0 0 1.4000 0 1.0000 0 0 -5.9000 0 0 1.0000 0 0.1000 0 0 0 1.0000 -0.3000

所以 x1=1.4;x2=-5.9;x3=0.1;x4=-0.3

a=[5 1 -1 0;1 0 3 -1;-1 -1 0 5;0 0 2 4]; >> det(a)

ans =

70

17. 设 f(x,y) = 4 sin (x 3

y),求

3

,22==???y x y

x f

syms f s y; syms f x y;

f=4*sin(x.^3*y); z=diff(diff(f,x),y); x=2;y=3;subs(z)

>> zs17

ans =

1.0636e+003

18.求方程 3x 4+4x 3-20x+5 = 0 的所有解。

c=[3 4 0 -20 5];roots(c)

>> zs18

ans =

-1.5003 + 1.5470i -1.5003 - 1.5470i 1.4134 0.2539

19:对于迭代模型x y x y x k k k k k ++=+-=??

?

12

111403.. 取初值x 0 = 0, y 0 = 0, 进行3000次迭代,对于k>1000, 在(x k , y k ) 处亮一点(注

意不要连线)可得所谓Henon 引力线图。

x(1)=0; y(1)=0;

for i=1000:3000;%开始先从一到3000 x(i+1)=1+y(i)-1.4*x(i)^2; y(i+1)=0.3*x(i); hold on

plot(x(i),y(i),'*b') end

20:某公司投资2000万元建成一条生产线。投产后,在时刻t 的追加成本和追加收益分别为G(t)= 3/225t t ++(百万元/年), H(t)=2/3180t - (百万元/年)。试确定该生产线在合适何时停产可获最大利润?最大利润是多少?

要求:写出数学模型、M 函数(如果需要的话)、运算命令和计算结果。 解:利润函数t

0R(t)=(()())20H t G t dt --? (百万元)

f(t)=H(t)-G(t)=175-t-3t 2/3,f(t)单调递减,则当f(t)=0时利润最大 f='175-t-3*t^(2/3)'; t=double(solve(f)) t

f=inline('175-t-3*t.^(2./3)'); r=quad(f,0,107.2708)-20

r

t =

1.0e+002 *

1.9536 - 1.0860i 1.9536 + 1.0860i 1.0727 r =

8.6397e+003

即在第108年停产可获最大利润,最大利润为8639.7百万元。

21 。一幢楼房的后面是一个很大的花园。在花园中紧靠着楼房建有一个温室,温室高10英尺,延伸进花园7尺。清洁工要打扫温室上方的楼房的窗户。他只有借助于梯子,一头放在花园中,一头靠在楼房的墙上,攀援上去进行工作。他只有一架20米长的梯子,你认为他能否成功?能满足要求的梯子的最小长度是多少?

步骤:

1.先进行问题分析,明确问题;

2.建立模型,并运用Matlab 函数求解; 3.对结果进行分析说明; 4.设计程序画出图形,对问题进行直观的分析和了解(主要用画线函数plot ,line ) 。若梯子能恰好放置,则梯子的长度f 与倾角x 关系如下:

()cos sin a b f x x x =+ (其中a=73m, b=3.048m ,0

π

)

接下来用Matlab 求该函数的最小值:

L=inline('3.048/sin(x)+2.333/cos(x)','x'); x=fminbnd(L,0.01,pi/2-0.01) l=subs(L)

ezplot('3.048/sin(x)+2.333/cos(x)',[0,pi/2])

由以上可知梯子的最小长度为7.59m。所以他能成功。

22.某大学青年教师从31岁开始建立自己的养老基金,他把已有的积蓄10000元也一次性地存入,已知月利率为0.001(以复利计),每月存入700元,试问当他60岁退休时,他的退休基金有多少?又若,他退休后每月要从银行提取1000元,试问多少年后他的基金将用完?

function f=title22()

s=10000;t=0;

for i=1:360

s=s*(1+0.001)+700;

end

fprintf('60?êí?DYê±í?DY?ù?eóD%f?a.\n',s);

while s>0

s=(s-1000)*(1+0.001);

t=t+1;

end

t=ceil(t/12);

fprintf('í?DYoó????òa′óò?DDìáè?1000?a£?%d?êoó?ù?e??ó?íê.\n',t);

>> zs22

60岁退休时退休基金有317480.843330元.

退休后每月要从银行提取1000元,32年后基金将用完.

23.:请设计一个程序,程序完成下列功能:

(1)让用户输入一个矩阵A;

(2)在A中找出小于0的矩阵元素的位置;

(3)在A中统计出等于0的元素的个数;

(4)显示A的行数和列数;

(5)找出矩阵A各元素中的最大值(显示值,不显示元素位置)。

function f=title20()

a=input('??ê?è????óA: ');

[m,n]=size(a);

t=0;p=0;

for i=1:m

for j=1:n

if a(i,j)<0

p=p+1;

fprintf('μú%d??D?óú0μ?????ê?(%d,%d)\n',p,i,j);

end

if a(i,j)==0

t=t+1;

end

end

end

B=a(:);

max=B(1);

for i=2:m*n

if B(i)>max

max=B(i);

end

end

if p==0

disp('A?D??óDD?óú0μ??a??.');

end

fprintf('A?Dμèóú0μ??a??μ???êy?a%d\n',t);

fprintf('Aμ?DDêyoíáDêy·?±e?a%d£?%d\n',m,n);

fprintf('A?÷?a???Dμ?×?′ó?μ?a%d\n',max);

24:请设计一个程序,程序完成下列功能:

(1) 让用户依次输入两个字符串s1和s2;

(2) 比较两个字符串的长度并显示比较结果;

(3) 判断s1与s2有没有长度在3个字符以上的相同子串,显示判断结果。function f=title24()

s1=input('??ê?è?×?·?′?s1: ');

s2=input('??ê?è?×?·?′?s2: ');

m=length(s1);n=length(s2);

t=m;kk=0;

if m>n

t=n;

disp('s1μ?3¤?è′óóús2μ?3¤?è.');

elseif m

disp('s1μ?3¤?èD?óús2μ?3¤?è.');

else

disp('s1μ?3¤?èμèóús2μ?3¤?è.');

end

for i=4:t

for j=1:m-i+1

for k=1:n-i+1

if strcmp(s1(j:j+i-1),s2(k:k+i-1))==1

l=0;

for r=1:kk

if strcmp(s1(j:j+i-1),b{r})==1

l=1;

break;

end

end

if l==0

kk=kk+1;

b{kk}=s1(j:j+i-1);

end

end

end

end

end

for i=1:kk

fprintf('μú%d???àí?×?·?′?£o',i);

disp(b{i});

end

25:编写程序模拟杨氏双缝干涉

两相干光源到接收屏上P点距离r1=(D2+(y-a/2)2)1/2, r2=(D2+(y+a/2)2)1/2,相位差

Φ=2π(r2-r1)/λ,光强I=4I0cos2(Φ/2)编写程序

clear

lam=500e-9;

a=2e-3;D=1;

ym=5*lam*D/a;xs=ym;

n=101;ys=linspace(-ym,ym,n);

for i=1:n

r1=sqrt((ys(i)-a/2).^2+D^2);

r2=sqrt((ys(i)+a/2).^2+D^2);

phi=2*pi*(r2-r1)./lam;

B(i,:)=sum(4*cos(phi/2).^2);

end

N=255;

Br=(B/4.0)*N;

subplot(1,2,1);

image(xs,ys,Br);

colormap(gray(N));

subplot(1,2,2);

plot(B,ys);

26:编写程序模拟光栅衍射

公式:I=I0(sinα/α)2(sin(λβ)/sinβ)2

α=(πa/λ)sinΦ

β=(πd/λ)sinΦ

clear

lam=500e-9;N=2;

a=2e-4;D=5;d=5*a;

ym=2*lam*D/a;xs=ym;

n=1001;

ys=linspace(-ym,ym,n);

for i=1:n

sinphi=ys(i)/D;

alpha=pi*a*sinphi/lam;

beta=pi*d*sinphi/lam;

B(i,:)=(sin(alpha)./alpha).^2.*(sin(N*beta)./sin(beta)).^ 2;

B1=B/max(B);

end

NC=255;

Br=(B/max(B))*NC;

subplot(1,2,1)

image(xs,ys,Br);

colormap(gray(NC));

subplot(1,2,2)

plot(B1,ys);

的可视化图形

27:绘制三元函数2

2z

2

+

=

y

x

w+

x=-5:0.05:5;y=-5:0.05:5;z=-5:0.05:5;

[x,y,z]=meshgrid(x,y,z);

v=x.^2+y.^2+z.^2;

isosurface(x,y,z,v,10);

axis equal

28:绘制

)

ln()

1(),(2

1y x x y x f z --==-的图象

[x,y,z,v] = flow;

q=1./sqrt(1-x).*log(x-y)-z;

p = patch(isosurface(x, y, z, v, 0)); isonormals(x,y,z,q,p)

set(p, 'FaceColor', 'blue', 'EdgeColor', 'none'); view(3)

camlight; lighting

29: 试完成matlab 动画

霓虹灯效果动画:一颗花心:clear;clc;close all

c=5;

t=linspace(-c,c);

[x,y]=meshgrid(t);

z=17*x.^2-16*abs(x).*y+17*y.^2-225; pcolor(x,y,z);

shading interp

pause(2);

spinmap(10)

30:试完成matlab gui程序

function varargout = ex0(varargin)

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ...

'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @ex0_OpeningFcn, ...

'gui_OutputFcn', @ex0_OutputFcn, ...

'gui_LayoutFcn', [] , ...

'gui_Callback', []);

if nargin && ischar(varargin{1})

gui_State.gui_Callback = str2func(varargin{1});

end

if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else

gui_mainfcn(gui_State, varargin{:});

end

function ex0_OpeningFcn(hObject, eventdata, handles, varargin)

handles.output = hObject;

global i a

i=0;

a=floor(100*rand);

guidata(hObject, handles);

function varargout = ex0_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output;

function x1_Callback(hObject, eventdata, handles)

function x1_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

function x2_Callback(hObject, eventdata, handles)

function x2_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'),

get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white');

end

function p1_Callback(hObject, eventdata, handles)

global i a

x1= eval(get(handles.x1,'String'));

if x1>a

x2='high';

set(handles.x2,'string',num2str(x2));

elseif x1

x2='low';

set(handles.x2,'string',num2str(x2));

else

x2='YOU ARE WIN';

set(handles.x2,'string',num2str(x2));

a=floor(100*rand);

i=0;

end

i=i+1;

if i==10

x2='YOU ARE LOSE';

set(handles.x2,'string',num2str(x2));

a=floor(100*rand);

i=0;

end

function p2_Callback(hObject, eventdata, handles)

close = questdlg('?úè·?¨òa1?±??e?','è·?¨1?±?','ê?','·?','ê?'); switch close

case'·?'

case'ê?'

delete(handles.figure1)

end

开关电源《基于MatlabSimulink的BOOST电路仿真》

基于Matlab/Simulink 的BOOST电路仿真 姓名: 学号: 班级: 时间:2010年12月7日

1引言 BOOST 电路又称为升压型电路, 是一种直流- 直流变换电路, 其电路结构如图1 所示。此电路在开关电源领域内占有非常重要的地位, 长期以来广泛的应用于各种电源设备的设计中。对它工作过程的理解掌握关系到对整个开关电源领域各种电路工作过程的理解, 然而现有的书本上仅仅给出电路在理想情况下稳态工作过程的分析, 而没有提及电路从启动到稳定之间暂态的工作过程, 不利于读者理解电路的整个工作过程和升压原理。采用matlab仿真分析方法, 可直观、详细的描述BOOST 电路由启动到达稳态的工作过程, 并对其中各种现象进行细致深入的分析, 便于我们真正掌握BOO ST 电路的工作特性。 图1BOO ST 电路的结构 2电路的工作状态 BOO ST 电路的工作模式分为电感电流连续工作模式和电感电流断续工作模式。其中电流连续模式的电路工作状态如图2 (a) 和图2 (b) 所示, 电流断续模式的电路工作状态如图2 (a)、(b)、(c) 所示, 两种工作模式的前两个工作状态相同, 电流断续型模式比电流连续型模式多出一个电感电流为零的工作状态。 (a) 开关状态1 (S 闭合) (b) 开关状态2 (S 关断) (c) 开关状态3 (电感电流为零) 图2BOO ST 电路的工作状态

3matlab仿真分析 matlab 是一种功能强大的仿真软件, 它可以进行各种各样的模拟电路和数字电路仿真,并给出波形输出和数据输出, 无论对哪种器件和哪种电路进行仿真, 均可以得到精确的仿真结果。本文应用基于matlab软件对BOO ST 电路仿真, 仿真图如图3 所示,其中IGBT作为开关, 以脉冲发生器脉冲周期T=0.2ms,脉冲宽度为50%的通断来仿真图2 中开关S的通断过程。 图3BOO ST 电路的PSp ice 模型 3.1电路工作原理 在电路中IGBT导通时,电流由E经升压电感L和V形成回路,电感L储能;当IGBT关断时,电感产生的反电动势和直流电源电压方向相同互相叠加,从而在负载侧得到高于电源的电压,二极管的作用是阻断IGBT导通是,电容的放电回路。调节开关器件V的通断周期,可以调整负载侧输出电流和电压的大小。负载侧输出电压的平均值为: (3-1) 式(3-1)中T为开关周期, 为导通时间,为关断时间。

matlab电力电子仿真教程

MATLAB在电力电子技术中的应用 目录 MATLAB在电力电子技术中的应用 (1) MATLAB in power electronics application (2) 目录 (4) 1绪论 (6) 1.1关于MATLAB软件 (6) 1.1.1MATLAB软件是什么 (6) 1.1.2MATLAB软件的特点和基本操作窗口 (7) 1.1.3MATLAB软件的基本操作方法 (10) 1.2电力电子技术 (12) 1.3MATLAB和电力电子技术 (13) 1.4本文完成的主要内容 (14) 2MATLAB软件在电路中的应用 (15) 2.1基本电气元件 (15) 2.1.1基本电气元件简介 (15) 2.1.2如何调用基本电器元件功能模块 (17) 2.2如何简化电路的仿真模型 (19) 2.3基本电路设计方法 (19) 2.3.1电源功能模块 (19) 2.3.2典型电路设计方法 (20) 2.4常用电路设计法 (21) 2.4.1ELEMENTS模块库 (21) 2.4.2POWER ELECTRONICS模块库 (22) 2.5MATLAB中电路的数学描述法 (22) 3电力电子变流的仿真 (25) 3.1实验的意义 (25) 3.2交流-直流变流器 (25)

3.2.1单相桥式全控整流电路仿真 (26) 3.2.2三相桥式全控整流电路仿真 (38) 3.3三相交流调压器 (53) 3.3.1无中线星形联结三相交流调压器 (53) 3.3.2支路控制三角形联结三相交流调压器 (59) 3.4交流-交流变频电路仿真 (64) 3.5矩阵式整流器的仿真 (67)

MATLAB回归预测模型

MATLAB---回归预测模型 Matlab统计工具箱用命令regress实现多元线性回归,用的方法是最小二乘法,用法是:b=regress(Y,X) [b,bint,r,rint,stats]=regress(Y,X,alpha) Y,X为提供的X和Y数组,alpha为显着性水平(缺省时设定为0.05),b,bint为回归系数估计值和它们的置信区间,r,rint为残差(向量)及其置信区间,stats是用于检验回归模型的统计量,有四个数值,第一个是R2,第二个是F,第三个是与F对应的概率 p ,p <α拒绝 H0,回归模型成立,第四个是残差的方差 s2 。 残差及其置信区间可以用 rcoplot(r,rint)画图。 例1合金的强度y与其中的碳含量x有比较密切的关系,今从生产中收集了一批数据如下表 1。 先画出散点图如下: x=0.1:0.01:0.18; y=[42,41.5,45.0,45.5,45.0,47.5,49.0,55.0,50.0]; plot(x,y,'+') 可知 y 与 x 大致上为线性关系。 设回归模型为y =β 0+β 1 x

用regress 和rcoplot 编程如下: clc,clear x1=[0.1:0.01:0.18]'; y=[42,41.5,45.0,45.5,45.0,47.5,49.0,55.0,50.0]'; x=[ones(9,1),x1]; [b,bint,r,rint,stats]=regress(y,x); b,bint,stats,rcoplot(r,rint) 得到 b =27.4722 137.5000 bint =18.6851 36.2594 75.7755 199.2245 stats =0.7985 27.7469 0.0012 4.0883 即β 0=27.4722 β 1 =137.5000 β 的置信区间是[18.6851,36.2594], β 1 的置信区间是[75.7755,199.2245]; R2= 0.7985 , F = 27.7469 , p = 0.0012 , s2 =4.0883 。可知模型(41)成立。

基于Matlab 的单边带调幅电路仿真

西南科技大学 专业综合设计报告 课程名称:电子专业综合设计 设计名称:基于Matlab 的单边带调幅电路仿真 姓名: 学号: 班级:电子0902 指导教师:郭峰 起止日期:2012.11.1-2012.12.30 西南科技大学信息工程学院制

专业综合设计任务书学生班级:电子0902 学生姓名:邓彪学号:20095885 设计名称:基于Matlab 的单边带调幅电路仿真 起止日期:2012.11.1-2012.12.30指导教师:郭峰 专业综合设计学生日志

专业综合设计考勤表 专业综合设计评语表

基于Matlab的单边带调幅电路仿真 一、设计目的和意义 1.加深理解模拟线性单边幅度调制(SSB)的原理。 2.熟悉MATLAB相关函数的运用。 3.掌握参数设置方法和性能分析方法。 4.掌握产生单边调幅信号的方法和解调的原理。 5.通过利用MATLAB实现单边调幅信号的调制和解调了解相干解调的重要性。 二、设计原理 1.SSB调制原理 信号的调制主要是在时域上乘上一个频率较高的载波信号,实现频率的搬移,使有用信号容易被传播。单边带调幅信号可以通过双边带调幅后经过滤波器实现。 单边带调幅方式是指仅发送调幅信号上、下边带中的一个信号。 双边带信号两个边带中的任意一个都包含了调制信号频谱的所有频谱成分,因此仅传输其中一个边带即可。这样既节省发送功率,还可节省一半传输频带,这种方式称为单边带调制。 产生单边带调幅信号的方法有:滤波法、相移法。 2. 滤波法 滤波法产生SSB信号的模型如下图所示 图2.1 滤波法调制图 LPF、HPF需要理想的形式 ,但是实际上是做不到的 ,过渡带不可能是0。 因此需要采用多级调制[6]。

基于matlab的电路仿真

基于matlab的电路仿真 杨泽辉51130215 %基于matlab的电路仿真 %关键词: RC电路仿真, matlab, GUI设计 % 基于matlab的电路仿真 %功能:产生根据输入波形与电路的选择产生输出波形 close all;clear;clc; %清空 figure('position',[189 89 714 485]); %创建图形窗口,坐标(189,89),宽714,高485;Na=['输入波形[请选择]|输入波形:正弦波|',... '输入波形:方形波|输入波形:脉冲波'];%波形选择名称数组; Ns={'sin','square','pulse'}; %波形选择名称数组; R=2; % default parameters: resistance 电阻值 C=2; % default parameters: capacitance电容值 f=10; % default parameters: frequency 波形频率 TAU=R*C; tff=10; % length of time ts=1/f; % sampling length sys1=tf([1],[1,1]); % systems for integral circuit %传递函数; sys2=tf([1,0],[1,1]); % systems for differential circuit a1=axes('position',[0.1,0.6,0.3,0.3]); %创建坐标轴并获得句柄; po1=uicontrol(gcf,'style','popupmenu',... %在第一个界面的上方创建一个下拉菜单'unit','normalized','position',[0.15,0.9,0.2,0.08],... %位置 'string',Na,'fontsize',12,'callback',[]); %弹出菜单上的字符为数组Na,字体大小为12, set(po1,'callback',['KK=get(po1,''Value'');if KK>1;',... 'st=char(Ns(KK-1));[U,T]=gensig(st,R*C,tff,1/f);',... 'axes(a1);plot(T,U);ylim([min(U)-0.5,max(U)+0.5]);',... 'end;']); %pol触发事件:KK获取激发位置,st为当前触发位置的字符串,即所选择的波形类型; %[U,T],gensing,产生信号,类型为st的值,周期为R*C,持续时间为tff, %采样周期为1/f,U为所产生的信号,T为时间; %创建坐标轴al;以T为x轴,U为y轴画波形,y轴范围。。。 Ma=['电路类型[请选择]|电路类型:积分型|电路类型:微分型']; %窗口2电路类型的选择数组; a2=axes('position',[0.5,0.6,0.3,0.3]);box on; %创建坐标轴2; set(gca,'xtick',[]);set(gca,'ytick',[]); %去掉坐标轴的刻度 po2=uicontrol(gcf,'style','popupmenu',... %在第二个窗口的位置创建一个下拉菜单,同1 'unit','normalized','position',[0.55,0.9,0.2,0.08],... 'string',Ma,'fontsize',12,'callback',[]); set(po2,'callback',['KQ=get(po2,''Value'');axes(a2);',... %po2属性设置,KQ为选择的电路类型,'if KQ==1;cla;elseif KQ==2;',... %1则清除坐标轴,2画积分电路,3画微分电路 'plot(0.14+0.8i+0.02*exp(i*[0:.02:8]),''k'');hold on;',... 'plot(0.14+0.2i+0.02*exp(i*[0:.02:8]),''k'');',... 'plot(0.84+0.2i+0.02*exp(i*[0:.02:8]),''k'');',... 'plot(0.84+0.8i+0.02*exp(i*[0:.02:8]),''k'');',... 'plot([0.16,0.82],[0.2,0.2],''k'');',... 'plot([0.16,0.3],[0.8,0.8],''k'');',... 'plot([3,4,4,3,3]/10,[76,76,84,84,76]/100,''k'');',... 'plot([0.4,0.82],[0.8,0.8],''k'');',... 'plot([0.6,0.6],[0.8,0.53],''k'');',... 'plot([0.6,0.6],[0.2,0.48],''k'');',... 'plot([0.55,0.65],[0.53,0.53],''k'');',... 'plot([0.55,0.65],[0.48,0.48],''k'');',... 'text(0.33,0.7,''R'');',...

基于MATLAB的电力系统仿真

《电力系统设计》报告 题目: 基于MATLAB的电力系统仿学院:电子信息与电气工程学院 班级: 13级电气 1 班 姓名:田震 学号: 20131090124 日期:2015年12月6日

基于MATLAB的电力系统仿真 摘要:目前,随着科学技术的发展和电能需求量的日益增长,电力系统规模越来越庞大,超高压远距离输电、大容量发电机组、各种新型控制装置得到了广泛的应用,这对于合理利用能源,充分挖掘现有的输电潜力和保护环境都有重要意义。另一方面,随着国民经济的高速发展,以城市为中心的区域性用电增长越来越快,大电网负荷中心的用电容量越来越大,长距离重负荷输电的情况日益普遍,电力系统在人们的生活和工作中担任重要角色,电力系统的稳定运行直接影响着人们的日常生活。从技术和安全上考虑直接进行电力试验可能性很小,因此迫切要求运用电力仿真来解决这些问题。 电力系统仿真是将电力系统的模型化、数学化来模拟实际的电力系统的运行,可以帮助人们通过计算机手段分析实际电力系统的各种运行情况,从而有效的了解电力系统概况。本文根据电力系统的特点,利用MATLAB的动态仿真软件Simulink搭建了无穷大电源的系统仿真模型,得到了在该系统主供电线路电源端发生三相短路接地故障并由故障器自动跳闸隔离故障的仿真结果,并分析了这一暂态过程。通过仿真结果说明MATLAB电力系统工具箱是分析电力系统的有效工具。 关键词:电力系统;三相短路;故障分析;MATLAB仿真

目录 一.前言 (4) 二.无穷大功率电源供电系统仿真模型构建 (5) 1.总电路图的设计 (5) 2.各个元件的参数设定 (6) 2.1供电模块的参数设定 (6) 2.2变压器模块的参数设置 (6) 2.3输电线路模块的参数设置 (7) 2.4三相电压电流测量模块 (8) 2.5三相线路故障模块参数设置 (8) 2.6三相并联RLC负荷模块参数设置 (9) 3.仿真结果 (9)

基于Matlab_Simulink的电工学电路仿真

信息科学 基于Matlab/Sim ulink的电工学电路仿真 朱霞清 (山东英才学院机械制造及其自动化工程学院,山东济南250104) 引言 目前,《电工学》课程所涉及的理论和技术应用十分广泛,发展迅速,并且日益渗透到其他学科领域,在我国社会主义现代化建设中具有重要的作用。《电工学》课程是高等学校工程类专业的一门技术基础课程,是我校面向机械制造、电气自动化、计算机信息技术、建筑工程等工科类专业开设的一门技术基础课程。这门课程知识覆盖面广,理论严密,逻辑性强,且有广阔的工程背景,其教学内容中有许多教学难点过于抽象,用传统的教学模式教师无法讲解清楚,学生也难以理解和接受。因此在电工学的教学过程中可以借助其他方式来加强教学效果。Matlab由于其本身具有的特点成为电类课程教学中的一个重要的工具。 1MA IAB简介 M ATLAB是Matrix Laboratory的缩写,其核心是一个基于矩阵运算的快速解释程序,它以交互式接受用户输入的各项指令,输出计算结果,它提供了一个开放式的集成环境,用户可以运行系统提供的大量的命令,包括数值计算和图形绘制等。Simulink是基于M ATLAB语言环境下的一个集成软件包,具有框图界面和交互仿真功能的动态系统建模、仿真和综合分析等功能。Simulink处理的系统包括:线性、非线性系统,离散、连续及混合系统,单任务、多任务离散事件系统,用户只需在Simulink提供的图形用户界面GUI上,对所需要的系统模块进行鼠标的简单拖拉操作,就可构造出复杂的仿真和分析模型。 M ATLAB提供很多工具箱,以MATLAB6.5为例,在电工学CAI中,分析和计算所要用到的Simulink工具库模块库集主要有: (1)Simulink库集;(2)PowerSystems库集(PSB);(3)Extra Simulink库集。 2电工学电路的仿真 2.1直流电路求解 利用Matlab分析电路时,应该首先对电路进行分析,列出电流方程和电压方程,然后将方程用矩阵形式表示,最后用Matlab求解矩阵的方法得到所求电流和电压。 如图所示,已知,,, ,,采用支路电流法列写支路电流方程和回路电压方程。 列出方程为: 上面这个三元一次方程组可以改写为下 面矩阵的形式 定义上面这个方程最左边这个矩阵为系 数矩阵A,第二个矩阵为电流矩阵I,右边这个矩 阵为U,因此可得到A.I=U,所以电流矩阵 I=A-1U。可在matlab窗口键入如下指令: <

预测控制MATLAB仿真与设计

动态矩阵控制算法实验报告 院系:电子信学院 姓名:郝光杰 学号:172030039 专业:控制理论与控制工程 导师:俞孟蕻

MATLAB环境下动态矩阵控制实验 一、实验目的: 对于带有纯滞后、大惯性的研究对象,通过动态控制矩阵的MATLAB的直接处理与仿真实验,具有较强的鲁棒性和良好的跟踪性。输入已知的控制模型,通过对参数的选择,来取的良好的控制效果。 二、实验原理: 动态矩阵控制算法是一种基于被控对象非参数数学模型的控制算法,它是一种基于被控对象阶跃响应的预测控制算法,以对象的阶跃响应离散系统为模型,避免了系统的辨识,采用多步预估技术,解决时延问题,并按照预估输出与给定值偏差最小的二次性能指标实施控制,它适用于渐进稳定的线性对象,系统动态特性中存在非最小相位特性或纯滞后都不影响算法的直接使用。 三、实验环境: 计算机 MATLAB2016b 四、实验步骤: 影响控制效果的主要参数有: 1)采样周期T与模型长度N 在DMC中采样周期T与模型长度N的选择需要满足香农定理和被控对象的类型及其动态特性的要求,通常需要NT后的阶跃响应输出值接近稳定值。 2)预测时域长度P P对系统的快速性和稳定性具有重要影响。为使滚动优化有意义,应使P 包含对象的主要动态部分,P越小,快速性提高,稳定性变差;反之,P越大,系统实时性降低,系统响应过于缓慢。 3)控制时域长度M

M控制未来控制量的改变数目,及优化变量的个数,在P确定的情况下,M越小,越难保证输出在各采样点紧密跟踪期望输出值,系统响应速度缓慢, 可获得较好的鲁棒性,M越大,控制机动性越强,改善系统的动态性能,但是稳定性会变差。 五、实例仿真 (一)算法实现 设GP(s)=e-80s/(60s+1),采用DMC后的动态特性如图1所示,采样周期 T=20s,优化时域P=10,M=2,建模时域N=20。 MATLAB程序1: g=poly2tfd(1,[60 1],0,80);%通用传函转换为MPC模型 delt=20; %采样周期 nt=1; %输出稳定性向量 tfinal=1000; %截断时间 model=tfd2step(tfinal,delt,nt,g);%传函转换为阶跃响应模型 plant=model;%进行模型预测控制器设计 p=10; m=2; ywt=[];uwt=1;%设置输入约束和参考轨迹等控制器参数 kmpc=mpccon(plant,ywt,uwt,m,p);%模型预测控制器增益矩阵计算 tend=1000;r=1;%仿真时间 [y,u,yrn]=mpcsim(plant,model,kmpc,tend,r);%模型预测控制仿真 t=0:20:1000;%定义自变量t的取值数组 plot(t,y) xlabel(‘图一DMC控制动态响应曲线(time/s)’); ylabel(‘响应曲线’); 结果如下: Percent error in the last step response coefficient

光伏发电的MATLAB仿真教程文件

一、实验过程记录 1.画出实验接线图 图1 实验接线图 图2 光伏电池板图3 实验接线实物图 2.实验过程记录与分析 (1)给出实验的详细步骤 ○1实验前根据指导书要求完成预习报告 ○2按预习报告设计的实习步骤,利用MATLAB建立光伏数学模型,如下图4所示。

图4 光伏电池模型其中PV Array模块里子模块如下图5所示。 图5 PV Array模型其中Iph,Uoc,Io,Vt子模块如下图6-9所示。 图6Iph子模块

图7Uoc子模块 图8 Io子模块 图9Vt子模块 ○3在光伏电池建模的基础上,输入实际光伏电池参数值,研究不同光照强度下、不同温度下光伏电池的I-V、P-V特性曲线,并得出结论。 ○4设计光伏电池测试平台,在不同光照、温度情况下测试光伏电池输出电压、输出电流值,对实测数据进行处理并加以分析,记录实际光伏电池的I-V、P-V特性曲线,与仿真结果进行对比,得出有意义的结论。 ○5确定电力变换电路拓扑结构,设计电路中的相关参数值,通过MATLAB搭建电路并仿真分析,搭建电路如图10所示。

图10离网型光伏发电系统 ○6确定系统MPPT控制策略,建立MPPT模块仿真模型,并仿真分析。 系统联调,调节离网型光伏发电系统的电路和控制参数值,仿真并分析最大功率跟踪控制效果。 (2)记录实验数据 表1当T=290K时S=1305W/时的测试数据 表2当T=287K时S=1305W/时的测试数据 表3当T=287K时S=1278W/时的测试数据

二、实验结果处理与分析 1.实验数据的整理和选择 使用MATLAB软件其中的simulink工具进行模型的搭建。再对其进行仿真,得到仿真曲线。使用Excel表格输入实验所测得U、I、P,在对其自动生成I-V,P-V曲线。 2.绘制不同光照强度下、不同温度下光伏电池的I-V、P-V特性曲线; 图11 I-V曲线图12 P-V曲线 当T=290K时S=1305W/时的测拟合曲线 图13 I-V曲线图14 P-V曲线 当T=287K时S=1305W/时的拟合曲线

matlab入门教程文献

MATLAB入门教程 1.MATLAB的基本知识 1-1、基本运算与函数 在MATLAB下进行基本数学运算,只需将运算式直接打入提示号(>>)之後,并按入Enter键即可。例如: >> (5*2+1.3-0.8)*10/25 ans =4.2000 MATLAB会将运算结果直接存入一变数ans,代表MATLAB运算後的答案(Answer)并显示其数值於萤幕上。 小提示:">>"是MATLAB的提示符号(Prompt),但在PC中文视窗系统下,由於编码方式不同,此提示符号常会消失不见,但这并不会影响到MATLAB的运算结果。 我们也可将上述运算式的结果设定给另一个变数x: x = (5*2+1.3-0.8)*10^2/25 x = 42 此时MATLAB会直接显示x的值。由上例可知,MATLAB认识所有一般常用到的加(+)、减(-)、乘(*)、除(/)的数学运算符号,以及幂次运算(^)。小提示:MATLAB将所有变数均存成double的形式,所以不需经过变数宣告(Variable declaration)。MATLAB同时也会自动进行记忆体的使用和回收,而不必像C语言,必须由使用者一一指定.这些功能使的MATLAB易学易用,使用者可专心致力於撰写程式,而不必被软体枝节问题所干扰。 若不想让MATLAB每次都显示运算结果,只需在运算式最後加上分号(;)即可,如下例: y = sin(10)*exp(-0.3*4^2); 若要显示变数y的值,直接键入y即可: >>y y =-0.0045 在上例中,sin是正弦函数,exp是指数函数,这些都是MA TLAB常用到的数学函数。 下表即为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):地板函数,即舍去正小数至最近整数

灰色预测模型的MATLAB 程序及检验程序

灰色预测模型的Matlab程序及检验程序%灰色预测模型程序 clear syms a b; c=[a b]'; A=[46.232.626.723.020.018.917.516.3];%原始序列B=cumsum(A);%累加 n=length(A); for i=1:(n-1) C(i)=(B(i)+B(i+1))/2; end %计算待定参数 D=A; D(1)=[]; D=D'; E=[-C;ones(1,n-1)]; c=inv(E*E')*E*D; c=c'; a=c(1); b=c(2); %预测往后预测5个数据 F=[];F(1)=A(1); for i=2:(n+5) F(i)=(A(1)-b/a)/exp(a*(i-1))+b/a; end G=[];G(1)=A(1); for i=2:(n+5) G(i)=F(i)-F(i-1); end t1=2002:2009; t2=2002:2014; G plot(t1,A,'o',t2,G) %灰色预测模型检验程序 function[q,c,p]=checkgm(x0,x1) %GM检验函数 %x0原始序列 %x1预测序列 %·返回值

%q–-相对误差 %c--·方差比 %p--小误差概率 e0=x0-x1; q=e0/x0; s1=var(x0); %qpa=mean(e0); s2=var(e0); c=s2/s1; len=length(e0); p=0; for i=1:len if(abs(e0(i))<0.6745*s1) p=p+1; end end p=p/len; end 等级相对误差q方差比C小误差概论P I级<0.01<0.35>0.95 II级<0.05<0.50<0.80 III级<0.10<0.65<0.70 IV级>0.20>0.80<0.60

MATLAB模型预测控制工具箱函数

M A T L A B模型预测控制工具箱函数 系统模型建立与转换函数 前面读者论坛了利用系统输入/输出数据进行系统模型辨识的有关函数及使用方法,为时行模型预测控制器的设计,需要对系统模型进行进一步的处理和转换。MATLAB的模型预测控制工具箱中提供了一系列函数完成多种模型转换和复杂系统模型的建立功能。 在模型预测控制工具箱中使用了两种专用的系统模型格式,即MPC状态空间模型和MPC传递函数模型。这两种模型格式分别是状态空间模型和传递函数模型在模型预测控制工具箱中的特殊表达形式。这种模型格式化可以同时支持连续和离散系统模型的表达,在MPC传递函数模型中还增加了对纯时延的支持。表8-2列出了模型预测控制工具箱的模型建立与转换函数。 表8-2 模型建立与转换函数 模型转换 在MATLAB模型预测工具箱中支持多种系统模型格式。这些模型格式包括: ①通用状态空间模型; ②通用传递函数模型; ③MPC阶跃响应模型; ④MPC状态空间模型; ⑤MPC传递函数模型。

在上述5种模型格式中,前两种模型格式是MATLAB通用的模型格式,在其他控制类工具箱中,如控制系统工具箱、鲁棒控制工具等都予以支持;而后三种模型格式化则是模型预测控制工具箱特有的。其中,MPC状态空间模型和MPC传递函数模型是通用的状态空间模型和传递函数模型在模型预测控制工具箱中采用的增广格式。模型预测控制工具箱提供了若干函数,用于完成上述模型格式间的转换功能。下面对这些函数的用法加以介绍。 1.通用状态空间模型与MPC状态空间模型之间的转换 MPC状态空间模型在通用状态空间模型的基础上增加了对系统输入/输出扰动和采样 周期的描述信息,函数ss2mod()和mod2ss()用于实现这两种模型格式之间的转换。 1)通用状态空间模型转换为MPC状态空间模型函数ss2mod() 该函数的调用格式为 pmod= ss2mod(A,B,C,D) pmod= ss2mod(A,B,C,D,minfo) pmod= ss2mod(A,B,C,D,minfo,x0,u0,y0,f0) 式中,A, B, C, D为通用状态空间矩阵; minfo为构成MPC状态空间模型的其他描述信息,为7个元素的向量,各元素分别定义为: ◆minfo(1)=dt,系统采样周期,默认值为1; ◆minfo(2)=n,系统阶次,默认值为系统矩阵A的阶次; ◆minfo(3)=nu,受控输入的个数,默认值为系统输入的维数; ◆minfo(4)=nd,测量扰的数目,默认值为0; ◆minfo(5)=nw,未测量扰动的数目,默认值为0; ◆minfo(6)=nym,测量输出的数目,默认值系统输出的维数; ◆minfo(7)=nyu,未测量输出的数目,默认值为0; 注:如果在输入参数中没有指定m i n f o,则取默认值。 x0, u0, y0, f0为线性化条件,默认值均为0; pmod为系统的MPC状态空间模型格式。 例8-5将如下以传递函数表示的系统模型转换为MPC状态空间模型。 解:MATLAB命令如下: 2)MPC状态空间模型转换为通用状态空间模型函数mod2ss()

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 1482 18.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 ofuoc is'); %在屏幕上显示“The magnitude of uoc is ” )1482cos(18.3o ?+=t u

MATLAB基础及应用教程

第4章程序设计 在前面我们已经看到,MATLAB不但可以在命令窗直接输入命令并运行,而且还可以生成自己的程序文件,这就是我们通常说的一类以M为后缀的M文件,本章我们就来研究这类文件的形成方法。 M文件可分分为两大类,一是命令式M文件(也称为脚本文件,script),二是函数式M 文件(function)。两类文件的区别在于: (1)命令式文件可以直接运行,函数式文件不能直接运行,只能调用。 (2)命令式文件运行时没有输入输出参量,函数式文件在调用时需要进行输入输出参量设置。 (3)命令式文件运行中可以调用工作空间的数据,运行中产生的所有变量为全局变量。 (4)函数式文件不能调用工作空间的数据,运行中产生的所有变量为局部变量。命令式文件运行中产生的所有变量为全局变量,可以调用和存储到工作空间的数据。 4.1 MATLAB的程序文件-M文件 4.1.1 脚本文件(Scripts) 当我们需要在命令窗进行大量的命令集合运行时,直接从命令窗口输入比较麻烦,这时就可以将这些命令集合存放在一个脚本文件(Scripts)中,运行时只需要输入其文件名就可以自动执行这些命令集合。需要注意的是,脚本文件运行所产生的变量都驻留在MATLAB 的工作空间中,同时脚本文件也可以调用工作空间中的数据。因此,脚本文件所涉及的变量是全局变量。前几章所涉及到的M文件都是这类脚本文件。 编辑一个脚本文件可以直接在命令窗口的左上角打开编辑窗进行编辑。 4.1.2 函数文件(function) 函数式文件(function)的构成 (1)函数定义行: Function [输出参量]=gauss(输入参量) (2): 完成函数的功能。 (3)函数说明。 (4)函数行注。 从上面构成的情况看,函数式文件实际上是完成输入参量与输出参量的转换,这样的转换是由函数文件名为gauss的文件来完成的。函数体的功能必须说明清楚输入参量与输出参量的关系。函数说明是用来解释该函数的功能的,函数行注是对程序行进行说明的。上面(1)和(2)是必须的。 【例4-1】分析下面函数文件。 %一个数列,任意项等于前两项之和,输入项数可以给出这个数列

基于Matlab软件的用户预测方法及流程

龙源期刊网 https://www.360docs.net/doc/f810384669.html, 基于Matlab软件的用户预测方法及流程 作者:郑美薇 来源:《活力》2010年第14期 [摘要]移动用户预测的准确性是前期网络规划和后续工程建设的主要依据,直接关系到工程建设的规模和投资,以及工程建成投产后的经济效益。本文根据多年的规划工作经验积累,浅谈一下网络规划中的通信用户预测方法及流程,并提出了一种基于MATLAB软件的用户交互式预测界面,用以简化预测流程,提高预测精度。 [关键词]网络规划;用户预测;matlab 一、前言 移动通信自1987年投入运营以来,用户数一直保持较高的增长率。为了满足用户不断增长的通信需求,全国各省、市都在加快通信网络的建设与扩容工程。而网络的建设既要不断引进 新的技术,满足用户日益发展的个性化需求,又要使整个网络经济适用,使工程投产后收到良好的经济效益,因此就需要准确地对移动用户的发展进行预测。用户预测结果是后续网络规划和建 设的依据,而预测结果的准确程度决定了整个规划的合理性和科学性。本文利用Matlab软件编制了一个交互式的用户预测界面,力争简化预测流程、提升预测精度,提高工作效率。 二、正文 用户的发展受到外界经济、政策、社会各方面因素的影响,所以用户预测不仅仅局限于通 过成长曲线、二次曲线、GDP及普及率等预测方法对历史数据进行趋势外推,而要综合考虑外界各方面影响因素可能对用户发展产生的影响。为了使预测结果更加科学和符合实际并能促进网络健康发展,还要通过各种与用户数有关的指标对预测结果进行修正,同时综合考虑外界因素可能对未来几年用户的发展产生的影响,对修正后结果做再次调整,以力求得出最符合未来发展的用户预测结果。 (一)用户预测的方法及流程 1.GDP及普及法: ①通过直线法预测未来5年GDP和人口数,并计算出未来五年的人均GDP; ②计算出历史数据中GDP及普及率的线性关系; ③通过步骤①、②计算得出未来五年的普及率;

三相桥式全控整流及逆变电路matlab仿真

电力电子技术课程设计 系别:自动化系 专业:自动化 班级:1120393 小组成员:费学智(25)薛阳(43) 指导老师:周敏 日期:2013年12月13日

目录 1.简要背景概述 (3) 2.工作原理介绍 (3) 3.主电路设计 (4) 4. simulink仿真系统设计 (5) 5.仿真结果分析 (7) 6.总结(收获与体会) (17) 7参考文献 (17)

一简要背景概述 随着社会生产和科学技术的发展,整流电路在自动控制系统、测量系统和发电机励磁系统等领域的应用日益广泛。常用的三相整流电路有三相桥式不可控整流电路、三相桥式半控整流电路和三相桥式全控整流电路。三相全控整流电路的整流负载容量较大,输出直流电压脉动较小,是目前应用最为广泛的整流电路。它是由半波整流电路发展而来的。由一组共阴极的三相半波可控整流电路和一组共阳极接法的晶闸管串联而成。六个晶闸管分别由按一定规律的脉冲触发导通,来实现对三相交流电的整流,当改变晶闸管的触发角时,相应的输出电压平均值也会改变,从而得到不同的输出。由于整流电路涉及到交流信号、直流信号以及触发信号,同时包含晶闸管、电容、电感、电阻等多种元件,采用常规电路分析方法显得相当繁琐,高压情况下实验也难顺利进行。Matlab提供的可视化仿真工具Simulink可直接建立电路仿真模型,随意改变仿真参数,并且立即可得到任意的仿真结果,直观性强,进一步省去了编程的步骤。本文利用Simulink对三相桥式全控整流电路进行建模,对不同控制角、桥故障情况下进行了仿真分析,既进一步加深了三相桥式全控整流电路的理论,同时也为现代电力电子实验教学奠定良好的实验基础。 三相桥式全控整流电路以及三相桥式全控逆变电路在现代电力电子技术中具有很重要的作用和很广泛的应用。这里结合全控整流电路以及全控逆变电路理论基础,采用Matlab 的仿真工具Simulink对三相桥式全控整流电路和三相桥式全控逆变电路进行仿真,对输出参数进行仿真及验证,进一步了解三相桥式全控整流电路和三相桥式全控逆变电路的工作原理。 二工作原理介绍 一般变压器一次侧接成三角型,二次侧接成星型,晶闸管分共阴极和共阳极。一般1、3、5为共阴极,2、4、6为共阳极。 (1)2管同时通形成供电回路,其中共阴极组和共阳极组各1,且不能为同1相器件。 (2)对触发脉冲的要求: 1)按VT1-VT2-VT3-VT4-VT5-VT6的顺序,相位依次差60?。 2)共阴极组VT1、VT3、VT5的脉冲依次差120?,共阳极组VT4、VT6 、 VT2也依次差120?。 3)同一相的上下两个桥臂,即VT1与VT4,VT3与VT6,VT5与VT2,脉冲相差180?。 (3)Ud一周期脉动6次,每次脉动的波形都一样,故该电路为6脉波整流电路。(4)需保证同时导通的2个晶闸管均有脉冲,可采用两种方法:一种是宽脉冲触发一种是双脉冲触发(常用) (5)晶闸管承受的电压波形与三相半波时相同,晶闸管承受最大正、反向电压的关系也相同。

相关文档
最新文档