Matlab 学习笔记

合集下载

matlab学习笔记

matlab学习笔记

1]画图问题:1对于正余玄等,其实离散的,若将t取得非常小,是连续的,如果t的间隔大,plot(t1,y1,'r.')则明显离散,plot(t1,y1,t1,y1,'r.') 则就会有一条折线将离散的点连接起来了,2、subplot(a,b,c),将图分为ab快;grid on 画坐标方格title (‘加标题’)xlabel('x'), ylabel('y')axis([0,pi,-1,1])%控制轴的范围axis square %使坐标轴长度相同legend('1','2','3')%图例text(x,y,‘’)在图片上()3、 t=(0:pi/50:2*pi);k=0.4:0.1:1;y=cos(t)*k;plot(t,y)这是错误语句;t=(0:pi/50:2*pi)'才对,另外关于幂的问题> Y=sin(th)*sqrt(25-a^2); ??? Error using ==> mpower Matrix must be square.>> Y=sin(th)*sqrt(25-a.^2);4、对函数加包络线,如y=sin(x)[-1,1]5]数据拟合经典>>x=[0 .1 .2 .3 .4 .5 .6 .7 .8 .9 1]>>y=[-.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2]; % data >>n=2; % order of fit>>p=polyfit(x , y , n) % find polynomial coefficientsp =-9.8108 20.1293 -0.0317>>xi=linspace(0 , 1 , 100);>>z=polyval(p , xi); % evaluate polynomial>>plot(x , y , ‘ o ' , x , y , xi , z , ' : ')>>xlabel(‘ x ‘) , ylabel(‘ y=f(x) ‘) , title(‘ Second Order Curve Fitting ‘)%%%%%%%%%%%%%%%%%%%曲线拟合的经典:(详见拟合PPT)> x=0:0.1:1>> y=[-.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2];>> P=polyfit(x,y,2);>> xi=linspace(0,1,100);>> z=polyval(P,xi);>> hold on>> plot(x,y,'r.','MarkerSize',20);>> plot(xi,z,'b','LineWidth',2),hold off>> legend('points','line')%图例>经验曲线拟合:(详见拟合PPT)y=c*exp(a*x);M:wenjianfunction ff=mfun(beta,x)b1=beta(1);b2=beta(2);ff= b1*exp(b2*x);命令窗口输入:x=[];y=[];C=nlinfit(x,y,@mfun,[0 0])%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%插值经典:hours=1:12;temps=[5 8 9 15 25 29 31 30 22 25 27 24];h=1:0.1:12;%(将时间细化,)t=interp1(hours,temps,h,'spline'); (每个细化后的时间通过插值得到的值,直接输出数据将是很多的)plot(hours,temps,'+',h,t,hours,temps,'r:') %作图依次将散点图,插值后的图,及散点的折线图画出xlabel('Hour'),ylabel('Degrees Celsius’)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 6、k=sym('k')% k是一个符号变量;symsum(S) 对通项S求和,其中k为变量且从0变到k-1.symsum(S,v) 对通项S求和,指定其中v为变量且v从0变到v-1.symsum(S,a,b) 对通项S求和,其中k为变量且从a变到b.symsum(S,v,a,b)对通项S求和,指定其中v为变量且v从a变到b.7、解微分方程:解析解dsolve('fangcheng1 ','fangcheng 2'…..,'chu shi tiao jian ','bian liang' )数值解[自变量,函数]=ode45/ode23/ode15s(‘保存的函数名’,[自变量的范围],[函数的初始值])高化底,8、回归分析:经典例制:x=0.1:0.01:0.18;x=[x,0.2,0.21,0.23]';y=[42,41.5,45,45.5,45,47.5,49,55,50,55,55.5,60.5]';X=[ones(12,1),x];>> polyfit(x,y,1)[b,bint,r,rint,stats]=regress(y,X,0.05);>> b,bint,stats,rcoplot(r,rint)9、数组的输入:x=linspace(a,b,n);x=rand(1,n);//0-1之间的n的随即数x=randperm(n);//1到n的随即整数10、将硬盘的数据读入变量读入txt:a=load(' shu ju lu jing ')读入excel:a=xlsread(' shu ju lu jing ')11、矩阵函数eye(m,n);m*n的矩阵;magic(n);n为方阵;ones(m,n);rand(m,n);是m*n的(0,1)分布随即数矩镇randn(m,n);m* n矩阵,元素为正态分布的随即数珠;zeros(m,n);meshgrid(y,x)产生x-y平面的网格点数据x,y;det 计算矩镇的行列市,eig 特征值inv 逆rank 秩trace 迹norm 摸或范数orth 求出可将矩镇化为对角阵的正交化poly 矩镇的特征多项式12、点乘与矩镇运算:A.' A'A.^n 矩镇的每个元素自乘n方A^n矩镇自乘n方A.^p 矩镇的每个元素自求p次方A^p矩镇的p次幂A.*B A*BA./B A/BB.\A B\A13、(具体见统计工具)统计工具箱有关命令:1)数据的输入,保存,调用;data=[];save data;load data; 2)基本统计量:均值mean(x),中位数median(x);标准差std(x);方差var(x);偏度skewness(x);峰度kurtosis(x);偏度:反映分布的对称性,〉0表示右偏态,此时数据位于均值得右边比位于左边的多,峰度:如果3,常见的分布函数:常见的几种分布的命令字符为:正态分布:norm 指数分布:exp帕松分布:poiss β分布:betaχ分布:chi2威布尔分布:weib 2t分布:t F分布:FMatlab工具箱对每一种分布都提供五类函数,其命令字符为:概率密度:pdf 概率分布:cdf逆概率分布:inv 均值与方差:stat随机数生成:rnd(当需要一种分布的某一类函数时,将以上所列的分布命令字符与函数命令字符接起来,并输入自变量(可以是标量、数组或矩阵)和参数即可.)4、统计图形的作图normplot()正态分布检验图;hist(y,x)做直方图;chi2rnd(5,1,100)产生自由度为5的1000个卡方随即数;pie(X,explode)//X一为数组,作图时将元素求和,然后计算出每个元素的的比绿,explode:数组X 的同维数组,元素为1表示响应的突出scatter(nd,pop,‘rs’);scatter3(X,Y,Z)立体散点图MA TLAB中灰度直方图的显示MATLAB图象处理工具箱提供了imhist函数来计算和显示图象的直方图,imhist函数的语法格式为:imhist(I,n)imhist(X,map)其中imhist(I,n)计算和显示灰度图象I的直方图,n为指定的灰度级数目,默认值为256。

MATLAB学习笔记[优秀范文五篇]

MATLAB学习笔记[优秀范文五篇]

MATLAB学习笔记[优秀范文五篇]第一篇:MATLAB学习笔记读取excel表格中的数据%%excel表格需要存储在特定的目录下才能访问得到x=xlsread('training_data.xls',['A1:G2']);%提取excel表格中第一行A列到第2行G列之间矩阵内的数据y=xlsread('training_data.xls',['A2:G2']);%提取excel表格中第二行A列到第2行G列之间矩阵内的数据inputs=x';%将X转置后赋值给INPPUTStargets=y';%将Y转置后赋值给TARGETS2各种取整函数如ceil()、round()、floor()等之间的区别randperm(6)表示随机生产从1到6的整数串如[2 4 5 6 1 3 ]若A为矩阵A=[1 2 3;1 2 3;1 2 3],则sum(A,1)=[3 6 9]表示将每列相加之和作为列元素;sum(A,2)=[6;6;6]表示将每行相加之和作为行元素5自定义函数Function F=f(x)F=x^2+2*x+1;调用时:f(1);f(2);t= f(1);t= f(2);…..6将一段程序转化成注释:选中程序后按ctrl+t和ctrl+r相互转化。

7向量b=cumsum(向量a)若向量a=[1 2 3 4],则向量b=[1 3 6 10].第二篇:matlab学习心得体会数值运算1.cd显示当前的工作目录,dir列出当前目录下的子文件或子目录,home将光标移动到左上角,type列出所有的文件内容。

2.特殊矩阵的生成:3.linspace生成矩阵:(1)linspace(a,b):生成100个数据的向量;(2)linspace(a,b,n):生成n个元素的向量,线性分布;4.logspace生成矩阵:(1)logspace(a,b)生成50个对数元素的向量,x(1)=10^a,x(50)=10^b;(2)logspace(a,b,n):同linspace的用法; 5.指数与对数函数:6.复数函数:7.基本数组函数:8.矩阵变换函数:9.数据的输出格式由format命令来控制,但是只是影响其显示的结果,对计算结果或者是存储没有影响:10.常用的变量和常量:eps:浮点运算的精确程度,是MATLAB中的计算误差;realmax:计算机能够显示的最大的浮点数;realmin:同其相对应;11.一些特殊的标识符:12.bar条形图:13.几种特殊的图形颜色矩阵:14.照相制图的函数:15.axis ij:设置坐标为矩阵格式,坐标原点在左上角;axis为默认值; 16.坐标设置命令:17.光源设置:18.字符处理函数:19.矩阵分解:20.矩阵函数:21.第三篇:学习matlab总结(定稿)绘图函数 bar 竖直条图 barh 水平条图 hist 直方图histc 直方图计数 hold 保持当前图形 loglog x,y对数坐标图 pie 饼状图 plot 绘二维图 polar 极坐标图semilogy y轴对数坐标图 semilogx x轴对数坐标 subplot 绘制子图 bar3 数值3D竖条图 bar3h 水平3D条形图 comet3 3D慧星图cylinder 圆柱体fill3 填充的3D多边形 plot3 3维空间绘图quiver3 3D震动(速度)图 slice 体积薄片图 sphere 球stem3 绘制离散表面数据 waterfall 绘制瀑布 trisurf 三角表面clabel 增加轮廓标签到等高线图中datetick 数据格式标记 grid 加网格线gtext 用鼠标将文本放在2D图中 legend 图注plotyy 左右边都绘Y轴 title 标题xlabel X轴标签 ylabel Y轴标签 zlabel Z轴标签 contour 等高线图 contourc 等高线计算 contourf 填充的等高线图 hidden 网格线消影meshc 连接网格/等高线mesh 具有参考轴的3D网格 peaks 具有两个变量的采样函数 surf 3D阴影表面图surface 建立表面低层对象 surfc 海浪和等高线的结合 surfl 具有光照的3D阴影表面 trimesh 三角网格图多项式与插值conv 卷积和多项式乘法 roots 多项式的根poly 具有设定根的多项式 polyder 多项式微分 polyeig 多项式的特征根 polyfit 多项式拟合polyint 解析多项式积分 polyval 多项式求值polyvalm 矩阵变量多项式求值 residue 部分分式展开 interp1 一维插值 interp2 二维插值 interp3 三维插值interpft 使用FFT的一维插值 interpn 多维插值meshgrid 为3维点生成x和y的网格 ndgrid 生成多维函数和插值的数组 pchip 分段3次Hermite插值多项式 ppval 分段多项式的值spline 3次样条数据插值3、基本矩阵和矩阵操作blkding 从输入参量建立块对角矩阵 eye 单位矩阵linespace 产生线性间隔的向量logspace 产生对数间隔的向量numel 元素个数ones 产生全为1的数组 rand 均匀颁随机数和数组 randn 正态分布随机数和数组zeros 建立一个全0矩阵 colon)等间隔向量cat 连接数组diag 对角矩阵和矩阵对角线 fliplr 从左自右翻转矩阵 flipud 从上到下翻转矩阵 repmat 复制一个数组 reshape 改造矩阵 roy90 矩阵翻转90度 tril 矩阵的下三角triu 矩阵的上三角 dot 向量点集 cross 向量叉集ismember 检测一个集合的元素 intersect 向量的交集 setxor 向量异或集 setdiff 向是的差集 union 向量的并集数值分析和傅立叶变换 cumprod 累积 cumsum 累加cumtrapz 累计梯形法计算数值微分 factor 质因子inpolygon 删除多边形区域内的点 max 最大值mean 数组的均值 mediam 中值 min 最小值perms 所有可能的转换 polyarea 多边形区域 primes 生成质数列表 prod 数组元素的乘积 rectint 矩形交集区域 sort 按升序排列矩阵元素 sortrows 按升序排列行 std 标准偏差 sum 求和trapz 梯形数值积分 var 方差del2 离散拉普拉斯 diff 差值和微分估计 gradient 数值梯度 cov 协方差矩阵 corrcoef 相关系数 conv2 二维卷积conv 卷积和多项式乘法 filter IIR或FIR滤波器deconv 反卷积和多项式除法 filter2 二维数字滤波器cplxpair 将复数值分类为共轭对 fft 一维的快速傅立叶变换 fft2 二维快速傅立叶变换fftshift 将FFT的DC分量移到频谱中心ifft 一维快速反傅立叶变换 ifft2 二维傅立叶反变换 ifftn 多维快速傅立叶变换 ifftshift 反FFT 偏移nextpow2 最靠近的2的幂次 unwrap 校正相位角2、基本数学函数abs 绝对值和复数模长acos,acodh 反余弦,反双曲余弦acot,acoth 反余切,反双曲余切 acsc,acsch 反余割,反双曲余割 angle 相角asec,asech 反正割,反双曲正割 secant 正切asin,asinh 反正弦,反双曲正弦atan,atanh 反正切,双曲正切tangent 正切atan2 四象限反正切 ceil 向着无穷大舍入 complex 建立一个复数conj 复数配对cos,cosh 余弦,双曲余弦 csc,csch 余切,双曲余切 cot,coth 余切,双曲余切 exp 指数fix 朝0方向取整 floor 朝负无穷取整 gcd 最大公因数 imag 复数值的虚部 lcm 最小公倍数 log 自然对数log2 以2为底的对数 log10 常用对数 mod 有符号的求余nchoosek 二项式系数和全部组合数real 复数的实部 rem 相除后求余round 取整为最近的整数 sec,sech 正割,双曲正割 sign 符号数sin,sinh 正弦,双曲正弦 sqrt 平方根tan,tanh 正切,双曲正切1、特殊变量与常数 ans 计算结果的变量名computer 确定运行的计算机 eps 浮点相对精度 Inf 无穷大 I 虚数单位inputname 输入参数名 NaN 非数nargin 输入参数个数 nargout 输出参数的数目 pi 圆周率nargoutchk 有效的输出参数数目 realmax 最大正浮点数 realmin 最小正浮点数varargin 实际输入的参量varargout 实际返回的参量操作符与特殊字符 + 加实线 c 亮青色 : 点线 m 锰紫色-.点虚线--虚线七、注解xlabel('Input Value');% x轴注解 ylabel('Function Value');% y轴注解title('Two Trigonometric Functions');% 图形标题legend('y = sin(x)','y = cos(x)');% 图形注解 grid on;% 显示格线八、二维绘图函数 bar 长条图errorbar 图形加上误差范围fplot 较精确的函数图形 polar 极座标图 hist 累计图rose 极座标累计图 stairs 阶梯图 stem 针状图 fill 实心图 feather 羽毛图 compass 罗盘图 quiver 向量场图第四篇:MATLAB学习感想学习感想环科141 邢碧枞在科技飞速发展的今天,各行各业都离不开计算机的使用,而作为以科研为主的环境科学,更是离不开对计算机及软件的学习。

