Click here to load reader

第 2 章 MATLAB 语言基础

  • Upload
    ludwig

  • View
    159

  • Download
    0

Embed Size (px)

DESCRIPTION

第 2 章 MATLAB 语言基础. 返回总目录. MATLAB 语言是美国 Math Works 公司于 20 世纪 80 年代推出的高性能数值计算软件, MATLAB 语言源于线性代数中的数学运算,它不同于其他的计算机高级语言, MATLAB 语言最初是基于矩阵的运算工具,这也是其名称 MATLAB(MATrix LABoratory) 的由来。 MATLAB 语言已成为当今全世界流行的一种优秀的计算机语言。 - PowerPoint PPT Presentation

Citation preview

MATLAB
(4) MATLABMATLAB(M)MATLABMMATLAB
(5) MATLABMATLABMATLABMATLAB
(9) MATLABMATLAB
1
a =
MATLAB
(i,j)m×nMATLAB(i,j)m×nMATLAB0
MATLAB
A =
MATLAB
2.4
MATLAB
>> A=[1 4 7; 2 5 8; 3 6 9]
A =
ans =
ans =

ans =
ans =
2.5
A =
2.6
A =
2.7
A =
B =
MATLAB
2.8
2.9
a =
23
x =
0.5000
z =
1.2500
2.10 WhoWhos
>> A=[1 4 7; 2 5 8; 3 6 9]; B=[1 2 3 4]; C=[1; 2; 3; 4];
>> D='I am a student';
>> who % Who
Grand total is 31 elements using 164 bytes
ABCD
MATLAB
NaNnan

Pi
(2) “+”“-”
(4) “+”“-”
(2)
z2 =
z3 =
2.12
>> A=[1 2; 3 4]+[5 6; 7 8]*I %
A =
>> B=[1+2i 3+4i; 5+6i 7+8i] %
B =
MATLAB
+
matlab\ops - Operators and special characters.
matlab\lang - Programming language constructs.
matlab\elmat - Elementary matrices and matrix manipulation.
matlab\elfun - Elementary math functions.
matlab\specfun - Specialized math functions.
matlab\matfun - Matrix functions - numerical linear algebra.
matlab\datafun - Data analysis and Fourier transforms.
matlab\audio - Audio support.
matlab\funfun - Function functions and ODE solvers.

2.14 help+()

conj - Complex conjugate.
INV(X) is the inverse of the square matrix X.
A warning message is printed if X is badly scaled or
nearly singular.
Overloaded methods
help gf/inv.m
help zpk/inv.m
help tf/inv.m
help ss/inv.m
help lti/inv.m
help frd/inv.m
help sym/inv.m
help idmodel/inv.m
MATQDLG Workspace transfer dialog box.
DTF2SS Discrete transfer function to state-space conversion.
MATLAB
MATLAB
MATLABAA’Am×nA’n×mAA’AA.’conj(A’)AA’= A.’
MATLAB
A =
MATLAB
>> A1=[1 4 7; 2 5 8; 3 6 9]
A1 =
>> A2=[1 2 3; 4 5 6; 7 8 9]
A2 =
2.18
>> A=[1 2 3 4; 5 6 7 8; -1 -2 -3 -4; -5 -6 -7 -8]
A =
C3 =
??? Error using ==> *
MATLAB
ABA\BABABA\BAX=BA\B
MATLAB
>> A=[1 12 7; 3 8 5; 4 3 6]
A =
2.20
>> A=[1 12 7; 3 8 5; 4 3 6]
A =
(2) APAˆP
(3) APAPMATLAB
A =
B =
MATLAB
MATLAB
MATLAB
MATLAB
2.25
>> X-Y
ans =
2.26
>> X=[1 2 3 4 5;2 4 6 8 10;3 6 9 12 15]
X =
>> Y=fliplr(X)
>> Z1=X.*Y
>> Z2=X.*2
>> Z3=X./Y
>> Z4=X.\Y
XY“X./Y”“X.\Y”XX
MATLAB
X =
Y =
>> B=mod(A,4) % modMATLAB
>> C=(rem(A,4)<=1) % remMATLAB
>> D=(rem(A,4)==1)
>> E=(mod(A,4)>=1)
MATLAB
.
MATLAB
MATLAB
2.30
A =
B =
5
7
9
8
>> B=14-21
>> C=151
MATLAB
(2) y=linspace(x1x2n)ny(1)=x1y(n)=x2

>> A2=linspace(1,100)
1 2 3 4 5 6 7 8 9 10
Columns 11 through 20
11 12 13 14 15 16 17 18 19 20
Columns 21 through 30
21 22 23 24 25 26 27 28 29 30
Columns 31 through 40
31 32 33 34 35 36 37 38 39 40
Columns 41 through 50
41 42 43 44 45 46 47 48 49 50
Columns 51 through 60
51 52 53 54 55 56 57 58 59 60
Columns 61 through 70
61 62 63 64 65 66 67 68 69 70
Columns 71 through 80
71 72 73 74 75 76 77 78 79 80
Columns 81 through 90
81 82 83 84 85 86 87 88 89 90
Columns 91 through 100
91 92 93 94 95 96 97 98 99 100
MATLAB
(1) y=logspace(x1x2)50y(1)=10x1y(50)=10x2
(2) y=logspace(x1x2n)ny(1)=10x1y(n)=10x2
2.33
>> A=logspace(0,5,6)
MATLAB
2.34
>> A=[1 4 7; 2 5 8; 3 6 9]
A =
>> A=[1 2; 3 4; 5 6], B=A()
A =
X =
>> Y=[5 3 1 4 2]
Y =
>> Z=X(Y) % X
>> A=[1 2 3; 4 5 6; 7 8 9]
A =
MATLAB
(1) MATLAB
C =
>> w=hump(5,11,7);
% inline
>> w=w(5,11,7)
(2) A=zeros(size(B))B
11MATLABones1
0 0 0 0
0 0 0 0
0 0 0 0
>> B=[1 2 3 4; 5 6 7 8; 4 3 2 1; 5 7 8 6]
B =
2.40
>> diag(V)
ans =
(2) rand(mn)m×n(01)
(3) randn(n)n×nN(01)
(4) randn(mn)m×nN(01)
MATLAB
MATLAB
MATLAB
2.43 HilbertHilbert
>> A=hilb(4)
23 698,86 588 3 74 35
1024 256 10 8 7 4 2];
>> example;
>> size(exm)
ans =
2.45
>> A=[1 4 7 11 14; 2 5 8 12 15];
>> B=eye(3);
>> C=zeros(3,2);
>> D(7,8)=25
2.
0
(2) comexebmpwav
MATLAB
MATLAB
3.7 8.1 0.6; 1.5 7.7 -4.5]
X =
3.7 8.1 0.6; 1.5 7.7 -4.5];
>> gradient(X)
ans =
.
MATLAB


