軟體技術 MATLAB 實驗手冊2019版

2022-11-20 11:42:04 字數 5720 閱讀 3954

實驗課需要我們幹什麼?

一、實驗課前的知識點預習。

二、準備實驗課演練的例題。

三、實驗課後的知識的總結。

matlab實驗一 matlab軟體環境以及環境設定

一、 實驗目標

1. 熟悉matlab軟體的執行環境以及介面構成。

2. 熟悉matlab環境中命令視窗的基本操作。

3. 熟悉變數的相關操作,熟悉變數的儲存與讀取操作。

4. 熟悉matlab環境設定(包括搜尋路徑和工作空間等設定)。

5. 學會應用幫助導航瀏覽器獲得所需資訊,通過matlab幫助,自學需要的知識。

6. 了解matlab的m檔案的建立和呼叫。

二、 實驗內容及要求

1. 執行matlab軟體,觀察matlab的介面組成。並了解各個部分的功能。

掌握多個視窗的在軟體環境中的布局等操作。(標題欄+選單欄+工具欄+命令視窗+歷史命令視窗+當前目錄視窗+工作空間)。

2. 命令視窗主要用於進行matlab的各種命令操作。 在該視窗中,可以執行matlab的指令、函式、表示式以及顯示除了圖形外的所有執行結果。

3. 命令歷史視窗主要儲存所有執行過的命令。

4. 改變current directory,在當前目錄下完成s**e和load命令。

5. 在工作空間中在工作空間中對變數進行各種操作。

6. 查詢和設定搜尋路徑,並且測試。

7. 變數的賦值以及引用。

8. matlab基本運算函式的演練。

三、 實驗步驟(略)

四、 訓練習題

1. 書上所有例題和課後習題。

2. ppt上的所有例題以及學生演練習題。

五、 測試習題

1. 精度計算的問題。看如下的**,分析:

x=0;

for n=1:82

x=x+0.01

endx==0.82 什麼結果,請解釋。

x=0;

for n=1:82

x=x+1

endx==82 什麼結果,請解釋。

matlab實驗二 matlab程式設計基礎(上)

一、 實驗目標

1. 熟悉一維陣列二維陣列的建立和引用。

2. 熟悉字元陣列的建立和相關函式。

3. 了解struct陣列和cell陣列的建立和引用。

4. 熟悉算術、關係和邏輯運算子的使用。

5. 熟悉matlab中基本運算函式。熟悉各種運算函式。

二、 實驗內容及要求

1. 建立一維陣列並採用各種形式引用。

2. 建立二維陣列並採用各種形式引用。

3. 建立字元陣列,呼叫字元陣列相關函式。

(1) 通過下標引用字串中元素。

(2) 取子串。

(3) 倒排字串。

(4) 計算字串中字元的個數

(5) 字串中大小寫轉換

(6) 查詢字串**現子串的位置

4. 建立struct陣列和cell陣列,採用各種形式引用。

5. 算術、關係和邏輯運算子操作單個數、一維和二維陣列。

