Matlab常用操作入门及电力电子系统仿真

引言


刚刚比较系统地学了一遍Matlab(主要是基础知识和电力电子方面的使用),专门撰写此文,写一下自己对于matlab及Power electronic方面的应用的总结和心得。

Matlab入门

因为笔者也只是个菜鸡大学生,只能根据自己的经验写一下自己在课程中和平时经常使用的例子和函数,抛弃了很多冗杂的入门技巧,让更多的Matlab小白能更快的上手matlab,向大家介绍一些自己最常用的函数和用法。
MATLAB作为一款矩阵运算的科学计算软件,发展至今,已经有丰富的库函数和例程,可以说除了不会生孩子,其它的都会了。Matlab作为一款交互式面向对象的软件,目前笔者已经在信号与系统、控制理论、电力电子等课程都有相关使用,在数模、美赛里也都有过使用matlab。此外,由于笔者经常需要处理实验数据,因此时常会用matlab导入数据,拟合图像。

基础运算

1. matlab的命令行窗口中可以像计算器一样,加减乘除,做各类运算操作。如果是矩阵运算,注意区分点乘和普通矩阵相乘,如果是普通矩阵相乘,按照线性代数知识做矩阵运算即可。如果是两个矩阵点乘,那么就是两个矩阵对应位置上的元素一对一乘积。

image

2. 常用命令行系统操作
clc :清除命令行内容。 clear all : 清除工作区内容。

  1. 创建 .M文件
    一条一条在命令行敲代码实在太累,因此可以像c那样创建一个demo脚本,写完后编译运行文件就好。(具体语法可以查看其它详细科普贴)
    点击新建脚本,写完代码后保存。注意如果想编译运行demo,需要设置文本路径,即把下图中的E:/Matlab/bin路径改成自己保存的demo的文件夹路径即可。
image
image

4. 常用命令

对于Matlab常用函数,主要有以下几个:
plot(x,y) %最最用的多的函数,用于绘制xy轴图像。subplot() 函数可以在同一个figure图上显示
axis([xmin xmax ymin ymax]) %设置xy坐标的范围
xlable("??") / ylable("??") %设置横纵坐标的名字
title("??") %设置标题名
上述主要是画图使用的函数,用的确实是很广泛,如果是想处理批量数据,可以先用Excel保存数据,然后在matlab主页导入数据,最后绘制图像即可。

其他常用函数:

    G=tf([  ],[   ])  %建立传递函数G,两个[   ]中依次为分子分母的最简多项式的系数的值
   conv([ , ],[ , ]) %两个多项式乘积,比如(s+1)*(s+3)可以表示为conv([1 1],[1 3])
    step(G)    %  传递函数G的阶跃函数图像
    impulse(G)  % 传递函数G的脉冲响应的图像
    bode(G)    %波特图绘制
    rlocus(G)    %根轨迹绘制
    pzmap(G)    %零极点图

Buck电路的代码


% This program is used for demostrating buck converter simulation
%component parameters
Vin = 100;
Vtri = 0.1;
Kpwm = Vin/Vtri;
L = 10e-3;
C = 10e-5;
R = 100;
%===============
z=2000;
%==================
% 1/[s^2*LC+(L/R)s+1]
num_g = Kpwm;
den_g = [L*C L/R 1];
% feedback filter parameters
K_h = 0.02;
Tor = 1e-4;
num_h = K_h;
den_h = [Tor 1];
% adding an integrater
num_gc = [1 z];
den_gc = [1 0];
num_g2 = conv(num_g,num_gc);
den_g2 = conv(den_g,den_gc);

% openloop parameter again
num_o2 = conv(num_g2,num_h);
den_o2 = conv(den_g2,den_h);
W = logspace(2,4,1000);
clf
sys=tf(num_o2,den_o2);
figure(1)
rlocus(sys);
axis([-z,z,-10000,10000]);
k=rlocfind(sys)
%k=0.2;
figure(2)
bode(k*num_o2,den_o2);
margin(tf(k*num_o2,den_o2));
grid

% close loop parameter again
[num_bk2,den_bk2] = feedback(k*num_g2,den_g2,num_h,den_h);
t = 0:0.0001:0.1;
[yo2] = step(num_bk2,den_bk2,t');
figure(3)
plot(t,yo2)
%axis([0 1e2 0 2])
grid

Boost例程

clear all
VDC=100; Lf=0.01;
Cf=10e-6; RL=200;D1=0.5;
%For current regulator
z1=1500;z2=1000;
num_i=(VDC/D1)*[Cf 2/RL];
den_i=[Lf*Cf Lf/RL D1^2];
gi_i=tf(num_i,den_i);
gc_i=tf([1, z1],[1 0]);
sys_i=series((gi_i*RL)/VDC, gc_i);
figure(1)
rlocus(sys_i)
% axis([-400 100 -1000 1000])
k_i=rlocfind(sys_i)
sys_ic = feedback(k_i*sys_i,1);
num_u=D1*[-Lf/D1^2/RL 1];
den_u=[Cf 2/RL];
sys_u=tf(num_u,den_u);
sys_u1=series(sys_ic,sys_u);
gc_u=tf([1, z2],[1 0]);
sys_u2=series(sys_u1/VDC, gc_u);
figure(2)
rlocus(sys_u2)
axis([-2000 100 -10000 10000])
k_u=rlocfind(sys_u2)
sys_uc = feedback(k_u*sys_u2,1);
figure(3);
t = 0:0.0001:0.2;
[yo2] = step(sys_uc,t');
figure(3)
plot(t,yo2)
%axis([0 1e2 0 2])
grid

Simulink使用


simulink作为一款面向过程的软件,是对matlab的图形化仿真补充,更加直观。

image

在这里主要是以buck电路为例,做个简单的介绍。(simulink用的不多,buck电路也是用老师的例子)

image

注意:

image
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 201,312评论 5 473
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,578评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 148,337评论 0 333
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,134评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,161评论 5 363
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,303评论 1 280
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,761评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,421评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,609评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,450评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,504评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,194评论 3 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,760评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,836评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,066评论 1 257
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,612评论 2 348
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,178评论 2 341