Chapter 17: Exercises
- MATLAB 的除錯器(Debugger)有何主要功能?
- 請寫出 3 項 MATLAB 除錯器的功能。
Ans:
- 查詢每一個函數的 Workspace。
- 顯示函數呼叫的 Function Call Stack。
- M 檔案的 Step-by-step Execution。
- 一般而言,電腦程式可能發生的錯誤可分哪幾種?哪一種較難進行偵錯?
- 請說明一般偵測邏輯錯誤的常用方法。
- What command can you used in a program to make MATLAB stop there, so you can examine all variables therein?
- How to resume the execution after using the command?
- What command can you used to list all break points?
- What command can you used to clear all break points?
- 下列程式碼計算由 1 至 500 的總和,但在 MATLAB 下執行時,會發生錯誤。請指出錯誤所在,並修改之。
begin = 1;
end = 500;
vector = begin:end;
total = sum(vector); % 計算向量總和
fprintf('The sum of %g to %g is %g.\n', begin, end, total); % 列印結果
提示:此題相當簡單,不需用到 MATLAB 除錯器。
- 下列程式碼計算由 1 至 1000 的平均值,並和 MATLAB 內建函數比較計算結果。但在 MATLAB 下執行此段程式碼時,會發生錯誤。請指出錯誤所在,並修改之。
clear all % 清除所有變數
vector = 1:1000;
total = 0;
for i=vector,
total = total+i;
end
mean = total/1000; % 用我的方法算平均值
mean2 = mean(vector); % 用 MATLAB 內建函數 mean 來算平均值
fprintf('Difference in computation: %g.\n', abs(mean-mean2)); % 列出誤差
提示:此題相當簡單,不需用到 MATLAB 除錯器。
MATLAB程式設計:入門篇