Matlab学习笔记

Matlab学习笔记

一、MATLAB 工作窗中的部分通用指令quit 关闭和退出MATLABclc 擦除MATLAB 工作窗中的所有显示内容clf 擦除MA TLAB 的当前图形窗中的图形clear 清除内存中的变量和函数pack 收集内存碎片以扩大内存空间dir 列出指定目录下的文件和子目录清单cd 改变当前工作子目录disp 在运行中显示变量和文字内容type 显示所有指定文件的全部内容echo 控制运行文件指令是否显示的开关hold 控制当前图形窗对象是否被刷新二、语句与变量2.1 Predefined variables系统预定义的变量eps 计算机的最小正数在pc 机上它等于2−52pi 圆周率π的近似值3.14159265358979inf 或Inf 无穷大NaN 不定量i,j 虚数单位定义i = j = −1flops 浮点运算次数用于统计计算量说明1 它们是在MA TLAB 启动时自定义的2.2表达式由下列算符构成并按习惯的优先次序进行运算+ 加法减法* 乘法/ 右除\ 左除^ 乘方设置两种除法是为了方便矩阵的运算对标量而言两者作用相同2.3函数:MA TLAB 的强大功能可函数中略见一斑本质上讲分为三类[1] 内部函数[2] 系统附带各种工具包中的M 文件所提供的大量函数[3] 用户自己增加的函数这一特点是其他许多软件平台无法比拟的2.4显示格式在缺省的状态下MA TLAB 以短格式short 格式显示计算结果可以用MATLAB 命令窗口中format 指令来改变数字的显示格式由于MA TLAB 以双精度执行所有运算显示格式的设置仅影响矩阵的显示不影响矩阵的计算与存储如果矩阵的所有元素都是整数则矩阵以不带小数点的格式显示如果有一个元素不是整数则有几种输出格式默认格式为short 格式只显示5 位有效数字其他的显示格式可显示更多的有效数字还可用科学表示法[例]x=[4/3 1.2345e-6]默认short 格式format short e 短格式科学表示xformat long 长格式xformat long e 长格式科学表示xformat bank 银行格式xformat hex 十六进制格式xformat + +格式用于显示大矩阵的紧凑格式+ 空格分别表示正数负数和零另外还有一种命令为format compact(紧凑格式) 它消去了矩阵之间的间隔行这样可在一屏中显示更多的信息。

