?? index-2.htm
字號:
<html>
<head>
<title>Readme for MATLAB Notebook</title>
<meta NAME="GENERATOR" CONTENT="Internet Assistant for Microsoft Word 2.0z">
</head>
<body>
<p>
<center><b><font SIZE="5" FACE="標楷體">M</font><font SIZE="4" FACE="標楷體">ATLAB</font><font SIZE="5" FACE="標楷體">
</font><font SIZE="5" FACE="標楷體">程式設計與應用</font></b></center>
<p>
<center><font SIZE="4" FACE="標楷體">張智星<br>
</font></center>
<h1><b><font SIZE="4" FACE="標楷體">1-1</font><font SIZE="4" FACE="標楷體">、基本運算與函數
<br>
</font></b></h1>
<p>
<font FACE="標楷體">在</font><font FACE="標楷體">M</font><font SIZE="2" FACE="標楷體">ATLAB</font><font FACE="標楷體">下進行基本數學運算,只需將運算式直接打入提示號(</font><font FACE="標楷體">>></font><font FACE="標楷體">)之後,并按入</font><font FACE="標楷體">Enter</font><font FACE="標楷體">鍵即可。例如:
<br>
</font>
<p>
<tt><font SIZE="2" COLOR="#008000" FACE="Courier New">>><a NAME="INPUT_13">(5*2+1.3-0.8)*10/25
</a></font></tt><font SIZE="2" FACE="Times New Roman"> </font>
<p>
<a NAME="OUTPUT_13"><tt><font SIZE="2" COLOR="#0000FF" FACE="Courier New">ans
=</font></tt></a>
<p>
<tt><font SIZE="2" COLOR="#0000FF" FACE="Courier New"> 4.2000 </font></tt><font SIZE="2">
<br>
</font>
<p>
<font FACE="標楷體">M</font><font SIZE="2" FACE="標楷體">ATLAB</font><font FACE="標楷體">會將運算結果直接存入一變數</font><font FACE="標楷體">ans</font><font FACE="標楷體">,代表</font><font FACE="標楷體">MATLAB</font><font FACE="標楷體">運算後的答案(</font><font FACE="標楷體">Answer</font><font FACE="標楷體">),并顯示其數值於螢幕上。(為簡便起見,在下述各例中,我們不再印出</font><font FACE="標楷體">MATLAB</font><font FACE="標楷體">的提示號。)
<br>
</font>
<table BORDERCOLOR="#000000" BORDER="1">
<tr><td BGCOLOR="#FFFFFF" WIDTH="578"><font FACE="標楷體">小提示:</font>
</td></tr>
<tr><td WIDTH="578"><font FACE="標楷體">"</font><font FACE="標楷體">>></font><font FACE="標楷體">"是</font><font FACE="標楷體">MATLAB</font><font FACE="標楷體">的提示符號(</font><font FACE="標楷體">Prompt</font><font FACE="標楷體">),但在</font><font FACE="標楷體">PC</font><font FACE="標楷體">中文視窗系統下,由於編碼方式不同,此提示符號常會消失不見,但這并不會影響到</font><font FACE="標楷體">MATLAB</font><font FACE="標楷體">的運算結果。</font>
</td></tr>
</table>
<p>
<font FACE="標楷體">我們也可將上述運算式的結果設定給另一個變數</font><font FACE="標楷體">x</font><font FACE="標楷體">:
<br>
</font>
<p>
<a NAME="INPUT_14"><tt><font SIZE="2" COLOR="#008000" FACE="Courier New">x
= (5*2+1.3-0.8)*10^2/25 </font></tt></a><font SIZE="2"> </font>
<p>
<a NAME="OUTPUT_14"><tt><font SIZE="2" COLOR="#0000FF" FACE="Courier New">x
=</font></tt></a>
<p>
<tt><font SIZE="2" COLOR="#0000FF" FACE="Courier New"> 42 </font></tt><font SIZE="2">
<br>
</font>
<p>
<font FACE="標楷體">此時</font><font FACE="標楷體">M</font><font SIZE="2" FACE="標楷體">ATLAB</font><font FACE="標楷體">會直接顯示</font><font FACE="標楷體">x</font><font FACE="標楷體">的值。由上例可知,</font><font FACE="標楷體">MATLAB</font><font FACE="標楷體">認識所有一般常用到的加(</font><font FACE="標楷體">+</font><font FACE="標楷體">)、減(</font><font FACE="標楷體">-</font><font FACE="標楷體">)、乘(</font><font FACE="標楷體">*</font><font FACE="標楷體">)、除(</font><font FACE="標楷體">/</font><font FACE="標楷體">)的數學運算符號,以及冪次運算(</font><font FACE="標楷體">^</font><font FACE="標楷體">)。
<br>
</font>
<table BORDERCOLOR="#000000" BORDER="1">
<tr><td BGCOLOR="#FFFFFF" WIDTH="580"><font FACE="標楷體">小提示:</font>
</td></tr>
<tr><td WIDTH="580"><font FACE="標楷體">MATLAB</font><font FACE="標楷體">將所有變數均存成</font><font FACE="標楷體">double</font><font FACE="標楷體">的形式,所以不需經過變數宣告(</font><font FACE="標楷體">Variable declaration</font><font FACE="標楷體">)。</font><font FACE="標楷體">MATLAB</font><font FACE="標楷體">同時也會自動進行記憶體的使用和回收,而不必像</font><font FACE="標楷體">C</font><font FACE="標楷體">語言,必須由使用者一一指定。這些功能使的</font><font FACE="標楷體">MATLAB</font><font FACE="標楷體">易學易用,使用者可專心致力於撰寫程式,而不必被軟體枝節問題所干擾。</font>
</td></tr>
</table>
<p>
<font FACE="標楷體">若不想讓</font><font FACE="標楷體">MATLAB</font><font FACE="標楷體">每次都顯示運算結果,只需在運算式最後加上分號(;)即可,如下例:
<br>
</font>
<p>
<a NAME="INPUT_15"><tt><font SIZE="2" COLOR="#008000" FACE="Courier New">y
= sin(10)*exp(-0.3*4^2); </font></tt></a><font SIZE="2"> <br>
</font>
<p>
<font FACE="標楷體">若要顯示變數</font><font FACE="標楷體">y</font><font FACE="標楷體">的值,直接鍵入</font><font FACE="標楷體">y</font><font FACE="標楷體">即可:
<br>
</font>
<p>
<font FACE="標楷體">>><a NAME="INPUT_16"><tt><font SIZE="2" COLOR="#008000" FACE="Courier New">y
</font></tt></a></font><font SIZE="2"> </font>
<p>
<a NAME="OUTPUT_16"><tt><font SIZE="2" COLOR="#0000FF" FACE="Courier New">y
=</font></tt></a>
<p>
<tt><font SIZE="2" COLOR="#0000FF" FACE="Courier New"> -0.0045 </font></tt><font SIZE="2">
<br>
</font>
<p>
<font FACE="標楷體">在上例中,</font><font FACE="標楷體">sin</font><font FACE="標楷體">是正弦函數,</font><font FACE="標楷體">exp</font><font FACE="標楷體">是指數函數,這些都是</font><font FACE="標楷體">MATLAB</font><font FACE="標楷體">常用到的數學函數。下表即為</font><font FACE="標楷體">MATLAB</font><font FACE="標楷體">常用的基本數學函數及三角函數:
<br>
</font>
<table BORDERCOLOR="#000000" BORDER="1">
<tr><td BGCOLOR="#FFFFFF" WIDTH="490"><font FACE="標楷體">小整理:</font><font FACE="標楷體">MATLAB</font><font FACE="標楷體">常用的基本數學函數</font>
</td></tr>
<tr><td WIDTH="490"><font FACE="標楷體">abs(x)</font><font FACE="標楷體">:純量的絕對值或向量的長度</font>
</td></tr>
<tr><td WIDTH="490"><font FACE="標楷體">angle(z)</font><font FACE="標楷體">:復數</font><font FACE="標楷體">z</font><font FACE="標楷體">的相角</font><font FACE="標楷體">(Phase angle)</font>
</td></tr>
<tr><td WIDTH="490"><font FACE="標楷體">sqrt(x)</font><font FACE="標楷體">:開平方</font>
</td></tr>
<tr><td WIDTH="490"><font FACE="標楷體">real(z)</font><font FACE="標楷體">:復數</font><font FACE="標楷體">z</font><font FACE="標楷體">的實部</font>
</td></tr>
<tr><td WIDTH="490"><font FACE="標楷體">imag(z)</font><font FACE="標楷體">:復數</font><font FACE="標楷體">z</font><font FACE="標楷體">的虛部</font>
</td></tr>
<tr><td WIDTH="490"><font FACE="標楷體">conj(z)</font><font FACE="標楷體">:復數</font><font FACE="標楷體">z</font><font FACE="標楷體">的共軛復數</font>
</td></tr>
<tr><td WIDTH="490"><font FACE="標楷體">round(x)</font><font FACE="標楷體">:四舍五入至最近整數</font>
</td></tr>
<tr><td WIDTH="490"><font FACE="標楷體">fix(x)</font><font FACE="標楷體">:無論正負,舍去小數至最近整數</font>
</td></tr>
<tr><td WIDTH="490"><font FACE="標楷體">floor(x)</font><font FACE="標楷體">:地板函數,即舍去正小數至最近整數</font>
</td></tr>
<tr><td WIDTH="490"><font FACE="標楷體">ceil(x)</font><font FACE="標楷體">:天花板函數,即加入正小數至最近整數</font>
</td></tr>
<tr><td WIDTH="490"><font FACE="標楷體">rat(x)</font><font FACE="標楷體">:將實數</font><font FACE="標楷體">x</font><font FACE="標楷體">化為分數表示</font>
</td></tr>
<tr><td WIDTH="490"><font FACE="標楷體">rats(x)</font><font FACE="標楷體">:將實數</font><font FACE="標楷體">x</font><font FACE="標楷體">化為多項分數展開</font>
</td></tr>
<tr><td WIDTH="490"><font FACE="標楷體">sign(x)</font><font FACE="標楷體">:符號函數</font><font FACE="標楷體"> (Signum function)</font><font FACE="標楷體">。</font>
<p>
<font FACE="標楷體">當</font><font FACE="標楷體">x<0</font><font FACE="標楷體">時,</font><font FACE="標楷體">sign(x)=-1</font><font FACE="標楷體">;</font>
<p>
<font FACE="標楷體">當</font><font FACE="標楷體">x=0</font><font FACE="標楷體">時,</font><font FACE="標楷體">sign(x)=0;</font>
<p>
<font FACE="標楷體">當</font><font FACE="標楷體">x>0</font><font FACE="標楷體">時,</font><font FACE="標楷體">sign(x)=1</font><font FACE="標楷體">。</font>
</td></tr>
<tr><td WIDTH="490"><font FACE="標楷體">rem(x,y)</font><font FACE="標楷體">:求</font><font FACE="標楷體">x</font><font FACE="標楷體">除以</font><font FACE="標楷體">y</font><font FACE="標楷體">的馀數</font>
</td></tr>
<tr><td WIDTH="490"><font FACE="標楷體">gcd(x,y)</font><font FACE="標楷體">:整數</font><font FACE="標楷體">x</font><font FACE="標楷體">和</font><font FACE="標楷體">y</font><font FACE="標楷體">的最大公因數</font>
</td></tr>
<tr><td WIDTH="490"><font FACE="標楷體">lcm(x,y)</font><font FACE="標楷體">:整數</font><font FACE="標楷體">x</font><font FACE="標楷體">和</font><font FACE="標楷體">y</font><font FACE="標楷體">的最小公倍數</font>
</td></tr>
<tr><td WIDTH="490"><font FACE="標楷體">exp(x)</font><font FACE="標楷體">:自然指數<img SRC="IMG00001-1.gif" tppabs="http://166.111.167.223/computer/cai/matlab/IMG00001-1.gif" WIDTH="18" HEIGHT="20"></font>
</td></tr>
<tr><td WIDTH="490"><font FACE="標楷體">pow2(x)</font><font FACE="標楷體">:</font><font FACE="標楷體">2</font><font FACE="標楷體">的指數<img SRC="IMG00002-1.gif" tppabs="http://166.111.167.223/computer/cai/matlab/IMG00002-1.gif" WIDTH="20" HEIGHT="21"></font>
</td></tr>
<tr><td WIDTH="490"><font FACE="標楷體">log(x)</font><font FACE="標楷體">:以</font><font FACE="標楷體">e</font><font FACE="標楷體">為底的對數,即自然對數或<img SRC="IMG00003-1.gif" tppabs="http://166.111.167.223/computer/cai/matlab/IMG00003-1.gif" WIDTH="38" HEIGHT="22"></font>
</td></tr>
<tr><td WIDTH="490"><font FACE="標楷體">log2(x)</font><font FACE="標楷體">:以</font><font FACE="標楷體">2</font><font FACE="標楷體">為底的對數<img SRC="IMG00004-1.gif" tppabs="http://166.111.167.223/computer/cai/matlab/IMG00004-1.gif" WIDTH="53" HEIGHT="22"></font>
</td></tr>
<tr><td WIDTH="490"><font FACE="標楷體">log10(x)</font><font FACE="標楷體">:以</font><font FACE="標楷體">10</font><font FACE="標楷體">為底的對數<img SRC="IMG00005-1.gif" tppabs="http://166.111.167.223/computer/cai/matlab/IMG00005-1.gif" WIDTH="57" HEIGHT="22"></font>
</td></tr>
</table>
<table BORDERCOLOR="#000000" BORDER="1">
<tr><td BGCOLOR="#FFFFFF" WIDTH="290"><font FACE="標楷體">小整理:</font><font FACE="標楷體">MATLAB</font><font FACE="標楷體">常用的三角函數</font>
</td></tr>
<tr><td WIDTH="290"><font FACE="標楷體">sin(x)</font><font FACE="標楷體">:正弦函數</font>
</td></tr>
<tr><td WIDTH="290"><font FACE="標楷體">cos(x)</font><font FACE="標楷體">:馀弦函數</font>
</td></tr>
<tr><td WIDTH="290"><font FACE="標楷體">tan(x)</font><font FACE="標楷體">:正切函數</font>
</td></tr>
<tr><td WIDTH="290"><font FACE="標楷體">asin(x)</font><font FACE="標楷體">:反正弦函數</font>
</td></tr>
<tr><td WIDTH="290"><font FACE="標楷體">acos(x)</font><font FACE="標楷體">:反馀弦函數</font>
</td></tr>
<tr><td WIDTH="290"><font FACE="標楷體">atan(x)</font><font FACE="標楷體">:反正切函數</font>
</td></tr>
<tr><td WIDTH="290"><font FACE="標楷體">atan2(x,y)</font><font FACE="標楷體">:四象限的反正切函數</font>
</td></tr>
<tr><td WIDTH="290"><font FACE="標楷體">sinh(x)</font><font FACE="標楷體">:超越正弦函數</font>
</td></tr>
<tr><td WIDTH="290"><font FACE="標楷體">cosh(x)</font><font FACE="標楷體">:超越馀弦函數</font>
</td></tr>
<tr><td WIDTH="290"><font FACE="標楷體">tanh(x)</font><font FACE="標楷體">:超越正切函數</font>
</td></tr>
<tr><td WIDTH="290"><font FACE="標楷體">asinh(x)</font><font FACE="標楷體">:反超越正弦函數</font>
</td></tr>
<tr><td WIDTH="290"><font FACE="標楷體">acosh(x)</font><font FACE="標楷體">:反超越馀弦函數</font>
</td></tr>
<tr><td WIDTH="290"><font FACE="標楷體">atanh(x)</font><font FACE="標楷體">:反超越正切函數</font>
</td></tr>
</table>
<p>
<font FACE="標楷體">變數也可用來存放向量或矩陣,并進行各種運算,如下例的列向量(</font><font FACE="標楷體">Row
vector</font><font FACE="標楷體">)運算:<br>
</font>
<p>
<a NAME="INPUT_21"><tt><font SIZE="2" COLOR="#008000" FACE="Courier New">x
= [1 3 5 2];</font></tt></a>
<p>
<tt><font SIZE="2" COLOR="#008000" FACE="Courier New">y = 2*x+1 </font></tt><font SIZE="2">
</font>
<p>
<a NAME="OUTPUT_21"><tt><font SIZE="2" COLOR="#0000FF" FACE="Courier New">y
=</font></tt></a>
<p>
<tt><font SIZE="2" COLOR="#0000FF" FACE="Courier New"> 3 7
11 5 </font></tt><font SIZE="2"> <br>
</font><table BORDERCOLOR="#000000" BORDER="1">
<tr><td BGCOLOR="#FFFFFF" WIDTH="418"><font FACE="標楷體">小提示:變數命名的規則</font>
</td></tr>
<tr><td WIDTH="418">
<ol>
<li><font FACE="標楷體">第一個字母必須是英文字母</font>
<li><font FACE="標楷體">字母間不可留空格</font>
<li><font FACE="標楷體">最多只能有</font><font FACE="標楷體">19</font><font FACE="標楷體">個字母,</font><font FACE="標楷體">MATLAB</font><font FACE="標楷體">會忽略多馀字母</font>
</ol>
</td></tr>
</table>
<p>
<font FACE="標楷體">我們可以隨意更改、增加或刪除向量的元素:<br>
</font>
<p>
<a NAME="INPUT_31"><tt><font SIZE="2" COLOR="#008000" FACE="Courier New">y(3)
= 2 % </font></tt><font SIZE="2" COLOR="#008000">更改第三個元素</font><tt><font SIZE="2" COLOR="#008000" FACE="Courier New">
</font></tt></a><font SIZE="2"> </font>
<p>
<a NAME="OUTPUT_31"><tt><font SIZE="2" COLOR="#0000FF" FACE="Courier New">y
=</font></tt></a>
<p>
<tt><font SIZE="2" COLOR="#0000FF" FACE="Courier New"> 3 7
2 5 </font></tt><font SIZE="2"> <br>
</font>
<p>
<a NAME="INPUT_32"><tt><font SIZE="2" COLOR="#008000" FACE="Courier New">y(6)
= 10 % </font></tt><font SIZE="2" COLOR="#008000">加入第六個元素</font><tt><font SIZE="2" COLOR="#008000" FACE="Courier New">
</font></tt></a><font SIZE="2"> </font>
<p>
<a NAME="OUTPUT_32"><tt><font SIZE="2" COLOR="#0000FF" FACE="Courier New">y
=</font></tt></a>
<p>
<tt><font SIZE="2" COLOR="#0000FF" FACE="Courier New"> 3 7
2 5 0 10 </font></tt><font SIZE="2"> <br>
</font>
<p>
<a NAME="INPUT_33"><tt><font SIZE="2" COLOR="#008000" FACE="Courier New">y(4)
= [] % </font></tt><font SIZE="2" COLOR="#008000">刪除第四個元素,</font><tt><font SIZE="2" COLOR="#008000" FACE="Courier New">
</font></tt></a><font SIZE="2"> </font>
<p>
<a NAME="OUTPUT_33"><tt><font SIZE="2" COLOR="#0000FF" FACE="Courier New">y
=</font></tt></a>
<p>
<tt><font SIZE="2" COLOR="#0000FF" FACE="Courier New"> 3 7
2 0 10 </font></tt><font SIZE="2"> <br>
</font>
<p>
<font FACE="標楷體">在上例中,</font><font FACE="標楷體">MATLAB</font><font FACE="標楷體">會忽略所有在百分比符號(</font><font FACE="標楷體">%</font><font FACE="標楷體">)之後的文字,因此百分比之後的文字均可視為程式的注解(</font><font FACE="標楷體">Comments</font><font FACE="標楷體">)。</font><font FACE="標楷體">MATLAB</font><font FACE="標楷體">亦可取出向量的一個元素或一部份來做運算:
<br>
</font>
<p>
<a NAME="INPUT_24"><tt><font SIZE="2" COLOR="#008000" FACE="Courier New">x(2)*3+y(4)
% </font></tt><font SIZE="2" COLOR="#008000">取出</font><tt><font SIZE="2" COLOR="#008000" FACE="Courier New">x</font></tt><font SIZE="2" COLOR="#008000">的第二個元素和</font><tt><font SIZE="2" COLOR="#008000" FACE="Courier New">y</font></tt><font SIZE="2" COLOR="#008000">的第四個元素來做運算</font><tt><font SIZE="2" COLOR="#008000" FACE="Courier New">
</font></tt></a><font SIZE="2"> </font>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -