|
6 | 6 | <title>matlab_intro01 | firebird's home</title> |
7 | 7 | <meta name="author" content="firebird"> |
8 | 8 |
|
9 | | - <meta name="description" content="¶第二次上机安排 |
| 9 | + <meta name="description" content="¶第二次上机安排 (第7周) |
10 | 10 | ¶(1) 用plot绘制曲线: |
11 | 11 | $y=e^{-t/3}sin2t$ |
12 | | -123456t = linspace(0,pi,1e2); % 定义变量y = exp(t/3).*sin(2*t); % 相应的y向量plot("> |
| 12 | +123456t = linspace(0,pi,1e2); % 定义变量y = exp(t/3).*sin(2*t); % 相应的y向"> |
13 | 13 |
|
14 | 14 |
|
15 | 15 | <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> |
@@ -146,7 +146,7 @@ <h1 class="title title-inverse "> matlab_intro01</h1> |
146 | 146 | <div class="mypage"> |
147 | 147 |
|
148 | 148 |
|
149 | | - <h2 id="第二次上机安排"><a class="header-anchor" href="#第二次上机安排">¶</a><em>第二次上机安排</em></h2> |
| 149 | + <h2 id="第二次上机安排-第7周"><a class="header-anchor" href="#第二次上机安排-第7周">¶</a><em>第二次上机安排 (第7周)</em></h2> |
150 | 150 | <h3 id="1-用plot绘制曲线:"><a class="header-anchor" href="#1-用plot绘制曲线:">¶</a>(1) 用plot绘制曲线:</h3> |
151 | 151 | <p>$y=e^{-t/3}sin2t$</p> |
152 | 152 | <figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><span class="line">t = linspace(0,pi,1e2); % 定义变量</span><br><span class="line">y = exp(t/3).*sin(2*t); % 相应的y向量</span><br><span class="line">plot(t,y,'-r','LineWidth',2); </span><br><span class="line">axis(0,4*pi,-1,1);</span><br><span class="line">xlabel('t');</span><br><span class="line">ylabel('y');</span><br></pre></td></tr></table></figure> |
@@ -176,11 +176,23 @@ <h4 id="b-数值计算-采用ode45"><a class="header-anchor" href="#b-数值计 |
176 | 176 | <p>$dy(2)=u’’=\frac{1}{C}[\frac{d i_s(t)}{dt}-\frac{1}{R}\frac{du}{dt}-\frac{1}{L}u] =\frac{1}{C}[\frac{d i_s(t)}{dt}-\frac{1}{R}y(2) - \frac{1}{L}y(1)]$</p> |
177 | 177 | <figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br></pre></td><td class="code"><pre><span class="line">function dydt = odefcn(t,y,R,L,C)</span><br><span class="line">% filename: odefun.m</span><br><span class="line">% dydt(1) = u';</span><br><span class="line">% dydt(2) = u";</span><br><span class="line"></span><br><span class="line"> % dis=d(is)/dt</span><br><span class="line"> function Dis = dis(t)</span><br><span class="line"> Dis = -0.2*1e3*exp(-1e3*t); </span><br><span class="line"> end</span><br><span class="line"></span><br><span class="line">dydt = zeros(2,1);</span><br><span class="line">dydt(1) = y(2);</span><br><span class="line">dydt(2) = 1/C*(dis(t)-y(2)/R-y(1)/L);</span><br><span class="line">dydt = [dydt(1); dydt(2)];</span><br><span class="line"></span><br><span class="line">end</span><br></pre></td></tr></table></figure> |
178 | 178 | <h5 id="主程序:"><a class="header-anchor" href="#主程序:">¶</a>主程序:</h5> |
179 | | -<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br></pre></td><td class="code"><pre><span class="line">% driver for ode function</span><br><span class="line">% filename: driver.m</span><br><span class="line">% firebird@TYUT</span><br><span class="line"></span><br><span class="line">clear all</span><br><span class="line">close all</span><br><span class="line"></span><br><span class="line">format long;</span><br><span class="line"></span><br><span class="line">R = 300; % Resistance</span><br><span class="line">L = 2.5e-3; % Inductance</span><br><span class="line">C = 1e-6; % Capacitor </span><br><span class="line"></span><br><span class="line">tspan = [0 1e-3];</span><br><span class="line">y0 = [0 0.2/C];</span><br><span class="line">[t,y] = ode45(@(t,y) odefcn(t,y,R,L,C), tspan, y0);</span><br><span class="line">u=y(:,1);</span><br><span class="line">% u'=y(:,2);</span><br><span class="line"></span><br><span class="line">% Cumulative trapezoidal numerical integration</span><br><span class="line">iL = 1/L*cumtrapz(t,u); % iL = int(u)/L</span><br><span class="line"></span><br><span class="line">plot(t,iL,'k','linewidth',2);</span><br><span class="line">xlabel('time[s]','fontsize',18);</span><br><span class="line">ylabel('i_L [A]','fontsize',18);</span><br><span class="line">title('i_L(t) = 1/L*\int_{0}^{t}(u)','fontsize',18);</span><br><span class="line"></span><br></pre></td></tr></table></figure> |
| 179 | +<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br></pre></td><td class="code"><pre><span class="line">% driver for ode function</span><br><span class="line">% filename: driver.m</span><br><span class="line">% firebird@TYUT</span><br><span class="line"></span><br><span class="line">clear all</span><br><span class="line">close all</span><br><span class="line"></span><br><span class="line">format long;</span><br><span class="line"></span><br><span class="line">R = 300; % Resistance</span><br><span class="line">L = 2.5e-3; % Inductance</span><br><span class="line">C = 1e-6; % Capacitor </span><br><span class="line"></span><br><span class="line">tspan = [0 1e-3];</span><br><span class="line">y0 = [0 0.2/C];</span><br><span class="line">[t,y] = ode45(@(t,y) odefcn(t,y,R,L,C), tspan, y0);</span><br><span class="line">u=y(:,1);</span><br><span class="line">% u'=y(:,2);</span><br><span class="line"></span><br><span class="line">% Cumulative trapezoidal numerical integration</span><br><span class="line">iL = 1/L*cumtrapz(t,u); % iL = int(u)/L</span><br><span class="line"></span><br><span class="line">plot(t,iL,'k','linewidth',2);</span><br><span class="line">xlabel('time[s]','fontsize',18);</span><br><span class="line">ylabel('i_L [A]','fontsize',18);</span><br><span class="line">title('i_L(t) = 1/L*\int_{0}^{t}udt','fontsize',18);</span><br><span class="line"></span><br></pre></td></tr></table></figure> |
180 | 180 | <h4 id="c-思考:-改变电阻-电感或者电容-参数观察-i-l-t"><a class="header-anchor" href="#c-思考:-改变电阻-电感或者电容-参数观察-i-l-t">¶</a>c. 思考: 改变电阻(电感或者电容),参数观察$i_L(t)$</h4> |
181 | | -<h3 id="5-让-doc-和-help两个命令成为用matlab的习惯"><a class="header-anchor" href="#5-让-doc-和-help两个命令成为用matlab的习惯">¶</a>(5) 让 doc 和 help两个命令成为用matlab的习惯!</h3> |
182 | | -<p>请同学们自己在command window输入: doc cumtrapz 或者 help cumtrapz</p> |
183 | | -<p>学习cumtrapz如何使用。</p> |
| 181 | +<h3 id="5-rlc串联电路"><a class="header-anchor" href="#5-rlc串联电路">¶</a>(5) RLC串联电路</h3> |
| 182 | +<p>稳压源电压$U_s=10$V</p> |
| 183 | +<p>已知参数: $k=3,a=2,\omega=1,L=0.5H, C=1F$</p> |
| 184 | +<p>由KVL得:<br> |
| 185 | +$L\frac{di}{dt} + Ri +\frac{1}{C}\int^{t}_0i(t)dt = U_s$</p> |
| 186 | +<p>上述方程求导得二阶微分方程: $L\frac{d<sup>2i}{dt</sup>2} + R\frac{di}{dt} +\frac{1}{C}i = 0$</p> |
| 187 | +<p>对于RLC电路零状态响应的初始条件: $i(0+)=0$, $\frac{di(0+)}{dt}=\frac{U_s}{L}$</p> |
| 188 | +<h4 id="采用ode数值求解"><a class="header-anchor" href="#采用ode数值求解">¶</a>采用ode数值求解</h4> |
| 189 | +<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br></pre></td><td class="code"><pre><span class="line">% RLC series circuit</span><br><span class="line">% filename: RLC_series.m</span><br><span class="line">% firebird@TYUT</span><br><span class="line"></span><br><span class="line">clear all</span><br><span class="line">close all</span><br><span class="line"></span><br><span class="line">format long;</span><br><span class="line"></span><br><span class="line">R = 300; % Resistance</span><br><span class="line">L = 2.5e-3; % Inductance</span><br><span class="line">C = 1e-6; % Capacitor </span><br><span class="line">Us = 10; % voltage source </span><br><span class="line"></span><br><span class="line">tspan = [0 1e-3*2];</span><br><span class="line">y0 = [0 Us/L];</span><br><span class="line">[t,y] = ode45(@(t,y) odefcn(t,y,R,L,C), tspan, y0);</span><br><span class="line">icur=y(:,1); % current </span><br><span class="line">% icur'=y(:,2);</span><br><span class="line"></span><br><span class="line">% Cumulative trapezoidal numerical integration</span><br><span class="line">uc = 1/C*cumtrapz(t,icur); % uc = int(icur)/C</span><br><span class="line"></span><br><span class="line">plot(t,uc,'k','linewidth',2);</span><br><span class="line">xlabel('time[s]','fontsize',18);</span><br><span class="line">ylabel('u_c [V]','fontsize',18);</span><br><span class="line">title('u_c(t) = 1/c*\int_{0}^{t}idt','fontsize',18);</span><br><span class="line"></span><br><span class="line"></span><br><span class="line">function dydt = odefcn(t,y,R,L,C)</span><br><span class="line">% dydt(1) = i';</span><br><span class="line">% dydt(2) = i";</span><br><span class="line">dydt = zeros(2,1);</span><br><span class="line">dydt(1) = y(2);</span><br><span class="line">dydt(2) = -1/L*(y(2)*R + y(1)/C);</span><br><span class="line">dydt = [dydt(1); dydt(2)];</span><br><span class="line">end</span><br></pre></td></tr></table></figure> |
| 190 | +<h4 id="思考体"><a class="header-anchor" href="#思考体">¶</a>思考体</h4> |
| 191 | +<p>如何计算RC,RL电路?</p> |
| 192 | +<p><em>Hint: 还是采用RLC串联电路计算方法,对于 (1)RC电路:L=0; (2)RL电路:$\frac{1}{C}\int^{t}_0i(t)dt$=0</em></p> |
| 193 | +<h3 id="6-让-doc-和-help-两个命令成为用matlab的习惯"><a class="header-anchor" href="#6-让-doc-和-help-两个命令成为用matlab的习惯">¶</a>(6) 让 <em>doc</em> 和 <em>help</em> 两个命令成为用matlab的习惯!</h3> |
| 194 | +<p>请同学们自己在command window输入: <em>doc cumtrapz</em> 或者 <em>help cumtrapz</em></p> |
| 195 | +<p>学习<em>cumtrapz</em>如何使用。</p> |
184 | 196 | <h3 id="其他说明"><a class="header-anchor" href="#其他说明">¶</a>其他说明</h3> |
185 | 197 | <p>与Matlab功能相似,语法相近的另一个科学计算软件:Scilab,是由法国国家信息、自动化研究院的科学家们开发的“开放源码”软件。Scilab支持 Windows/Linux/mac OS,其网址:<a href="http://www.scilab.org/" target="_blank" rel="noopener">http://www.scilab.org/</a></p> |
186 | 198 |
|
@@ -280,7 +292,7 @@ <h2 class="title">Comments</h2> |
280 | 292 | <a data-toggle="collapse" data-target="#tags"><i class="fa fa-tags"></i></a> |
281 | 293 | <ul id="tags" class="tag_box list-unstyled collapse in"> |
282 | 294 |
|
283 | | - <li><a href="/tags/2018春-金材/">2018春-金材<span>1</span></a></li> <li><a href="/tags/matlab/">matlab<span>1</span></a></li> |
| 295 | + <li><a href="/tags/2018春-金材专业/">2018春-金材专业<span>1</span></a></li> <li><a href="/tags/matlab/">matlab<span>1</span></a></li> |
284 | 296 | </ul> |
285 | 297 | </div> |
286 | 298 |
|
|
0 commit comments