MATLAB程序设计方案.doc

MATLAB程序设计方案.doc
MATLAB程序设计方案.doc

一.多项式拟合

多项式拟合是多项式运算的一个重要组成部分,在工程及科研工作中都等到了广泛的应用。其实现一方面可以由矩阵的除法求解超定方程来进行;另一方面在MATLAB中还提供了专门的拟合函数polyfit,其常用调用格式如下:

polyfit(X,Y,n):其中X,Y为拟合数据,n为拟合多项式的阶数。[p,s]=polyfit(X,Y,n):其中p为拟合多项式系数常量,s为拟合多项式系数常量的结构信息。

1.用5阶多项式对[0,pi/2]上的正弦函数进行最小二乘拟合。

x=0:pi/20:pi/2;

y=sin(x);

a=polyfit(x,y,5);

x1=0:pi/30:pi*2;

y1=sin(x1);

y2=a(1)*x1.^5+a(2)*x1.^4+a(3)*x1.^3+a(4)*x1.^2+a(5)*x1+a(6);

plot(x1,y1,'b-',x1,y2,'r*')

legend('原曲线','拟合曲线')

axis([0,7,-1.2,4])

01234567

2.设原始数据为x,在11个点上测得的y值如下:

X=[-2.0 -1.6 -1.2 -0.8 -0.4 0 0.4 0.8 1.2 1.6 2.0];

Y=[2.8 2.96 2.54 3.44 3.56 5.4 6.0 8.4 9.5 13.3 15];

采用2阶和10阶多项式拟合,并画图比较

x=[-2.0 -1.6 -1.2 -0.8 -0.4 0 0.4 0.8 1.2 1.6 2.0];

y=[2.8 2.96 2.54 3.44 3.56 5.4 6.0 8.4 9.5 13.3 15];

a=polyfit(x,y,2);

x1=-2:0.01:2;

y2=a(1)*x1.^2+a(2)*x1+a(3);

plot(x,y,'b-',x1,y2,'r--')

x=[-2.0 -1.6 -1.2 -0.8 -0.4 0 0.4 0.8 1.2 1.6 2.0];

y=[2.8 2.96 2.54 3.44 3.56 5.4 6.0 8.4 9.5 13.3 15];

a=polyfit(x,y,10);

x1=-2:0.01:2;

y2=a(1)*x1.^10+a(2)*x1.^9+a(3)*x1.^8+a(4)*x1.^7+a(5)*x1.^6+a(6)*x1.^5 +a(7)*x1.^4+a(8)*x1.^3+a(9)*x1.^2+a(10)*x1+a(11);

)

