【數據挖掘】MATLAB基礎練習題

MATLAB基礎練習題


1、按要求寫出實現該功能的代碼

1)使用方括號“[ ]”操作符產生一個列向量x,內容爲1,2,4,7

 x=[1;2;4;7]

2)使用方括號“[ ]”操作符產生一個行向量x,內容爲1,2,4,7

x=[1 2 4 7]  | x=[1,2,4,7]

3)使用冒號“:”操作符產生一個行向量x,內容爲9,7,5,3,1

x=[9:-2:1]  |  x=[9:-2:0]

4)使用方括號“[ ]”操作符產生一個二維數組A,第1行爲9,4,5,1;第2行爲1,0,4,7

/*1:直接創建*/
A=[9 4 5 1;1 0 4 7]  | A=[9,4,5,1;1,0,4,7]  
/*2:矩陣的合併*/
a=[9 4 5 1]  b=[1 0 4 7]  A=[a;b]

5)使用zeros函數產生一個3 * 2的二維數組A,使用ones函數產生一個3 * 4的二維數組B,將A、B拼接成3 * 6的二維數組C

A=zeros(3,2)  
B=ones(3,4)  
C=[A B]

6)使用rand函數產生一個3*4的二維數組A,使用邏輯1標識的方式尋訪A矩陣中大於0.3並且小於0.7的所有元素,賦給B

A=rand(3,4)  
B=A>0.3&A<0.7

2、練習矩陣定位函數find的使用

逐句輸入並運行以下命令,觀察每一步的運行結果,弄明白每一條語句的含義。

clear;                        // clear:清除工作區中的數據; clc:清除命令行窗口中的數據
X=[3 2 0; -5 6 1]             //創建1個2行3列矩陣X
indices=find(X>=1) %%語句1    //返回矩陣X≥1的元素的下標%
[row,col]=find(X>=1) %%語句2  //返回矩陣X≥1的元素下標的行和列的取值,分別存放於row和col中
[row,col,value]=find(X>=1)   //value存放符合要求的元素的值

3、練習子矩陣的賦值、刪除等操作

已知:A =
       1     25     7    20
       14    23     6    18
       12    23    15    16
       20    10     5     9

在MATLAB中給A賦值並完成以下操作:
1)給A中第6個元素賦值爲100;
命令語句如下:

A(6)=100

2)給A的第五列賦值[1,2,3,4];
命令語句如下:

A(:,5)=[1;2;3;4]

3)將矩陣A第2—4行中第1,3,5列元素賦值給矩陣B;
命令語句如下:

B=A((2:4),[1:2:5])  |  B=A((2:4),[1,3,5])

4)求矩陣A的大小(行列數);
命令語句如下:

[row,col]=size(A)

5)將A賦值給矩陣C,刪除C的第一行和第三行並顯示;
命令語句如下:

C=A  
C([1,3],:)=[] 

6)將矩陣A重排成5行4列的矩陣(提示:查找reshape函數的幫助)。
命令語句如下:

A=reshape(A,5,4)

4、練習常用函數的使用

逐句輸入並運行以下命令,觀察每一步的運行結果。
1)

x=[3,2,1,0]
a=length(x)
b=size(x,1)
c=size(x,2)
s=sum(x)

(變量a的結果寫在此處):4
(變量b的結果寫在此處):1
(變量c的結果寫在此處):4
(變量s的結果寫在此處):6

Tips:
size(A,1)該語句返回的時矩陣A的行數;size(A,2) 該語句返回的時矩陣A的列數

2)

x=[3,2,1,0; 5 6 8 7]
b=size(x,1)
c=size(x,2)
d=size(x,3)
s=sum(x)
s2=sum(x(:))

(變量b的結果寫在此處):2
(變量c的結果寫在此處):4
(變量d的結果寫在此處):1
(變量s的結果寫在此處):8 8 9 7
(變量s2的結果寫在此處):32

Tips:
size(x,3):%返回x第三個維度的長度,如果x的維度小於3則返回1
sum:矩陣各列求和

5、按要求編寫fun函數

函數輸入參數:一個向量
函數輸出參數:該向量中所有大於0的元素的和
功能:求該向量中所有大於0的元素的和
函數調用示例:s=fun([-1, 0, 2, 3, -5, 4])

//方法1
function s = fun(vect)
s = 0;
len = length(vect);
for i=1:len
    if(vect(i)>0)
       s = s+vect(i);
   end
end
end
//方法2
function s = fun(vect)
vect1 = vect(vect>0);
s = sum(vect1);
end
    


bingo~   ✨ 自由不是沒有約束,而是擁有選擇的權利

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章