Matlab学习笔记

Matlab学习笔记

第一讲 MATLAB基本知识【↑】可用于调出前一个命令行,【↓】可调出后一个命令行,这样避免了重新输入的麻烦。

当然历史窗口也具有此功能。

MATLAB文件格式有M、Mat、Mex等。

扩展名为“.m”的文件称为M文件(程序文件)。

顾名思义,该文件是解决问题的程序命令集合,工具箱中的函数大部分是M文件。

扩展名为“.mat”的文件称为MAT文件(数据文件),用来保存工作空间的数据变量。

扩展名为“.mex”的文件称为MEX文件(可执行文件),由MATLAB的编译器对M文件进行编译后产生。

表1-2 常见的文件管理命令命令说明what 显示当前目录中的MATLAB文件which文件主名显示指定的M文件的路径type文件主名显示指定的M文件内容save文件名存储定义的变量或演算结果到指定的文件名diary文件名以ASCII码形式记录所有的输入和屏幕上输出的内容cd.. 显示当前工作目录cd 子目录名进入子目录dir 显示当前目录中所有文件mkdir 建子目录Load filename 寻找名称为filename.mat的档案,并以二进制格式载入当用户在MATLAB命令窗口输入一条命令后,MATLAB按照一定次序寻找相关的文件。