plot(x,y,'b-',x1,y2,'r--'

二.图形的保持与子图

1.在4个子图中绘制不同的三角函数图。(二维子图的绘制)

x=0:0.1*pi:2*pi; subplot(2,2,1); plot(x,sin(x),'-*'); title('sin(x)'); subplot(2,2,2); plot(x,cos(x),'-o'); title('cos(x)'); subplot(2,2,3);

plot(x,sin(x).*cos(x),'-x'); title('sin(x)*cos(x)'); subplot(2,2,4);

plot(x,sin(x)+cos(x),'-h'); title('sin(x)+cos(x)')

sin(x)

cos(x)

2

4

6

8

sin(x)*cos(x)

2

468

sin(x)+cos(x)

2.对于函数22)1()1(++-=y x z βα,x 的取值范围0~2,y 的取值范围2-~0,画出四个三维子图,其中1,

1==βα;1,2==βα;

2,

1==βα;5.0,

8.0==βα;要求每一个子图有标题。

[x,y]=meshgrid(0:0.1:2,-2:0.1:0); subplot(2,2,1);

z=(x-1).^2+(y+1).^2; mesh(z);

title('子图1'); subplot(2,2,2);

z=2*(x-1).^2+(y+1).^2; mesh(z);

title('子图2'); subplot(2,2,3);

z=(x-1).^2+2*(y+1).^2; mesh(z);

title('子图3'); subplot(2,2,4);

z=0.8*(x-1).^2+0.5*(y+1).^2; mesh(z);

title('子图4');

40

子图1

40

子图

2

40

子图3

40

子图4

三.龙格-库塔方法

1.用经典的R-K方法求解y’=-2y+2x2+2x。其中(0<=x<=0.5),y(0)=1.

编制函数文件(fun.m)

fun.m

function f=fun(x,y)

f=-2*y+2*x.^2+2*x

在命令窗口输入

[x,y]=ode23('fun',[0,0.5],1);

x'

0 0.0400 0.0900 0.1400 0.1900 0.2400 0.2900 0.3400 0.3900 0.4400 0.4900 0.5000

y'

1.0000 0.9247 0.8434 0.7754 0.7199 0.6764 0.6440 0.6222 0.6105 0.6084 0.6154 0.6179

再输入:

plot(x,y,'-o')

可等到图形如下:

2.解刚性方程

解如下刚性方程:(见课本251页)

编制f.m文件

function f=f(x,y)

f=[-2 1;998 -999]*y+[2*sin(x);999*(cos(x)-sin(x))] 在程序窗口输入:

tic;ode45(@f,[0 10],[2,3]);t1=toc

t1 =

3.4540

tic;ode23(@f,[0 10],[2,3]);t1=toc

t1 =

2.9839

tic;ode23s(@f,[0 10],[2,3]);t1=toc

t1 =

0.6957

3.用龙格库塔方法求解常微分方程,初始条件为4d 22=dt

x ,

20

==t dt dx

1

0==t x

编制函数文件(f.m)

function ydot=f(t,y)

ydot=[y(2); 4 ];

在命令窗口输入:

[T,Y]=ode45(@f,[0:0.1:10],[1,2]); plot(T,Y(:,1),T,Y(:,2));

012345678910

50

100

150

200

250

4.设有一微分方程组???=+=)

