matlab tutorial
来源:互联网 发布:apache 允许显示目录 编辑:程序博客网 时间:2024/06/06 01:31
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Introducing Matlab (adapted from http://www.cns.nyu.edu/~eero and% http://www.cs.dartmouth.edu/~farid/teaching/cs88/matlab.intro.html)% via http://www-cse.ucsd.edu/%7Esjb/classes/matlab/matlab.intro.html%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% (1) Help and basics% The symbol "%" is used in front of a comment.% To get help type "help" (will give list of help topics) or "help topic"% If you don't know the exact name of the topic or command you are looking for,% type "lookfor keyword" (e.g., "lookfor regression")% When writing a long matlab statement that exceeds a single row use ...% to continue statement to next row.% When using the command line, a ";" at the end means matlab will not% display the result. If ";" is omitted then matlab will display result.% Use the up-arrow to recall commands without retyping them (and down% arrow to go forward in commands). % Other commands borrowed from emacs and/or tcsh:% C-a moves to beginning of line (C-e for end), C-f moves forward a% character (C-b moves back), C-d deletes a character, C-k deletes % the line to the right of the cursor, C-p goes back through the% command history and C-n goes forward (equivalent to up and down arrows),% tab command completion.%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% (2) Objects in matlab -- the basic objects in matlab are scalars,% vectors, and matrices...N= 5% a scalarv = [1 0 0]% a row vectorv = [1;2;3]% a column vectorv = v'% transpose a vector (row to column or column to row)v= [1:.5:3]% a vector in a specified range: v= pi*[-4:4]/4% [start:end] or [start:stepsize:end]v= []% empty vectorm = [1 2 3; 4 5 6]% a matrix: 1ST parameter is ROWS% 2ND parameter is COLS m= zeros(2,3) % a matrix of zerosv= ones(1,3) % a matrix of onesm= eye(3)% identity matrixv= rand(3,1)% random matrix with values in [0,1] (see also randn)load matrix_data % read data from a file:% create a file 'matrix_data' containing:% 2 3 4% 5 6 7% 1 2 3matrix_datav= [1 2 3];% access a vector elementv(3)%vector(number) % Index starts from 1m = [1 2 3; 4 5 6]m(1,3)% access a matrix element% matrix(rownumber, columnnumber)m(2,:) % access a matrix row (2nd row)m(:,1) % access a matrix column (1st row)size(m)% size of a matrixsize(m,1) % number rowssize(m,2) % number of columnsm1= zeros(size(m))% create a new matrix with size of mwho% list of variableswhos% list/size/type of variables%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% (3) Simple operations on vectors and matrices%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% (A) Pointwise (element by element) Operations:% addition of vectors/matrices and multiplication by a scalar% are done "element by element"a= [1 2 3 4];% vector2 * a % scalar multiplicationa / 4% scalar multiplicationb= [5 6 7 8];% vectora + b% pointwise vector additiona - b% pointwise vector additiona .^ 2% pointise vector squaring (note .)a .* b% pointwise vector multiply (note .)a ./ b% pointwise vector divide (note .)log( [1 2 3 4] )% pointwise arithmetic operationround( [1.5 2; 2.2 3.1] )% pointwise arithmetic operation%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% (B) Vector Operations (no for loops needed)% Built-in matlab functions operate on vectors, if a matrix is given,% then the function operates on each column of the matrixa= [1 4 6 3]% vectorsum(a)% sum of vector elementsmean(a)% mean of vector elementsvar(a)% variancestd(a)% standard deviationmax(a)% maximuma = [1 2 3; 4 5 6]% matrixa(:) % vectorized version of the matrixmean(a) % mean of each columnmax(a) % max of each column max(max(a)) % to obtain max of matrix max(a(:)) % or...%%%%%%%%%%%%%%%%%%%%%%%%% (C) Matrix Operations:[1 2 3] * [4 5 6]' % row vector 1x3 times column vector 3x1 % results in single number, also % known as dot product or inner product[1 2 3]' * [4 5 6] % column vector 3x1 times row vector 1x3 % results in 3x3 matrix, also % known as outer producta= rand(3,2)% 3x2 matrixb= rand(2,4)% 2x4 matrixc= a * b% 3x4 matrixa= [1 2; 3 4; 5 6]% 3 x 2 matrixb= [5 6 7];% 1 x 3 vectorb * a% matrix multiplya' * b'% matrix multiply%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%(4) Saving your worksave mysession % creates mysession.mat with all variablessave mysession a b % save only variables a and bclear all% clear all variablesclear a b % clear variables a and bload mysession% load sessionab%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%(5) Relations and control statements% Example: given a vector v, create a new vector with values equal to% v if they are greater than 0, and equal to 0 if they less than or% equal to 0.v= [3 5 -2 5 -1 0]% 1: FOR LOOPSu = zeros( size(v) );% initializefor i = 1:size(v,2)% size(v,2) is the number of columnsif( v(i) > 0 )u(i) = v(i); endenduv= [3 5 -2 5 -1 0]% 2: NO FOR LOOPSu2= zeros( size(v) );% initializeind= find( v>0 )% index into >0 elements u2(ind)= v( ind )%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%(6) Creating functions using m-files:% Functions in matlab are written in m-files. Create a file called % 'thres.m' In this file put the following 4 lines:function res = thres( v )u= zeros( size(v) );% initializeind= find( v>0 )% index into >0 elements u(ind)= v( ind )v= [3 5 -2 5 -1 0]thres( v )% call from command line%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%(7) Plotting x= [0 1 2 3 4];% basic plottingplot( x );plot( x, 2*x );axis( [0 8 0 8] );x = pi*[-24:24]/24;plot( x, sin(x) );xlabel( 'radians' );ylabel( 'sin value' );title( 'dummy' );gtext( 'put cursor where you want text and press mouse' );figure;% multiple functions in separate graphssubplot( 1,2,1 );plot( x, sin(x) );axis square;subplot( 1,2,2 );plot( x, 2.*cos(x) );axis square;figure;% multiple functions in single graphplot( x,sin(x) );hold on; % hold on tells matlab to write on top plot (x, 2.*cos(x), '--' );% of the current plotlegend( 'sin', 'cos' );hold off;figure;% matrices as imagesm = rand(64,64);imagesc(m)colormap gray;axis imageaxis off;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%(8) Working with the Images and the Matlab Image Processing Toolbox[I,map]=imread('trees.tif'); % use as it is, Matlab has pre-stored imagesfigureimshow(I,map) % display it as indexed image w/colormapI2=ind2gray(I,map); % convert it to grayscalefigureimagesc(I2,[0 1]) % scale data to use full colormap % for values between 0 and 1colormap('gray') % use gray colormapaxis('image') % make displayed aspect ratio proportional % to image dimensions I=imread('football.jpg'); % read a JPEG image into 3D arrayfigureimshow(I)rect=getrect; % select rectangleI2=imcrop(I,rect); % cropI2=rgb2gray(I2); % convert cropped image to grayscaleimagesc(I2) % scale data to use full colormap % between min and max values in I2colormap('gray')colorbar % turn on color barimpixelinfo % display pixel values interactivelytruesize % display at resolution of one screen pixel % per image pixeltruesize(2*size(I2)) % display at resolution of two screen pixels % per image pixelI3=imresize(I2,0.5,'bil'); % resize by 50% using bilinear % interpolationI3=imrotate(I2,45,'bil','crop'); % rotate 45 degrees and crop to % original sizeI3=double(I2); % convert from uint8 to double, to allow % math operationsimagesc(I3.^2) % display squared image (pixel-wise)imagesc(log(I3)) % display log of image%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0 0
- Matlab Tutorial
- matlab tutorial
- Matlab Online Tutorial
- ML: Octave&Matlab Tutorial
- Coursera-ML:Week1-Octave/Matlab Tutorial
- The Spider Tutorial(在matlab中使用Weka)
- Creating, compiling and linking MATLAB executables (MEX files): a tutorial
- tutorial
- Tutorial
- Tutorial
- 机器学习-Matlab 编程常用命令速览(Ng-ML-class Octave/Matlab Tutorial)
- 机器学习-Matlab 编程常用命令速览(Ng-ML-class Octave/Matlab Tutorial)
- Coursera Machine Learning 第二周 quiz Octave/Matlab Tutorial 习题答案
- #“Machine Learning”(Andrew Ng)#Week 2_2:Octave/Matlab Tutorial
- C++ Tutorial
- codesmith tutorial
- J2EE Tutorial
- AJAX Tutorial
- oracle 标准数据库审核
- 引导页面3秒跳过
- myEclipse git 解决冲突
- npm包管理工具
- ios学习第五天(一)对页面进行修改
- matlab tutorial
- linux删除命令
- 关于zookeeper3.4.10集群版安装个人自总结
- 微信小程序 动态绑定事件 且通过事件修改样式
- LoadBitmap加载位图资源、LoadImage从文件加载位图
- ubuntu16.04交叉编译Poco1.7.8 for arm
- Android Sliding Menu--侧滑菜单
- mongodb[二]查看数据库,创建数据库,删除数据库
- 网游服务器端设计思考:心跳设计