chap2

Upload: ccami709

Post on 06-Jan-2016

9 views

Category:

Documents


0 download

DESCRIPTION

matlab

TRANSCRIPT

  • MATLAB 2

    2

  • 2 */53 1 () 2 ()

    2

  • 2 */531 (1/2)

    1984198619881990199219941996()127130136145158178211

    2

  • 2 */531 (2/2) [ ] MATLAB m , , .

    2

  • 2 */53(Column vector) (Column vector) (;) . Enter . (' ) (transpose).

    2

  • 2 */53 (:) . variable_name = [m : q : n] or variable_name = m : q : n or variable_name = (m : q : n)m , m+q, m+2q, q , n . m-n q n, n . n 1 . q m n . >> x = [1:2:8] >> x=(0:0.5:1)*pi x=1 3 5 7 x=0 1.5708 3.1416 >> x=15:-3:8 >> t= -1:0.5:1 x=15 12 9 t=-1.0000 -0.5000 0 0.5000 1.0000

    2

  • 2 */53 xi xf, n , linspace . variable_name = linspace(xi, xf, n) xf . (xf xi)/(n-1) . n , 100 .>> x = linspace(2, 14, 6) % 2 14 6 x = 2.0000 4.4000 6.8000 9.2000 11.6000 14.0000>> delta_x = (14-2)/5 delta_x = 2.4>> t = 2:delta_x:14t = 2.0000 4.4000 6.8000 9.2000 11.6000 14.0000>> y = linspace( 0.1, 10) % 100 y = 0.1000 0.2000 0.3000 9.8000 9.9000 10.0000

    2

  • 2 */53logspace (row vector) . y = logspace(a, b, n)a b 10a 10b n .n 50 .

    2

  • 2 */532 () >> A=[2 4 10; 16 3 7; 8 12 35]A = 2 4 10 16 3 7 8 12 35

    2

  • 2 */53 (1/2)>> x=4; y=2; z=8; % >> A=[x y z; sin(x/z) x^2 x+y]A = 4.0000 2.0000 8.0000 0.4794 16.0000 6.0000>> A=[1:2:11; 0:5:25;linspace(10, 60, 6);67 2 43 68 4 13]A= 1 3 5 7 9 11 0 5 10 15 20 25 10 20 30 40 50 60 67 2 43 68 4 13

    2

  • 2 */53 (2/2)

    2

  • 2 */53 zeros, ones, eye zeros(m, n), ones(m, n), eye(n) .zeros(m, n) : 0 m n ones(m, n) : 1 m n eye(n) : 1 0 n n

    2

  • 2 */53MATLAB MATLAB . , , . (, , ) . . , , . , , , .

    2

  • 2 */53(transpose) >> v=[10; 20; 30];>> vt = vvt = 10 20 30>> x=[10 20 30]; xt = xxt =102030

    , , (') .

    2

  • 2 */53 (Array addressing) . , . . v v(k) k v . , v=[12 8 9 6 28] v(1)=12, v(3)=9, v(5)=28. v(k) . >> v(3)ans = 9>> v(3)=80; % >> v(4)=v(3)/8+3 % v = 12 8 80 13 28

    2

  • 2 */53 >> VCT=[35 46 78 23 5 14 81 3 55]VCT = 35 46 78 23 5 14 81 3 55>> VCT(4) % ans = 23>> VCT(6)=273 % 6 VCT= 35 46 78 23 5 273 81 3 55>> VCT(2)+VCT(8) % ans = 49>> VCT(5)^VCT(8)+sqrt(VCT(7))ans = 134

    2

  • 2 */53 (row) (column) . A A(r, c) A r c . A , A(1,1)=5, A(2,2)=1, A(3,3)=3.

    2

  • 2 */53(:) (1/1) . v v(:) : v .v(m:n) : v m n .end , end length() .

    2

  • 2 */53 (1/2) A .A( :, n) A n (column) A(n, : ) A n (row) A(:, m:n) A m ~ n (column) A(m:n, :) A m ~ n (row) A(m:n, p:q) m ~ n p~q

    2

  • 2 */53 (2/2)

    2

  • 2 */53

    2

  • 2 */53 (1/2)MATLAB . , , .

    2

  • 2 */53 (2/2)

    2

  • 2 */53 (1/2) , () .

    2

  • 2 */53 (2/2)

    2

  • 2 */53 (empty vector, null vector) [ ] . . .

    2

  • 2 */53 , clear . >> A=[20, 30; 40, 50]; >> row1=11:14; >> A(1, :) =row1 Subscripted assignment dimension mismatch.

    >> clear A % A . >> A(1, :) =row1 A = 11 12 13 14

    2

  • 2 */53 (Array Editor)(1/2)MATLAB Workspace Browser . Desktop Workspace Browser , >> workspace Desktop Workspace . Workspace Browser .

    2

  • 2 */53 (Array Editor) (2/2)Workspace Browser Array Editor Array Editor , , .

    2

  • 2 */53 MATLAB 7 . , mnq 3 . 3 m n 2 . A(:, :, 1), A(:, :, 2), . 2 . >> A=[ 5 3 7; 2 9 4; 3 0 6]; >> A(:, :, 2)=[ 4 0 1; 9 2 8; 5 6 4] ansA(:,:,1) = 5 3 7 2 9 4 3 0 6 A(:,:,2) = 4 0 1 9 2 8 5 6 4

    2

  • 2 */53 >> P1=[ 5, 1, 7, -3; -1, 2, 6, 0; 8, 12, -4, 9];>> P2=[ 4, 17, -1, 3; -9, 2, 8, 12; -6, 5, 7, 9];>> A(:, :, 1)=P1; A(:, :, 2)=P2;>> A = cat(3, P1, P2);A(:,:,1) = 5 1 7 -3 -1 2 6 0 8 12 -4 9A(:,:,2) = 4 17 -1 3 -9 2 8 12 -6 5 7 9>> A(2, 2, 1)ans = 2>> A(1, 2, 2)+A(2,4, 2)ans = 29

    2

  • 2 */53 , length(v) v , () sqrt(v*v' ) . abs(v) v . ) v=[x1, x2, x3] , length(v)=3, abs(v) = [ |x1|, |x2|, |x3| ], v sqrt(v*v) . length(v) v ( ) . v mn m n . >> v=[2, -5, 4, -3]; n=length(v) ans = 4 >> A=[ 11 12 13 14; 21 22 23 24]; length(A) ans = 4 >> mag = sqrt(v*v), abs_v= abs(v) ans = 7.3485 abs_v = 2 5 4 3

    2

  • 2 */53 (1/8)cat(dim, A, B, C, ) : (dim) .dim=1, , dim=2 . dim=3 3 .cat(1, A, B) [A; B] , cat(2, A, B) [A, B] .

    size(A) A mn, [m, n] . : x=size(A), [m, n]=size(A), size(A, dimension) >> A=[11:14; 21:24; 31:34]; x=size(A) x = 3 4 >> [m, n]=size(A) m = 3 n = 4

    2

  • 2 */53 (2/8)diag(v) v , v (square matrix) .diag(A) A , v . >> v=[2, 5, 9]; A=diag(v) % A = 2 0 0 0 5 0 0 0 9 >> diag(A) % A ans = 2 5 9sum(v) v . >> v=[5 3 9 2]; sum(v) ans = 19

    2

  • 2 */53sum(A) A , A (column) . >> A=[1:2:5; 11:2:15; 21:2:25]; S=sum(A) A = 1 3 5 11 13 15 21 23 25 S = 33 39 45 >> sum(A, 1) % . sum(A) ans = 33 39 45 >> sum(A, 2) % (row) . ans = 9 39 69 (3/8)

    2

  • 2 */53reshape(A, m, n) A (column) mn . A mn .>> A=[1:3:10; 2:3:11; 3:3:12]A =1 4 7 102 5 8 113 6 9 12>> B = reshape(A, 2, 6)ans = 1 3 5 7 9 112 4 6 8 10 12>> C = reshape(A, 3, [ ] )C = 1 4 7 10 2 5 8 11 3 6 9 12 (4/8)

    2

  • 2 */53max(v)v , v .min(v) v , v . >> v=randperm(5) v = 2 1 3 4 5 >> max(v) ans = 5 max(A) A (column) . >> A = [6 2; -4 8; 3 10] A = 6 2 -4 8 3 10 >> max(A) ans = 6 10 (5/8)

    2

  • 2 */53sort(v) v . >> v=randperm(5) v = 5 4 1 2 3 >> sort(v) ans = 1 2 3 4 5 sort(A) A (column) .sort(A, descend) A . >> A=[3 9 1 5; 8 4 6 7; 5 7 3 4]; >> sort(A) >> sort(A, descend) ans = ans = 3 4 1 4 8 5 9 7 5 7 3 55 7 3 5 8 9 6 73 4 1 4 (6/8)

    2

  • 2 */53find(v) v 0 . >> x = [ 9 0 4 0 -3 0 2]; >> indx=find(x) indx = 1 3 5 7 find() . >> find(x > 2) ans = 1 3 >> x = [11 0 33 0 55]'; find(x) % find ans = 1 3 5 (7/8)

    2

  • 2 */53ones zeros 0 1 45 . 2.1 4x5

    2

  • 2 */5366 1 0 . 2.2 6x6

    2

  • 2 */53 A, B, v , A 1 3 4 B . A 4 4 v 5~8 . 2.3 (1/2)

    2

  • 2 */53 2.3 (2/2)

    2

  • 2 */53 , , , . ) 'class', 'te st', 'math%1', '{mech:05!}' , . ) 'Mr. Hwang''s office' (maroon) , . 2 , ( ) .MATLAB : (4) , plot (5), (6). ( , , ) , , , .(String)

    2

  • 2 */53 , . >> str='MATLAB is a high-performance language. str = MATLAB is a high-performance language. >> size(str) % str 38 ans = 1 38 >> name = str(1:6) % . name = MATLAB >> str(1:6)= ' C++' ??? In an assignment A(:) = B, the number of elements in A and B must be the same. >> str(4:6)=[ ]; str(1:3)='C++' str = C++ is a high-performance language. (1/3)

    2

  • 2 */53>> strstr =C++ is a high-performance language.>> str(1:3)=MATstr =MAT is a high-performance language.>> str=[str(1:3), 'LAB ', str(4:end)]str =MATLAB is a high-performance language.>> whosName Size Bytes Class Attributesstr1x38 76 char >> str(end:-1:30)ans = .egaugnal % language. (2/3)

    2

  • 2 */53 . , . >> S = [My; name; is Jina.] ??? Error using ==> vertcat All rows in the bracketed expression must have the same number of columns. >> length(S(3, :)) ans = 8 >> S = ['My '; 'name '; 'is Jina.'] % S = My name is Jina. >> char(My, name, is Jina.) % char S = My name is Jina. (3/3)

    2

  • 2 */532

    2

    *