2sin()()cos()()(X 22

1t t X t t X t ,已知0t =当时,

5.0)0(1=X ,5.0)0(2-=X ,求微分方程在]50,0[∈t 上的解,并画出21X X -的轨迹。

编制函数文件(liao.m)

function f=liao(t,X)

f=[X(2)+cos(t);sin(2*t)];

在命令窗口输入:

[T,X]=ode45('liao',[0 50],[0.5,-0.5]); plot(X(:,1),X(:,2));

四.While/for 循环

1.用for 循环求1!+2!+3!+…+20!的值

sum=0;

for i=1:20; prd=1;

for k=1:i;

prd=prd*k; end

sum=sum+prd;

end sum sum = 2.5613e+018

五.Simulink 电路仿真

Simulink 是MATLAB 软件的扩展,是实现动态系统建模和仿真的一个软件包。

运行一个仿真完整的步骤: (1).设置仿真参数 (2).启动仿真 (3).仿真结果分析

1、电阻电路的计算,电路如图

建立Simulink 模型,R1=2,R2=4,R3=12,R4=4,R5=12,R6=4,R7=2,Us=10V 。求i3,U4,U7

powergui

Continuous Voltage Measurement1

v

+-Voltage Measurement

v

+

-Parallel RLC Branch 6

Parallel RLC Branch 5

Parallel RLC Branch 4

Parallel RLC Branch 3

Parallel RLC Branch 2

Parallel RLC Branch 1

Parallel RLC Branch

Display 2

-0.1852Display 1

0.7407Display

2.222DC Voltage Source

Current Measurement

i +-

2.

注:参数设置 Step time: 0 Final value: 1e11 Gain1: 2.5e6 Gain: 1e12

Simulation stop time: 1.5e-5

实验二 Matlab程序设计基本方法1

实验二Matlab程序设计基本方法 覃照乘自092 电气工程学院 一、实验目的: 1、熟悉MATLAB 程序编辑与设计环境 2、掌握各种编程语句语法规则及程序设计方法 3、函数文件的编写和设计 4、了解和熟悉跨空间变量传递和赋值 二、实验基本知识: ◆for循环结构 语法:for i=初值:增量:终值 语句1 …… 语句n end 说明:1.i=初值:终值,则增量为1。 2.初值、增量、终值可正可负,可以是整数,也可以是小数,只须符合数学逻辑。 ◆while 循环结构 语法:while 逻辑表达式 循环体语句 end 说明:1、whiIe结构依据逻辑表达式的值判断是否执行循环体语勾。若表达式的值为真,执行循环体语句一次、在反复执行时,每次都要进行判断。若表达 式的值为假,则程序执行end之后的语句。 2、为了避免因逻辑上的失误,而陷入死循环,建议在循环体语句的适当位 置加break语句、以便程序能正常执行。(执行循环体的次数不确定; 每一次执行循环体后,一定会改变while后面所跟关系式的值。) 3、while循环也可以嵌套、其结构如下:

while逻辑表达式1 循环体语句1 while逻辑表达式2 循环体语句2 end 循环体语句3 end ◆if-else-end分支结构 if 表达式1 语句1 else if 表达式2(可选) 语句2 else(可选) 语句3 end end 说明:1.if结构是一个条件分支语句,若满足表达式的条件,则往下执行;若不满足,则跳出if结构。 2.else if表达式2与else为可选项,这两条语句可依据具体情况取舍。 3.注意:每一个if都对应一个end,即有几个if,记就应有几个end。 ◆switch-case结构 语法:switch表达式 case常量表达式1 语句组1 case常量表达式2 语句组2 …… otherwise 语句组n end

《MATLAB程序设计与应用(刘卫国)》(第二版) 答案

《MATLAB程序设计与应用(刘卫国)》(第二版)实验一MATLAB运算基础 1.(1) z1=2*sin(pi*85/180)/(1+exp(2)) (2)x=[2,1+2i;-0.45,5]; z2=log(x+sqrt(1+x.^2))/2 (3)a=-3.0:0.1:3.0; z3=0.5*(exp(0.3*a)-exp(-0.3*a)).*sin(a+0.3)+log((0.3+a)/2) (4)t=0:0.5:2.5; z4=(t>=0&t<1).*t.^2+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3).*(t.^2-2*t+1) 2. A=[12,34,-4;34,7,87;3,65,7]; B=[1,3,-1;2,0,3;3,-2,7]; (1)a=A+6*B b=A-B+eye(size(A)) %I=eye(size(A)) (2)c=A*B d=A.*B (3)e=A^3 f=A.^3 (4)g=A/B h=B\A (5)m=[A,B] n=[A([1,3],:);B^2] 3. A=[1,2,3,4,5;6,7,8,9,10;11,12,13,14,15;16,17,18,19,20;21,22,23,24,25]; B=[3,0,16;17,-6,9;0,23,-4;9,7,0;4,13,11]; (1)C=A*B (2)D=C(3:end,2:end) 4.(1) a=100:999; b=rem(a,21)==0; c=find(b); d=length(c) (2)ch='Just as Bianhaiman said,Xiehong is ...'; e=find(ch>='A'&ch<='Z'); ch(e)=[] 实验二 MATLAB矩阵分析与处理 1.E=eye(3);

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程序设计与应用课后实验六八九

实验六 高层绘图操作 %第一题: 程序代码如下: x=linspace(0,2*pi,101); y=(0.5+3*sin(x)./(1+x.^2)).*cos(x); plot(x,y) 01234567 -1 -0.5 0.5 1 1.5 %第二题: %(1) 程序代码如下: x=linspace(-2*pi,2*pi,100); y1=x.^2; y2=cos(2*x); y3=y1.*y2; plot(x,y1,'b-',x,y2,'r:',x,y3,'y--'); text(4,16,'\leftarrow y1=x^2'); text(6*pi/4,-1,'\downarrow y2=cos(2*x)'); text(-1.5*pi,-2.25*pi*pi,'\uparrow y3=y1*y2');