NaN
2.49 NaN
% NaNNaN
>> X=[0 1 2 3 4 NaN 6 7 8 9]
X =
0 1 2 3 4 NaN 6 7 8 9
>> I=find(~isnan(X))
>> X=X(I)
% NaN
>> X=[0 1 2 3 4 NaN 6 7 8 9]
X =
0 1 2 3 4 NaN 6 7 8 9
>> X=X(find(~isnan(X)))
% NaN()
>> X=[0 1 2 3 4 NaN 6 7 8 9]
X =
0 1 2 3 4 NaN 6 7 8 9
>> X=X(~isnan(X))
% NaN
>> X=[0 1 2 3 4 NaN 6 7 8 9]
X =
0 1 2 3 4 NaN 6 7 8 9
>> X(isnan(X))=[ ]
X =
% XNaN
% 14
>> P1=polyfit(X,Y,1)
>> Y1=polyval(P1,X);
>> Y2=polyval(P2,X);
MATLAB
MATLAB
MATLAB
Q =
Q =
MATLAB
U =
U =
V =
Z =
1.0e-013 *
>> poly2sym(P)
MATLAB
2.57 poly
>> A=[1 2 3; 3 4 5; 5 6 7]
A =
>> B=[3 -5 8 23 -7];
>> roots(A) % A
MATLAB
MATLAB
>> y=sin(x);
MATLAB
Columns 7 through 10
-0.7357 1.5658 -2.4507 -1.8055
2.61 plot
>> y1=exp(-0.1*x).*sin(x);
>> plot(x,y1,'k',x,y2,'k') %
>> xlabel('x'), ylabel('y')
plot(x[y1y2…])xy=[y1y2…]x()y()xy()
2. hold
MATLAB
3. plot
plotplot(x1y2x2y3…xnyn)x1y1x2,y2…xnyn
4. plotyy
>> y1=sin(x);
>> y1=sin(2*x);
>> plot(x,y2,'') % 2
>> figure(1) % 1
2.64
>> y1=sin(2*x);
>> y2=cos(2*x);
>> y4=sin(2*x)-cos(2*x);

MATLAB
.
MATLAB
Warning Imaginary parts of complex X and/or Y arguments ignored.
>> xlabel('x'),ylabel('real(z)'),grid
1
MATLABsemilogxsemilogyloglog
(3) loglog(x,y)XY10
MATLAB
MATLAB
>> radius=2*cos(2*(theta-pi/8));
MATLAB
>> y=sin(x);
>> z=cos(x);
>> plot3(X,Y,Z,'k');
>> grid
>> xlabel('x'),ylabel('y'),zlabel('z');
>> size(Z)
ans =


(2) mesh(XYZC)C=Z
XYxyxyZxy
MATLAB
>> Z=sin(c)./c;
(2) clf
(4) close
MATLAB
square

equal
(3) MATLABboxbox onbox off
MATLAB
MATLAB
MATLAB
end
msnmsnnms0nms0mns1nmkk
MATLAB
x(k)=k^2;
1 4 9 16 25 36 49 64 81 100
>> whos
Grand total is 11 elements using 88 bytes
forxx(1)x(10)kx
MATLAB
while
MATLAB
MATLAB
MATLAB
MATLAB
MATLAB
MATLAB
MATLABedit“”MATLAB//
% sin(1)sin(10)
function [] = ()
(4) MMATLAB
MATLAB
else
end
>> leapyear(y2)
>> leapyear(y3)
MATLAB
MATLAB
(1) echo on
(2) echo off
(5) echo file
echoecho
MATLAB
A =
3
%
Are you a college student? Yes, I am a college student.
B =
MATLAB
MATLAB
MATLAB
str =
MATLAB
(3) save filename x y zxyzfilename.matmat
(4) save filename u w –appenduwfilename.matmat
(5) save filename u w –asciiuwfilename.mat8ASCII
(6) save filename u w –ascii –doubleuwfilename.mat16ASCII
MATLAB
MATLAB
2-3 pi
2-4 a=1+2ib=3-4ia+ba-ba×ba/b
2-5 onesdiag

2-11
MATLAB

2-15 x=[1 2 3 4 5]y=[7 11 13 15 19]x=1.32.43.74.8y
2-16 xx2-x2xsin(x)x∈[0,π ]
2-17 subplot
(1) y=x x∈[0,3] (2) y=xsin(x) x∈[-1,1]
(3) y=x2 x∈[0,1.5] (4) y=tan (x) x∈[0,1.3]
2-18 plotsin(x)cos(x)
MATLAB
2-20 8×8