(1(2

(3) > 、<、 >=、 <=、 ==、 ~=

(4)&、|、~、xor

(5)all 、any、exsit、find、isequal、isnumric、isempty、

bitand、bitor、 bitxor、bitcmp、 &&、 ||

三、 實驗步驟(略)

四、 訓練習題

1. 計算結果如下:stats =1.0e+007 * 0.0000,但資料格式能改成普通的嗎?就是0.0123這種形式,請問matlab怎麼改變資料格式?

2. 在matlab中,怎麼樣對資料四捨五入?比如矩陣中的資料[0.

109172,0,236751,0,976736],我想得到這樣的結果[0.10917,0,23675,0,97674], 請問用什麼命令?

3. 為什麼3+4&2 的運算結果等於1而不是4?

4. eval(expression); 是執行其引數中包含的expression matlab語句。

例如:把 到 載入到matlab workspace:

for d=1:3

s = ['load august' int2str(d) '.mat']

eval(s)

end以下是被執行的s語句:

s = load

s = load

s = load

問題:為何s = ['load august' int2str(d) '.mat']的函式int2str(d)前後需要兩個空格?

5. 解決找不到目錄的問題

方法一:

在matlab中輸入edit 命令,然後開啟了pathdef檔案,將其中的相關目錄注釋掉然後儲存,即可。

方法二:

也可以不開啟檔案,而直接用rmpath命令把中的相關找不到的目錄去掉,然後用s**epath儲存。rmpath的用法可參考幫助檔案。

6. 閱讀並編寫下列**:

%讀懂下列**的前8行。

1. % 閱讀下面的程式,分析和理解如何進行分段函式的繪製。

2. % 本例演示的是削頂整流正弦半波的計算和圖形繪製。

3. % 要求根據y值的不同進行分段,然後繪製出一樣的圖形。

4. t=linspace(0,3*pi,500);y=sin(t);

5. z1=((t2*pi)).*y; % <3>

6. w=(t>pi/3&t<2*pi/3)+(t>7*pi/3&t<8*pi/3);

7. w_n=~w;

8. z2=w*sin(pi/3)+w_n.*z1;

9. plot(t,z2,'-b'),axis([0 10 -1 1])

7. 閱讀並編寫下列**:

%讀懂下列**的前12行

1. % 閱讀下面的程式,理解num2str和char的功能,

2. %掌握如何在matlab計算生成的圖形上標出圖名和最大值的點座標的方法。

3. clear

4. a=2;

5. w=3;

6. t=0:0.01:10;

7. y=exp(-a*t).*sin(w*t);

8. [y_max,i_max]=max(y); % y_max是y中的最大值,對應的位置是i_max

9. t_text=['t=',num2str(t(i_max))];

10. y_text=['y=',num2str(y_max)];

11. max_text=char('maximum',t_text,y_text);

12. tit=['y=exp(-',num2str(a),'t)*sin(',num2str(w),'t)'];

13. plot(t,zeros(size(t)),'k')

14. hold on

15. plot(t,y,'b')

16. plot(t(i_max),y_max,'r.','markersize',20) % marksesize設定點的大小

17. text(t(i_max)+0.3,y_max+0.05,max_text)

18. title(tit),xlabel('t'),ylabel('y'),hold off

8. 已知矩陣a維度6x5;代表6個學生5門成績,求每門成績均大於90的學生。

9. 演練下列**:

10. 完成下列運算:

11. 執行下列**,說出各行的執行結果:

五、 測試習題

matlab實驗三 matlab程式設計基礎(下)

一、 實驗目標

1. 熟悉matlab三大程式結構。

2. 熟悉與函式相關的知識。

3. 熟悉.m檔案的編寫和除錯。

二、 實驗內容及要求

1. 熟悉matlab三大程式結構。(順序,分支、迴圈)

練習if,switch case,while-end,for-end語句。

2. 熟悉break、continue、return和try-catch的使用。

3. 熟悉與函式相關的知識。(主函式、子函式、私有函式、匿名函式、巢狀函式、過載函式)

4. 觀察變數的作用域(全域性變數和區域性變數),引數的按值傳遞,引數的按位址傳遞方式以及引數可調性。

5. 熟悉.m檔案的編寫。(命令檔案和函式檔案的編寫)

6. 對於寫好的.m檔案,進行簡單的除錯。(設定斷點,單步執行,觀察變數的值)

三、 實驗步驟(略)

四、 訓練習題

1. 編寫乙個m函式檔案,對於任意輸入的向量x,可以計算下列分段函式值構成的向量。

2. matlab中有沒有函式,找出兩個數值陣列中相同的項,比如func([1 2 6 9 12],[2 9 12 23])=[2 9 12].如果有,請找到並呼叫,如果沒有,請自己編寫乙個。

3. 編寫任意m檔案,用於測試主函式能否呼叫子函式?測試子函式是否能呼叫主函式?

測試子函式是否能呼叫其他子函式?將該檔案放入private目錄,看是否能被其父目錄的m檔案呼叫?

4. 編寫函式檔案任意輸入乙個正整數,如果是偶數,用2除,如果是奇數,用3乘再加1,反覆這個過程,直到所得到的數為1,將依次得到的這個數列返回(數列中包括輸入的正整數)。

5. 輸入乙個字元,若為大寫字母,則輸出其對應的小寫字母;若為小寫字母,則輸出其對應的大寫字母;若為數字字元,則輸出其對應的數值;若為其他字元,則原樣輸出。

6. 有一分數序列2/1,3/2,5/3/,8/5……求前15 項和。

五、 測試習題

matlab實驗四小測試

一、 實驗目標

小測試,考察掌握m檔案的編寫能力。

二、 測試習題

1. 編寫函式檔案任意輸入乙個正整數,如果是偶數,用2除,如果是奇數,用3乘再加1,反覆這個過程,直到所得到的數為1,將依次得到的這個數列返回(數列中包括輸入的正整數)。

2.編寫函式檔案輸入乙個字元,若為大寫字母,則輸出其對應的小寫字母;若為小寫字母,則輸出其對應的大寫字母;若為數字字元,則輸出其對應的數值;若為其他字元,則原樣輸出。

3. 編寫乙個矩陣相加函式使其具體的呼叫格式為a=matadd(a1,a2, …,an ),要求該函式能接受可變多個矩陣進行加法運算。

matlab實驗五矩陣和多項式運算

一、 實驗目標

1. 矩陣的初等運算。

2. 矩陣的關係和邏輯運算。

3. 掌握多項式的構造和運算方法。

4. 能使用常用函式進行簡單問題求解。

二、 實驗內容及要求

1. 熟悉矩陣的構造,修改和變維。

2. 熟悉矩陣元素的變換(取整,有理數,求模等)以及特殊矩陣的生成(空矩陣,單位陣,全1,全0,魔方陣,兩種隨機陣等)。

3. 矩陣的基本運算(+-*/^)和特殊運算(秩、跡等)。

4. 矩陣的關係和邏輯運算。

5. 多項式的構造和運算。

三、 實驗步驟(略)

四、 訓練習題

1. 自己演練所有書上的例題以及課後練習題。

2. 3.

4. 多項式題目

5. 五、 測試習題

matlab實驗六 matlab符號運算

一、 實驗目標

1. 熟練掌握符號、符號表示式和符號方程的定義。

2. 掌握符號表示式的基本運算。

3. 掌握與符號表示式相關的常用函式。

4. 掌握使用符號運算解決符號推導、微積分、方程和方程組、微分方程和微分方程組、級數以及talor展開等問題的方法。

二、 實驗內容及要求

1. 練習符號變數、符號表示式、符號方程的定義和引用。自變數的預設和指定。

《實用軟體技術》實驗

創新源於實踐 軟體技術基礎 課程實驗教學手冊 許昌學院軟體學院制 實驗一選擇結構 迴圈結構程式設計 目的與要求 1 了解c語句表示邏輯量的方法 以0代表 假 以1代表 真 2 學會正確使用邏輯運算子和邏輯表示式 3 熟練掌握if語句和switch語句。4 熟練掌握while do while和for...

軟體技術報告

現場答辯成績 實驗報告成績 總成績重慶郵電大學 自動化學院 綜合實驗報告 題目 基於嵌入式系統的手持終端介面 單位 二級學院 自動化學院 學生姓名 鄧大慶 專業 自動化 班級 0810704 學號 07200428 指導教師 袁榮棣 設計時間 2010 年 11 月 重慶郵電大學自動化學院制 實驗一...

軟體技術複習

1.資料結構 資料結構就是資料的組織形式,也可看成是包含資料結構的資料表,說明資料之間存在著一定的相互關係或約束。2.邏輯結構 我們把只表現元素之間邏輯關係,而不涉及它們在計算機中的表示,只是理論的 反映在紙面上的東西,這種抽象的資料結構稱為邏輯結構。3.說明對程式進行評價時,時間 與 空間 之間的...