-8 -6 -4 -2 2 4 6 8 -30-20 -10 10 20 30 40 %(2) 程序代码如下: x=linspace(-2*pi,2*pi,100); y1=x.^2; y2=cos(2*x); y3=y1.*y2; subplot(1,3,1);%分区 plot(x,y1); title('y1=x^2');%设置标题 subplot(1,3,2); plot(x,y2); title('y2=cos(2*x)'); subplot(1,3,3); plot(x,y3); title('y3=x^2*cos(2*x)');

-10 10 0510 15202530 35 40y1=x 2 -10 10 -1-0.8 -0.6 -0.4-0.200.20.4 0.6 0.8 1y2=cos(2*x) -10 10 -30-20 -10 10 20 30 40 y3=x 2*cos(2*x) %(3) 程序代码如下: x=linspace(-2*pi,2*pi,20); y1=x.^2; subplot(2,2,1);%分区 bar(x,y1); title('y1=x^2的条形图');%设置标题 subplot(2,2,2); stairs(x,y1); title('y1=x^2的阶梯图'); subplot(2,2,3); stem(x,y1); title('y1=x^2的杆图'); subplot(2,2,4); fill(x,y1,'r');%如果少了'r'则会出错 title('y1=x^2的填充图'); %其他的函数照样做。

实验3MATLAB程序设计

1,编写M 函数实现求一个数是否为素数,再编写一主程序(脚本文件),要求通过键盘输入一个整数,然后调用判断素数函数,从而确定它是否素数。 x=input('请输入一个整数x:'); if myprime(x) disp('您输入的整数x是一个素数。') else disp('您输入的数x不是一个素数。') end function y=myprime(x) y=1; for i=2:fix(sqrt(x)) if mod(x,i)==0 y=0; end end 2,编写M 函数统计一数值中零的个数,然后编写脚本文件,实现统计从1—2007 中零的总个数。 function num=number0(a) %统计十进制数值中0的个数 sa=num2str(a);%将数值装化为字符串 num=length(find(sa=='0'));% ));%求取字符串中'0’的个数 y=0;

for a=1:2006 num=number0(a); y=num+y; end disp(y) 504 3,编写程序计算x∈[-3,3],字长0.01:并画出曲线x = -3:0.01:3; y=zeros(size(x)); for i = 1:length(x) if -3<= x(i)& x(i)<=-1 y(i)=(-x(i).^2-4*x(i)-3)/ 2; elseif -1<= x(i) & x(i)<=1 y(i)=-x(i).^2+1; elseif 1<=x(:,i)<=3 y(i)=(-x(i).^2+4*x(i)-3)/2; end end plot(x,y) -3-2-10123

基于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程序设计与应用第二版习题答案【篇一:matlab程序设计与应用(第二版)实验答案】 %实验一 matlab运算基础 %第1题 %(1) z1=2*sin(85*pi/180)/(1+exp(2)) %(2) x=[2,1+2i;-0.45,5]; z2=0.5*log(x+sqrt(1+x.^2)) %(3) a=-3.0:0.1:3.0; z3=(exp(0.3*a)-exp(-0.3*a))/2.*sin(a+0.3)+log((0.3+a)/2) %(4) t=0:0.5:2.5; z4=t.^2.*(t=0t1)+(t.^2-1).*(t=1t2)+(t.^2-2*t+1).*(t=2t3) %第2题 a=[12 34 -4;34 7 87;3 65 7]; b=[1 3 -1;2 0 3;3 -2 7]; a+6*b a-b+eye(size(a)) a*b a.*b a^3 a.^3 a/b b\a [a,b] [a([1,3],:);b^2] %第3题 a=[1 2 3 4 5;6 7 8 9 10;11 12 13 14 15;16 17 18 19 20;21 22 23 24 25] b=[3 0 16;17 -6 9;0 23 -4;9 7 0;4 13 11] c=a*b f=size(c) d=c(f(1)-2:f(1),f(2)-1:f(2)) whos %第4题 %(1):

