matlab 複習題

列出內存中的變量目錄:whos

對函數功能和用法不熟悉:help

顯示變量,陣列,文本:disp

清楚工作空間中的變量:clear

Grid on:窗體的軸顯示座標網格線

統計B矩陣中,大於A的元素個數:sum(sum(B>A)

第一章:

Matlab:Matrix Laboratory

matlab基本功能:數值計算,符號計算,繪圖,編程,GUI開發

Matlab特點:腳本式解釋語言,平臺無關性,語法規則簡單,提供了大量的計算函數

clc:清除指令窗口的顯示內容

clear:清除matlab工作空間中保存的變量

clf:清除matlab圖形窗口中的顯示內容

who或whos:顯示Matlab工作空間中的變量信息

Help :知道具體指令但是不知道怎麼使用

Lookfor :想解決某個問題,但是不知道MATLAB有哪些指令可用

分號:不顯示結果指令的結尾;數組行分隔

冒號:生成一維數組;作下標表示該維全部

黑點:在數組運算中的作用

逗號:函數輸入量分隔;數組元素分隔

pi:圓周率 Inf:無限大 NaN:非數

程序文件:即M文件,其擴展名爲.m,包括主程序和函數文件,M文件通過M文件編輯/調試器生成。Matlab的各工具箱中的函數大部分是M文件。

數據文件:即MAT文件,其擴展名爲.mat,用來保存工作空間中的數據變量。數據文件可以通過在命令行窗口中輸入“save”命令生成。

可執行文件:即MEX文件,其文件的擴展名爲.mex,由Matlab的編譯器對M文件進行編譯後產生,其運行速度比直接執行M文件快得多。

第二章:

一維數組的創建

逐個元素輸入法 a=[1, 2, 3]

冒號生成法 a=1:1:3

定數線性採樣法 linspace(1,3,3)

二維數組的創建

逐個元素輸入法(;和,)

   a2=[1 2 3;4 5 6;7 8 9]

MATLAB函數法 

zeros(m,n):產生m×n全0數組

ones(m,n): 產生m×n全1數組

eye(m):      產生m×m單位數組

rand(m,n):產生0~1間均勻分佈的隨機m×n矩陣。

拼接方式:

a=[1, 2, 3;4,5,6]

b=[7,8,9;10,11,12]

橫向拼接:[a,b]  123789

縱向拼接: [a;b] 123/n456/n789/n

編址:全下標和單下標

數組A=[ 1   2   3   4   5

  6   7   8   9   10

11 12 13 14  15 ]

則 A(2,3)= 8 ,A(2)=6

使用函數進行轉換單雙下標

sub2ind([3,5],2,3)  

% 3×5數組中,第2 行第3列元素的單下標

    [a,b]=ind2sub([3,5],8) 

% 3×5數組中,第8個元素的全下標

數組元素尋訪:

>>A=[1:3:16;2:3:17;3:3:18]

>>A1=A(:,2:3)     

A1    =

4     7

      5     8

      6     9

>>r=[2,3], c=[1,5];        

A2=A(r,c) %尋訪A的第2、3行和1、5列交叉的元素組成的子數組

A2   =

2    14

3    15

>>ind=[1,3,18],    %生成數組ind,作爲尋訪A的單序號

A2=A(ind), %尋訪A的第1、3和18號元素並組成子數組

A3=A(ind’)

A2=

     1     3    18

A3 =

        1

        3

        18

>>A4=A(1:3)%尋訪前3個元素組成的子數組

 A4 =1 2 3

>>A5=A(3:-1:1)%由前3個元素倒序構成的子數組

A5=3 2 1

A6=A(15:end)%第15個及其後所有元素構成的子數組

函數end作爲參數使用,返回最後一個元素的下標

      A6 = 15 16 17 18

數組操作指令:

[a,b]=size(A) 測量數組A的大小,a爲行數和b列數

c=length(A)  測量數組A的長度(一維數組的元素個數)

c=find(A)      找出數組A中非0元素的位置,輸出單序號

[a,b]=find(A)  輸出非0元素的全下標

reshape函數:總元素數不變的前提下,改變各維的大小

Am=magic(3) %生成3*3的數組

Aa=reshape(1:12,3,4) %生成3*4的數組

B=2*ones(3,4) %生成3*4的全2數組

刪除數組的某列和行

A=reshape(-4:5,2,5)  

A =

    -4    -2     0     2     4

    -3    -1     1     3     5  

A(:,[2,4])=[]

A =

    -4     0     4

    -3     1     5  

使用“單序號”可以刪除單個元素

>>A(2:4)=[]

第三章:數值計算

例6 求a(x)=x2+2x+3; b(x)=4x2+5x+6兩個多項式的積

          c = (x2+2x+3)(4x2+5x+6)

>> a=[1 2 3];b=[4 5 6];

>> c=conv(a,b)

      c = 4   13   28    27   18

>> p=poly2str(c,'x')

      p = 4 x^4 + 13 x^3 + 28 x^2 + 27 x + 18

例7:a(x)=x2+2x+3; b(x)=4x2+5x+6兩個多項式的商

>> a=[1 2 3];b=[4 5 6];

>> [div,rest]= deconv(a,b)

div = 

         0.25 

rest = 

         0   0.75   1.5 

【例】建立多項式  f(x)=4x3-3x2+2x-5,並求出f(x)=0時的根及x=3、x=3.6的值

>> P=[4,-3,2,-5];

>> x=roots(P)

x =

1.2007          

  -0.2253 + 0.9951i

  -0.2253 - 0.9951i

>> x=[3,3.6];

>> f=polyval(P,x)

f =

   82.0000  149.9440

第四章:

符號矩陣的創建:

方法一:A=sym(‘[a,b;c,d]’) 

A=

      [ a, b]

      [ c, d]

方法二:

syms a b c d

B=[a,b;c,d]

 

B =

      [ a, b]

      [ c, d]

求A矩陣的特徵值

>>syms a11 a12 a21 a22

>>A=[a11,a12;a21,a22];

>>det(A)        %計算行列式值

>>A’              %計算共軛轉置

>>eig(A)        %計算特徵值

極限:

  

>> syms t k

>>ss=sin(k*t)/(k*t)

>> lt=limit(ss,t,0)

lt =1

>> syms k x

>>ss= (1-1/x)^(k*x)

>> lx=limit(ss,x,inf)

 lx =1/exp(-k)

求導:

 

>> syms x t

>> f=[t^3-exp(x),t/x;t*cos(x),log(x)]

>> dfx=diff(f,x,1)

>> dft2=diff(f,t,2)

>> dtx=diff(diff(f,t),x)

求和:

 

>> syms x

>> ss=int(x*log(x),x,1,10)

級數

 

>>syms n

>>f=1/(2*n-1)

>>r=symsum(f,n,1,100)

>>double(r) 

第五章:圖形

二維:

x=0:pi/100:2*pi;

y1=2*exp(-0.5*x);

y2=cos(4*pi*x);

plot(x,y1,x,y2)

title('x from 0 to 2{\pi}');      %加圖形標題

xlabel('Variable X');                 %加X軸說明

ylabel('Variable Y');                  %加Y軸說明

legend('y1', 'y2')                      %加圖例

三維:

x=[0:0.15:2*pi];

y=[0:0.15:2*pi];

[X,Y]=meshgrid(x,y)

Z=sin(Y)*cos(X); 

surf(X,Y,Z);  % mesh(X,Y,Z);

colormap(hot)

xlabel('x-axis') ;

ylabel('y-axis') ;

zlabel('z-label');

title('3-D surf');

第六章:

M文件的兩種形式(區別)

腳本文件(Script File):通常用於執行一系列簡單的 MATLAB 命令,運行時只需輸入文件名字,MATLAB 就會自動按順序執行文件中的命令;

函數文件(Function File)。可以接受參數,也可以返回參數,在一般情況下,用戶不能靠單獨輸入其文件名來運行函數文件,而必須由其他語句來調用,MATLAB的大多數應用程序都以函數文件的形式給出。

全局變量使用示例:

  1. 先建立函數文件wadd.m,該函數將輸入的參數加權相加。 

    function f=wadd(x,y)

    global a b

    f=a*x+b*y;

 

    2. 在腳本文件:

    global a b

    a=1;

    b=2;

    s=wadd(1,2)

 計算級數:S=1+2+22+23+···+263=

s=0;

for i=0:63

    s=s+2^i;

    i=i+1;

End

disp(s);

 

 

 

 

 

 

 

 

               

 

 

 

 

 

 

 

 

 

 

 

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