基本的搜索过程是:①检查该命令是不是一个变量;②检查该命令是不是一个内部函数;③检查该命令是否当前目录下的M文件;④检查该命令是否是MATLAB搜索路径中其他目录下的M文件。

(意即可直接调用M文件) 变量的命名的规则是:①变量名区分大小写;②变量名以字母开头,可以由字母、数字、下画线组成,但不能使用标点;③变量名长度不超过63位,最多只能含有63个字符,后面的字符无效。

“%”是注释符,“%”后面的内容为注释,对MATLAB的计算不产生任何影响。

MATLAB是基于矩阵运算的,单一的数也是1×1的矩阵。

MATLAB将所有变量均保存为double的形式,在“Command Window”的状态下,所有的变量均存在于工作空间中。

Matlab入门基础(matlab学习笔记)

Matlab入门基础(matlab学习笔记)

by Cumber版权归作者所有,未经授权不得转载Matlab 笔记Base(基础)•num2str(x)——数字转为字符串•save('file')——存储数据load('file'))——加载数据<u>输入变量类型为字符串</u>•disp(x)输出,<u>只能输出一个变量</u>,如想输出多个,可使用向量输出。

•who——列出工作区变量whos——列出工作区变量信息•run('file')——运行脚本•datestr(clock)——时间其中,变量clock为当前时间的向量格式,datestr将向量转为字符串格式•solve(func,x)——解方程•syms x1 x2 ........ ——创建符号变量(即未知数)•换行——使用 ... 续接上行内容计时tic toc•取整round——就近取整floor——向下取整ceil——向上取整fix——向0的方向取整•设置输出显示格式(有效数字)format <u>*style*</u>格式long 长十进制小数点格式shortE 短科学记数法longE 长科学记数法hex 十六进制rat 分数数学函数绝对值——abs(x)三角函数——sin、cos、tan、sec、csc、cot反三角函数——asin(x)指数——通常使用 ^ ,特殊e^x——exp(x)开方——可以用 ^1/x ,平方根——sqrt(x)对数——函数log(x) 为lnx 函数log10(x) 为lgx取模——mod(x)标准差——std(x)逻辑符号与或非&&||~Matrix(矩阵)创建•创建向量linspace(x1,x2,n)——x1~x2之间等间距的n个数a:n:b——a,b之间,间隔为n•创建矩阵A = [1,2,3;4,5,6]——使用方括号,逗号或空格分隔元素,分号换行•创建特殊矩阵(x*y矩阵)zeros(x,y) 全0矩阵ones(x,y) 全1矩阵rand(x,y) 0~1的随机数<u>通过加减乘除来改变rand的范围</u>randn(x,y) 正态分布的随机数运算与更改•矩阵的乘法—— * 为矩阵相乘,.*为对应元素相乘•矩阵转置——transpose(A)另一种写法:A'•将矩阵转为列向量——B = A(:)•inv(A)——矩阵求逆A\b 与 inv(A)*b等价•sort(A)——按<u>升序</u>对 A的元素进行排序sort(A,dim)——A 沿维度dim的排序元素[B,Ind] = sort(A)——B为排序后矩阵,Ind为对应索引•矩阵内运算加法 sum(A) ;乘法 prod(A)规则:若A为向量,则为所有元素的运算。