a=100:999; b=rem(a,21); c=length(find(b==0)) %(2): a=lsdhksdlkklsdkl; k=find(a=aa=z); a(k)=[] %实验二 matlab矩阵分析与处理 %第1题 e=eye(3); r=rand(3,2); o=zeros(2,3); s=diag([2,3]); a=[e,r;o,s]; a^2 b=[e,(r+r*s);o,s^2] %第2题 h=hilb(5) p=pascal(5) hh=det(h) hp=det(p) th=cond(h) tp=cond(p) %第3题 a=fix(10*rand(5)) h=det(a) trace=trace(a) rank=rank(a) norm=norm(a) %第4题 a=[-29,6,18;20,5,12;-8,8,5] [v,d]=eig(a) %数学意义略 %第5题方法一 %(1): a=[1/2,1/3,1/4;1/3,1/4,1/5;1/4,1/5,1/6]; b=[0.95,0.67,0.52]; x=inv(a)*b %(2):

MATLAB程序设计实验报告

MATLAB 程序设计实验报告 一、实验目的 1. 通过实验熟悉MATLAB 仿真软件的使用方法; 2. 掌握用MATLAB 对连续信号时域分析、频域分析和s 域分析的方法,利用绘图命令绘制出典型信号的波形,了解这些信号的基本特征; 3. 掌握用MATLAB 对离散信号时域分析、频域分析和z 域分析的方法,利用绘图命令绘制出典型信号的波形,了解这些信号的基本特征; 4. 通过绘制信号运算结果的波形,了解这些信号运算对信号所起的作用。 二、实验设备 1. 计算机 : 2. MATLAB R2007a 仿真软件 三、实验原理 对系统的时域分析 信号的时域运算包括信号的相加、相乘,信号的时域变换包括信号的平移、反折、倒相及信号的尺度变换。 (1)信号的相加和相乘:已知信号)(1t f 和)(2t f ,信号相加和相乘记为 )()(1t f t f =)(2t f +;)()(1 t f t f =)(2t f *。 (2)信号的微分和积分:对于连续时间信号,其微分运算是用diff 函数来完成的,其语句格式为:diff(function,’variable’,n),其中function 表示需要进行求导运算的信号,或者被赋值的符号表达式;variable 为求导运算的独立变量;n 为求导的阶数,默认值为求一阶导数。连续信号的积分运算用int 函数来完成,语句格式为:diff(function,’variable’,a,b),其中function 表示需要进行被积信号,或者被赋值的符号表达式;variable 为求导运算的独立变量;a,b 为积分上、下限,a 和b 省略时为求不定积分。 (3)信号的平移、翻转和尺度变换 信号的平移包含信号的左移与右移,信号的翻转包含信号的倒相与折叠,平移和翻转信号不会改变信号)(t f 的面积和能量。信号的尺度变换是对信号)(t f 在时间轴上的变化,可使信号压缩或扩展。)(at f 将原波形压缩a 倍,)/(a t f 将原波形扩大a 倍。 ¥ 对系统频率特性的分析

基于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程序设计实验报告

实验七Matlab 程序设计 实验目的: 1、掌握建立和执行M 文件的方法; 2、掌握实现选择结构的方法; 3、掌握实现循环结构的方法。 实验内容: 1. 编写用 5 次多项式拟合函数y=sin(x), x [0, 2 ]的脚本M 文件,要求绘图观察拟合的效果。 function shiyan1 x=0:0.5:2*pi y=sin(x) p=polyfit(x,y,5) x1=0:0.2:2*pi y1=polyval(p,x1) plot(x,y, 'b' ,x1,y1, '*r' x =

Columns 1 through 9 0 0.5000 1.0000 1.5000 2.0000 2.5000 3.0000 3.5000 4.0000 Columns 10 through 13 4.5000 5.0000 5.5000 6.0000 y = Columns 1 through 9 0 0.4794 0.8415 0.9975 0.9093 0.5985 0.1411 -0.3508 -0.7568 Columns 10 through 13 -0.9775 -0.9589 -0.7055 -0.2794 p = -0.0056 0.0881 -0.3967 0.2671 0.8902 0.0029 x1 = Columns 1 through 10 0 0.2000 0.4000 0.6000 0.8000 1.0000 1.2000 1.4000 1.6000 1.8000 Columns 11 through 20

2. 2.2000 2.4000 2.6000 2.8000 3.0000 3.2000 3.4000 3.6000 1.8001 Columns 21 through 30 4.0 4.2000 4.4000 4.6000 4.8000 5.0000 5.2000 5.4000 5.6000 5.8000 Columns 31 through 32 6.0 6.2000 y1 = Columns 1 through 10 0.29 0.1886 0.3786 0.5585 0.7172 0.8461 0.9391 0.9926 1.0048 0.9761 Columns 11 through 20 0.9083 0.8048 0.6701 0.5098 0.3301 0.1381 -0.0590 -0.2538 -0.4389 -0.6073 Columns 21 through 30 -0.7524 -0.8685 -0.9505 -0.9949 -0.9991 -0.9626 -0.8863 -0.7732 -0.6288 -0.4606 Columns 31 through 32

D实验五 M文件和MATLAB程序设计

实验五M文件和MATLAB程序设计 一、实验目的 matlab作为一种高级计算机语言,不仅可以命令行方式完成操作,也具有数据结构、控制流、输入输出等能力,本次实验通过熟悉和掌握m文件的建立与使用方法,以及函数与控制程序流程语句的使用,使学生具备一定的编程和程序调试能力。 1.掌握M文件的使用方法。 2.掌握if语句和switch语句的使用 3. 掌握循环语句的使用 4. 通过练习理解MATLAB编程方法。 二、实验原理 1.m文件 用matlab语言编写的程序,称为m文件。M文件根据调用方式的不同分为两类,命令文件(Script file)和函数文件(Function file)。区别? 2.程序控制结构 1)顺序结构 2)选择结构 (1)if语句a) 单分支if语句b) 双分支if语句c) 多分支if语句 (2)switch 语句 (3)try语句 3)循环结构 (1)for 语句 (2)while语句 (3)break语句、continue语句、return使用,区别? 3.函数文件 function 输出形参表=函数名(输入形参表) 注释说明部分 函数体语句 注意事项? 三、实验要求 1.首先上机练习PPT中各种流程控制语句的有关实例。 2.然后上机练习下面的实验习题。 四、实验习题

