18-5 仵蛌讀

MATLAB 也可以直接讀取網路上的檔案,通常我們是採用 URL(Universal Resource Locator)的方式來指定這些網路上的檔案,例如:

在下列範例中,我們使用 urlread 指令來讀取筆者在清華大學資訊系的首頁,並將結果指定到字串變數 contents,如下:

Example 1: 18-檔案讀寫/urlread01.mcontents = urlread('http://www.cs.nthu.edu.tw/~jang'); disp(contents);<HTML> <HEAD> <META http-equiv="Refresh" content="0; URL=http://neural.cs.nthu.edu.tw/jang"> </HEAD> <BODY> The link you just clicked is obsolete.<br> You are being transported automatically to Roger Jang's current homepage at <a href="http://neural.cs.nthu.edu.tw/jang"> http://neural.cs.nthu.edu.tw/jang</a>. </BODY> </HTML>

我們也可以直接在讀取網頁後,就儲存到本機硬碟中,這時可用 urlwrite 指令,範例如下:例如:

Example 2: 18-檔案讀寫/urlread02.mtempFile = [tempname, '.html']; % 指定暫存檔案 urlwrite('http://www.google.com.tw', tempFile); % 將網頁內容寫到檔案 dos(['start ', tempFile]); % 開啟此檔案

在上述範例中,我們將 www.google.com.tw 的網頁內容寫到一個暫存檔案,然後再使用瀏覽器開啟此檔案。

另一個和網路相關的功能則是寄發電子郵件,可由 sendmail 指令來達成,雖然這個功能和檔案讀寫沒有直接關係,但因為此指令是放在

{matlab根目錄}\toolbox\matlab\iofun\

所以我們也在這裡一併說明。Sendmail 指令的用法如下:

sendmail(TO, SUBJECT, MESSAGE, ATTACHMENTS)

其中

以下這個範例使用 sendmail 來寄發電子郵件至兩位接收帳號:

Example 3: 18-檔案讀寫/sendmail01.mto = {'email1@aaa.bbb.ccc', 'email2@aaa.bbb.ccc'}; to = {'jang@cs.nthu.edu.tw'}; subject = 'Test email from a MATLAB program'; message = ['This is a test email sent via', 10, ' sendmail.']; attachment = {'c:\windows\matlab.ini'}; sendmail(to, subject, message, attachment);Error in running sendmail01! (Logged to error.log)

在執行上述範例之前,請務必將 to 的內容改為你自己本身的電子郵件,否則你就無法收到此郵件,也就無法確認此程式碼的正確性了。

Hint
若要在郵件內容加入換列,可以使用 ASCII 碼「10」,例如:message=[’Sir:’, 10, ‘This is a test’]。


MATLAB程式設計:入門篇