MATLAB学习笔记

MATLAB学习笔记

1. 有矩阵A 、矩阵B 和矩阵X 其关系为A*X=B,来求X ,在MA TLAB 中的语句为X=A\B2. 矩阵A 的分析求行列式 det(A) 求行列式的秩 rank(A) 求逆矩阵 inv(A) 求矩阵的转置A ’ 矩阵A 的特征向量和特征值[C,D]=eig(A) C 为特征向量 D 为特征值 3. 矩阵的数组运算元素之间的运算都叫阵列运算1》乘法(1) 矩阵运算A*B 矩阵的数组运算A.*B(元素与元素相乘)例如求y=sin(x^2) x=0:0.5:10,意思是要把x 每个元素平方后在求y 。

如果在MA TLAB 中运行的话会提示出错,因为x 是一个数组,而对数组每个元素进行运算的话要用数字运算,意思是要在想对应的运算符前加一点,写成y=sin(x.^2).4.函数cat 的使用 B=cat(dim,a1,a2…)意义:将多个同维a1,a2…构成一个高维数组B ,dim 是高维数组B 的维数,它必须等于大于a1,a2…的阶次。

5. 多项式以及表达式 假设y=Poly(A) 如果A 二维以上的数组,则y 表示由A 得特征根确定的多项式;如果A 为一维矩阵,则y 表示有A 的元素为多项式的跟确定的多项式。

即令y=0得到的值就是矩阵A 。

例如:A=[1 -2 3]则y=poly(A)=(x-1)(x+2)(x-3)的系数1 -2 -5 6. 4221-=A 二维向量,poly(A)为1 -5 8,即(x-1)(x-4)=-4的系数。