1.数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。重复此过程,最终得到的结果为1。如: 2→1 3→10→5→16→8→4→2→1 6→3→10→5→16→8→4→2→1 运行下面的程序,按程序提示输入n=1,2,3,5,7,8,9等数来验证这一结论。 %classic "3n+1" problem from number theory. while 1 n=input('Enter n,negative quits:'); if n<=0 break end a=n; while n>1 if rem(n,2)==0 n=n/2; else n=3*n+1; end a=[a,n]; end a end Enter n,negative quits: 2. 编程求满足∑=>m i i 11000020的最小m 值。 a=0; i=1; while (a<100000) a=a+pow2(i); i=i+1; end m=i-1 3. 编写一个函数,计算下面函数的值,给出x 的值,调用该函数后,返回y 的值。 function [y]=myfun1(x)

光伏发电的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.掌握利用if 语句实现选择结构的方法。 2.掌握利用switch 语句实现多分支选择结构的方法。 3.掌握利用for 语句实现循环结构的方法。 4.掌握利用while 语句实现循环结构的方法。 5.掌握MATLAB 函数的编写及调试方法。 二、 实验的设备及条件 计算机一台(带有以上的软件环境)。 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。如: 21 21 421 运行下面的程序,按程序提示输入n=1,2,3,5,7等数来验证这一结论。 请为关键的Matlab 语句填写上相关注释,说明其含义或功能。 4. y 的值。 5. (Root Mean Square)的计算公式为:

MATLAB程序设计与应用(第二版)实验参考答案