多项式函数的引用:polyval(1) y=polyval(px,x)(2) px 为多项式的系数,x 为多项式自变量取值,y 为对应多项式的函数值多项式的拟合方法:(1) 找出函数上的已知点系列(2) 有已知点系列确定多项式,即p=polyfit(x,y,n)式中,p 为模拟的多项式,x 和y 为已知点系列,n 是多项式的最高阶次。

第四章 符号运算(1) findsym(f,n)用来查找函数y 的变量次序,n 为查找变量的个数。

MATLAB学习笔记

MATLAB学习笔记

第一章概述 (1)1-1 MATLAB命令行窗口显示数据的格式 (1)第二章矩阵和数组 (2)2-1 使用索引访问矩阵元素的方法 (2)2-2 MATLAB的矩阵生成函数 (2)2-3 矩阵的基本运算 (3)2-4 指数运算函数 (3)2-5 三角函数 (4)2-6 复数运算 (4)2-7圆整合求余函数 (4)2-8 用于矩阵(数组)操作的常用函数 (5)2-9 稀疏矩阵的常用函数 (5)2-10 多维数组的操作函数 (6)第三章数据类型 (6)3-1 MATLAB的基本数值类型 (6)3-2 整数类型数据的运算函数 (7)3-3 MATLAB的常量 (7)3-4 创建逻辑类型数据的函数 (7)3-5 MATLAB的逻辑运算 (8)3-6 MATLAB中的关系运算符 (8)3-7 数字和字符之间的转换函数 (8)3-8 常用的字符串操作函数 (9)3-9 不同数值之间的转换函数 (9)3-10 格式化字符 (10)3-11 元胞数组的操作函数 (10)3-12 在cellfun函数中可用的函数 (11)3-13 元胞数组和结构数组的异同 (11)3-14 结构操作函数 (11)第四章MATLAB编程基础 (12)4-1 选择结构 (12)4-1-1 if语句4-1-2 switch语句 (12)4-2 循环结构 (12)4-2-1 while循环结构4-2-2 for循环结构 (12)4-3 break语句和continue语句 (12)第五章文件I/O (13)5-1 概述 (13)5-2 高级历程 (13)5-2-1 一般数据文件操作 (13)5-2-2 文本文件操作 (14)第六章图形基础 (14)6-1 基本二维绘图 (14)6-1-1 基本绘图指令 (14)6-1-2 设置曲线的样式属性 (14)6-1-3 使用子图 (15)6-1-4 控制绘图区域 (15)6-2 格式化绘图 (16)6-2-1 添加文本信息 (16)6-2-2 格式化文本标注 (16)6-3 特殊图形函数 (17)6-3-1 特殊坐标轴系 (17)6-3-2 绘制特殊图形 (17)第一章概述1-1 MATLAB命令行窗口显示数据的格式第二章矩阵和数组2-1 使用索引访问矩阵元素的方法2-2 MATLAB的矩阵生成函数2-3 矩阵的基本运算2-4 指数运算函数2-5 三角函数2-6 复数运算2-7圆整合求余函数2-8 用于矩阵(数组)操作的常用函数2-9 稀疏矩阵的常用函数2-10 多维数组的操作函数第三章数据类型3-1 MATLAB的基本数值类型3-2 整数类型数据的运算函数3-3 MATLAB的常量3-4 创建逻辑类型数据的函数3-5 MATLAB的逻辑运算3-6 MATLAB中的关系运算符3-7 数字和字符之间的转换函数3-8 常用的字符串操作函数3-9 不同数值之间的转换函数3-10 格式化字符3-11 元胞数组的操作函数3-12 在cellfun函数中可用的函数3-13 元胞数组和结构数组的异同3-14 结构操作函数第四章MATLAB编程基础4-1 选择结构4-1-1 if语句4-1-2 switch语句If语句的基本语法有三种:switch(表达式)(1) if(关系运算表达式)case 常量表达式a:MATLAB语句AMATLAB语句case 常量表达式b:MATLAB语句B End(2)if(关系运算表达式)case 常量表达式m:MATLAB语句MMATLAB语句A otherwise :MATLAB语句NElse endMATLAB语句Bend(3) if(关系运算表达式a)MATLAB语句Aelseif(关系运算表达式b)MATLAB语句Belse(关系运算表达式c)end4-2 循环结构4-2-1 while循环结构4-2-2 for循环结构while(表达式)for index=start:increment:end MATLAB语句MATLAB语句end end4-3 break语句和continue语句(1)当break语句使用在循环体中的时候,其作用是能够在执行循环体的时候强迫终止循环,即控制程序的流程,使其提前退出循环,它的使用方法是break;(2)Continue语句出现在循环体中的时候,其作用是能够中断本次的循环体运行,将程序的流程跳转到判断循环条件的语句处,继续下一次的循环,它的使用方法是continue第五章文件I/O5-1 概述MATLAB自己提供一种特殊的数据文件格式—MAT文件,这种文件是一种二进制格式文件,扩展名为.mat,它为MATLAB提供了跨平台的数据交互能力。

Matlab学习笔记

Matlab学习笔记

zeros功能是返回一个m×n×p×...的double类零矩阵。

注意:m, n, p,...必须是非负整数,负整数将被当做0看待。

当没有参数时classname时,产生的是标量零矩阵,有参数时产生指定类型的零矩阵,例如zeros(3,2,'uint8')。

Ones返回一Rand1.rand(n)表示产生一个n×n的随机矩阵,n必须是整数,否则会报错。

2.rand(m,n)或rand([m n])产生m×n均匀分布的随机矩阵,元素取值在0.0~1.0。

3.X=rand(1,10);产生10个0~1的随机数。

4.Y = rand(size(A))产生一个与A同样大小的数组。

5.产生介于a到b之间的伪随机数。

6.rand('state',0)表示恢复到最初产生随机数的状态。

7.rand('state',sum(100*clock))定义随时间变化的初值。

% 投掷硬币实验x = rand(1,50000);% 50000次sum =0;k1 =0;a = zeros(1,50000);b = zeros(1,50000);for(i =1:50000)sum = sum +1;if x(i)>0.5k1 = k1 +1;enda(i)= k1;b(i)= sum;endf1 = a ./ b;figure(1)plot(b, f1), title('出现正面的频率变化曲线')figure(2)plot(b,1-f1), title('出现反面的频率变化曲线')Strcat将数组 s1,s2,...,sN 水平地连接成单个字符串,并保存于变量combinedStr中。

如果任一参数是元胞数组,那么结果combinedStr 是一个元胞数组,否则,combinedStr是一个字符数组。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Matlab教程命令+指定参数表3-13.3 数据交换系统MATLAB提供了多种方法将数据从磁盘或剪贴板中读入MATLAB工作空间。

具体的读写方法可依据用户的喜好以及数据的类型来选择。

这里主要介绍文本数据的读入。

对于文本数据(ASCII)而言,最简单的读入方法就是通过MATLAB的数据输入向导(Import Wizard),也可以通过MATLAB函数实现数据读入。

例如,对于文本文件test.txt:students’ scoresEnglish Chinese MathmaticsWang 99 98 100Li 98 89 70Zhang 80 90 97Zhao 77 65 87下面通过上述两种方法将该文件数据读入MATLAB工作空间,先介绍MATLAB数据交换系统对文本数据的识别。

此时文件的前几行(此处为“students’ scores”)将被识别为文件头,文件头可以为一行或几行,也可以识别出数据的列头(此处为:“English”、“Chinese”、和“Mathmatics”)和行头(此处为“wang”、“li”、“zhang”和“zhao”),其余的为可分断数据(此处为“99”、“98”、和“100”等)。

首先是通过数据输入向导编辑器读入数据,通过桌面平台上的【File】菜单中的【Import Data】选项打开输入向导编辑器,按向导提示进行操作完成整个文本数据的输入,则用户可以在MATLAB开发环境中使用该文本数据。

例如:>>whosName Size Bytes ClassData 4 3 96 double arrayGrand total is 12 elements using 96 bytes>>DataData =9998 1009889 7080 90 9777 65 87“whos”用于显示当前MATLAB工作空间的变量,而在命令窗口中输入data 后,将显示该数据。

在命令窗口或M 文件中调用相应的函数也可以实现数据的读入。

例如:>> [a,b,c,d]=textread(‘text.txt’, ‘%s %s %s %s’, ‘headlines’, 2) (读者可亲自上机看结果)4.2.1矩阵的生成1.直接输入法从键盘上直接输入矩阵是最方便、最常用的创建数值矩阵的方法,尤其适合较小的简单矩阵。

在用此方法创建矩阵时,应当注意以下几点:●输入矩阵时要以“[ ]”为其标识符号,矩阵的所有元素必须都在括号内。

●矩阵同行元素之间由空格或逗号分隔,行与行之间用分号或回车键分隔。

●矩阵大小不需要预先定义。

●矩阵元素可以是运算表达式。

●若“[ ]”中无元素表示空矩阵。

另外,在MATLAB语言中冒号的作用是最为丰富的。

首先,可以用冒号来定义行向量。

例如:>>a=1:0.5:4a=Columns1through 71 1.52 2.53 3.5 4其次,通过使用冒号,可以截取指定矩阵中的部分。

例如:>>A=[123;456;789]A=1 2 34 5 67 8 9>>B=A (1:2, : )B=1 2 34 5 6通过上例可以看到B是由矩阵A的1到2行和相应的所有列的元素构成的一个新的矩阵。

在这里,冒号代替了矩阵A的所有列。

2.外部文件读入法MATLAB语言也允许用户调用在MATLAB环境之外定义的矩阵。

可以利用任意的文本编辑器编辑所要使用的矩阵,矩阵元素之间以特定分断符分开,并按行列布置。