MATLAB程序设计与应用(第二版)实验参考答案 %实验一MATLAB运算基础 %第一题ftp://192.168.0.143/ %(1) z1=2*sin(85*pi/180)/(1+exp(2))ftp://192.168.0.143/ %(2) x=[2,1+2i;-0.45,5]; z2=0.5*log(x+sqrt(1+x.^2))ftp://192.168.0.143/ %(3) a=-3.0:0.1:3.0;ftp://192.168.0.143/ z3=(exp(0.3*a)-exp(-0.3*a))/2.*sin(a+0.3)+log((0.3+a)/2) %(4) t=0:0.5:2.5; z4=t.^2.*(t>=0&t<1)+(t.^2-1).*(t>=1&t<2)+(t.^2-2*t+1).*(t>=2&t<3) %第二题 A=[12 34 -4;34 7 87;3 65 7]; B=[1 3 -1;2 0 3;3 -2 7]; A+6*B A-B+eye(size(A)) A*B A.*B A^3 A.^3 A/B B\A [A,B] [A([1,3],:);B^2] %第三题 A=[1 2 3 4 5;6 7 8 9 10;11 12 13 14 15;16 17 18 19 20;21 22 23 24 25] B=[3 0 16;17 -6 9;0 23 -4;9 7 0;4 13 11] C=A*B F=size(C) D=C(F(1)-2:F(1),F(2)-1:F(2)) whos %第四题 %(1): A=100:999; B=rem(A,21); C=length(find(B==0)) %(2): A='lsdhKSDLKklsdkl';

MATLAB程序设计及应用(第二版)课后实验答案

。 Matlab课后实验题答案 《 实验一 MATLAB运算基础 1. 先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。 (1) 0 12 2sin85 1 z e = + (2) 21 ln( 2 z x =,其中 212 0.455 i x + ??=?? -?? (3) 0.30.3 3 0.3 sin(0.3)ln, 3.0, 2.9,,2.9,3.0 22 a a e e a z a a - -+ =++=--

(4) 22 42011 122123t t z t t t t t ?≤

) 3. 设有矩阵A 和B 1234 53 166789101769,11 121314150 23416171819209 7021222324254 1311A B ???? ????-??? ?????==-??? ? ???????????? (1) 求它们的乘积C 。 (2) 将矩阵C 的右下角3×2子矩阵赋给D 。 (3) 查看MATLAB 工作空间的使用情况。 4. 完成下列操作: (1) 求[100,999]之间能被21整除的数的个数。 (2) 建立一个字符串向量,删除其中的大写字母。 解:(1) 结果:

实验3 Matlab程序设计1实验报告

Tutorial3 实验报告 实验名称:Matlab 程序设计1 实验目的: 1、 掌握建立和执行脚本和函数文件的方法; 2、 掌握实现选择结构的方法; 3、 掌握实现循环结构的方法。 实验内容: 1. 从键盘输入一个4位整数,按如下规则加密后输出。加密规则:每位数字都加上7,然 后用和除以10的余数取代该数字;再把第一位与第三位交换,第二位与第四位交换 要求:函数实现 2. 求分段函数的值。 ,x x x x y x x x x x x x ?+- <≠-? =-+ ≤<≠≠??-- ?222 6035605231且且及其他 用if 语句实现,分别输出x=-5,-3,0,1,2,2.5,3,5时的y 值。 要求:脚本实现 3. 输入一个百分制成绩,要求输出成绩等级A 、B 、C 、D 、E ,其中90~100分为A ,80~89 分为B ,70~79分为C ,60~69分为D ,60分以下为E 。 要求: (1)分别用if 语句和swich 语句实现。 (2)函数实现 4. 硅谷公司员工的工资计算方法如下: (1) 工作时数超过120小时者,超过部分加发15%;