读入矩阵的一种方法可参考3.3节数据交换系统。

另外也可以利用load函数,其调用方法为:Load+文件名[参数]Load函数将会从文件名所指定的文件中读取数据,并将输入的数据赋给以文件名命名的变量,如果不给定文件名,则将自动认为matlab.mat文件为操作对象,如果该文件在MATLAB 搜索路径中不存在时,系统将会报错。

例如:事先在记事本中建立文件:1 1 1(并以data1.txt保存) 1 2 31 3 6在MATLAB命令窗口中输入:>>loaddata1.txt>> data1data1=1 1 11 2 31 3 63.特殊矩阵的生成对于一些比较特殊的矩阵(单位阵、矩阵中含1或0较多),由于其具有特殊的结构,MATLAB提供了一些函数用于生成这些矩阵。

常用的有下面几个:zeros(m) 生成m阶全0矩阵eye(m)生成m阶单位矩阵ones(m)生成m阶全1矩阵rand(m)生成m阶均匀分布的随机阵randn(m)生成m阶正态分布的随机矩阵1.常量Pi,lnf(无穷大),NaN(不确定值),eps(浮点数的相对误差),ans(默认变量名)。

2.变量Matalab区分大小写,长度不超过31位,format控制显示格式,不影响运算结果。

format short(短格式,5位定点数)、Format long (长格式,15位定点数)。

format short e,Format short e (短/长格式e方式),format bank (2位十进制)、format hex(十六进制格式),save<文件名>,将工作空间中全部变量存到<文件名>.mat文件中去;用load命令可将变量从磁盘文件读入matlab的工作空间;用clear可以清除现存变量。

floaps %浮点预算数nargin/nargout %所有函数的输入/出变量数realmin/ realmax 最小/大可用正实数angle(z) 复数z的相角real/imag(z)提取实/虚部……为续行符,在命令需要换行输出时用。

3.数据的存取mkdir(’c:\’,’my_dir’);cd c:\my_dir (使此为当前目录)save saf x %选择内存中的变量保存为saf.mat文件dir %显示目录上的文件clearload saf x %导入saf中的* 变量。

who %检查内存中的变量。

4.常用命令clc Clear Command Windowhome Send cursor homeclear Remove items from workspace, freeing up system memorywho List variables in workspacewhos List variables in workspace, with sizes and types基本矩阵函数A = [1 2 0; 2 5 -1; 4 10 -1]A =1 2 02 5 -14 10 -1We can easily find the transpose of the matrix A.B = A'B =1 2 42 5 100 -1 -1Now let's multiply these two matrices together.Note again that MATLAB doesn't require you to deal with matrices as a collection of numbers. MATLAB knows when you are dealing with matrices and adjusts your calculations accordingly.C = A * BC =5 12 2412 30 5924 59 117Instead of doing a matrix multiply, we can multiply the corresponding elements of two matrices or vectors using the .* operator.C = A .* B (点乘,内部的各个元素相乘)C =1 4 04 25 -100 -10 1Let's find the inverse of a matrix ...X = inv(A)X =5 2 -2-2 -1 10 -2 1... and then illustrate the fact that a matrix times its inverse is the identity matrix.I = inv(A) * AI =1 0 00 1 00 0 1MATLAB has functions for nearly every type of common matrix calculation.There are functions to obtain eigenvalues ... 特征值eig(A)ans =3.73210.26791.0000... as well as the singular values.svd(A)ans =12.31710.51490.1577The "poly" function generates a vector containing the coefficients of the characteristic polynomial.The characteristic polynomial of a matrix A isp = round(poly(A))p =1 -5 5 -1We can easily find the roots of a polynomial using the roots function.These are actually the eigenvalues of the original matrix.roots(p)ans =3.73211.00000.2679MATLAB has many applications beyond just matrix computation.To convolve two vectors ...q = conv(p,p)q =1 -10 35 -52 35 -10 1... or convolve again and plot the result.r = conv(p,q)plot(r);r =1 -15 90 -278 480 -480 278 -90 15 -1At any time, we can get a listing of the variables we have stored in memory using the who or whos command.whosName Size Bytes Class AttributesA 3x3 72 doubleB 3x3 72 doubleC 3x3 72 doubleI 3x3 72 doubleX 3x3 72 doublea 1x9 72 doubleans 3x1 24 doubleb 1x9 72 doublep 1x4 32 doubleq 1x7 56 doubler 1x10 80 doubleYou can get the value of a particular variable by typing its name.A =1 2 02 5 -14 10 -1You can have more than one statement on a single line by separating each statement with commas or semicolons.If you don't assign a variable to store the result of an operation, the result is stored in a temporary variable called ans.sqrt(-1)ans =0 + 1.0000iAs you can see, MATLAB easily deals with complex numbers in its calculations.。

相关文档
最新文档