(2)工作时数低于60小时者,扣发700元; (3)其余按每小时84元计发。 试编程按输入的工号和该号员工的工时数,计算应发工资。 要求:函数实现 5.设计程序,完成两位数的加、减、乘、除四则运算。即:输入两个两位随机整数,再输 入一个运算符号,做相应的运算,并显示相应的结果。 要求:函数实现 6.产生20个两位随机整数,输出其中小于平均数的偶数。 要求:脚本实现 7.根据 111 1 3521 y n =++++ - ,求: (1)y<3时的最大n值。 (2)与(1)的n值对应的y值。 要求:脚本实现 8.写出下列程序的运行结果 s = 0; a = [12,13,14;15,16,17;18,19,20;21,22,23]; for k = a for j = 1:4 if rem(k(j),2)~=0 s = s +k(j); end end

MATLAB程序设计与应用(第二版)

阅阅读读时时::请请选选择择““视视图图||文文档档结结构构图图””,,弹弹出出文文档档中中的的标标题题链链接接。。数学软件 MATLAB 程序设计与应用

第1章MATLAB系统环境 1.1 MATLAB概貌 1.2 MATLAB环境的准备 1.3 MATLAB操作界面 1.4 MATLAB帮助系统 自上世纪80年代以来,出现了科学计算语言,亦称数学软件。 MATLAB Mathematica Mathcad Maple LINDO LINGO 1.1 MATLAB概貌p3 MATLAB 是MATrix LABoratory(矩阵实验室)的缩写。 1984年由Math Works 公司推出,现已成为国际公认的优秀的工程应用开发环境,是影响最大,流行最广的科学计算语言。 1.1.1 MATLAB的发展

1. 从MATLAB 4.2c开始,每个版本增加了一个建造编号; 2. 例如MATLAB7.6的建造编号是R2008a。说明MATLAB7.6与MATLAB2008a是等同的; 3. 对于建造编号,正规化以后,每年出两个版本。一般来说。a是测试版,b是正式版。a是前半 年出,b是后半年出。 教材采用MATLAB7.0(R14,2004) 实验室采用MATLAB 7.8(R2009a,2009.3,汉化) 1.1.2 MATLAB的主要功能p4 ◆数值计算和符号计算功能 ◆绘图功能 ◆语言体系 ◆MATLAB工具箱 (1) 数值计算和符号计算功能 MATLAB以矩阵作为数据操作的基本单位,还提供了十分丰富的数值计算函数。 MATLAB先后和著名的符号计算语言Maple与MuPAD(从MATLAB 2008b开始使用MuPAD)相结合,使得MATLAB具有符号计算功能。 (2) 绘图功能 可以绘制二维和三维图形。 MATLAB提供了两个层次的绘图操作: ●对图形句柄进行的低层绘图操作; ●建立在低层绘图操作之上的高层绘图操作。 (3) 语言体系 MATLAB具有程序结构控制、函数调用、数据结构、输入输出、面向对象等程序语言特征,而且简单易学、编程效率高。 MATLAB是解释性语言,不能脱离MATLAB环境而独立运行。 (4) MATLAB工具箱 MATLAB包含两部分内容:基本部分和各种可选的工具箱。 MATLAB工具箱分为两大类:功能性工具箱和学科性工具箱。 基本部分 构成MATLAB的核心内容,也是使用和构造工具箱的基础。 功能性工具箱 主要用来扩充其符号计算功能、可视建模仿真功能及文字处理功能等。 学科性工具箱 Control System Toolbox 控制系统工具箱 Signal Processing Toolbox 信号处理工具箱 Neural Network Toolbox 神经网络工具箱 Optimization Toolbox 最优化工具箱 Financial Toolbox 金融工具箱 Statistics Toolbox 统计学工具箱 开始→工具箱 MATLAB具备很强的开放性 除内部函数外,所有MATLAB基本文件和各工具箱文件都是可读、可改的源文件,用户可通过对源文件的修改或加入自己编写的文件去构成新的专用工具箱。

三相桥式全控整流及逆变电路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)晶闸管承受的电压波形与三相半波时相同,晶闸管承受最大正、反向电压的关系也相同。

相关文档
最新文档