MATLAB总结
MATLAB总结
一、散点图
1.1.命令plot
功能线性二维图。在线条多于一条时,若用户没有指定使用颜色,则plot循环使用由当前坐标轴颜色顺序属性(currentaxesColorOrderproperty)定义的颜色,以区别不同的线条。在用完上述属性值后,plot又循环使用由坐标轴线型顺序属性(axesLineStyleOrderproperty)定义的线型,以区别不同的线条。
用法plot(X,Y)当X,Y均为实数向量,且为同维向量(可以不是同型向量),X=[x(i)],
Y=[y(i)],则plot(X,Y)先描出点(x(i),y(i)),然后用直线依次相连;若X,Y为复数向量,则不考虑虚数部分。若X,Y均为同维同型实数矩阵,X=[X(i)],Y=[Y(i)],其中X(i),Y(i)为列向量,则plot(X,Y)依次画出plot(X(i),Y(i)),矩阵有几列就有几条线;若X,Y中一个为向量,另一个为矩阵,且向量的维数等于矩阵的行数或者列数,则矩阵按向量的方向分解成几个向量,再与向量配对分别画出,矩阵可分解成几个向量就有几条线;在上述的几种使用形式中,若有复数出现,则复数的虚数部分将不被考虑。
plot(Y)若Y为实数向量,Y的维数为m,则plot(Y)等价于plot(X,Y),其中x=1:m;
若y为实数矩阵,则把y按列的方向分解成几个列向量,而y的行数为n,则plot(Y)等价于plot(X,Y)其中x=[1;2;…;n];在上述的几种使用形式中,若有复数出现,则复数的虚数部分将不被考虑。
plot(X1,Y1,X2,Y2,…),其中Xi与Yi成对出现,plot(X1,Y1,X2,Y2,…)将分别按顺序
取两数据Xi与Yi进行画图。若其中仅仅有Xi或Yi是矩阵,其余的为向量,向量维数与矩阵的维数匹配,则按匹配的方向来分解矩阵,再分别将配对的向量画出。
plot(X1,Y1,LineSpec1,X2,Y2,LineSpec2…)将按顺序分别画出由三参数定义
Xi,Yi,LineSpeci的线条。其中参数LineSpeci指明了线条的类型,标记符号,和画线用的颜色。在plot命令中我们可以混合使用三参数和二参数的形式:
plot(X1,Y1,LineSpec1,X2,Y2,X3,Y3,LineSpec3)
plot(…,"PropertyName",PropertyValue,…)对所有的用plot生成的line图形对象中指定
的属性进行恰当的设置。
h=plot(…)返回line图形对象句柄的一列向量,一线条对应一句柄值。
说明参数LineSpec功能定义线的属性。Maltab允许用户对线条定义如下的特性:1.线型
表7-1
定义符线型-实线(缺省值)--划线:点线-.点划线2.线条宽度指定线条的宽度,取值为整数(单位为像素点)3.颜色表7-2定义符颜色定义符颜色R(red)红色M(magenta)品红G(green)绿色y(yellow)黄色b(blue)兰色k(black)黑色c(cyan)青色w(white)白色4.标记类型表7-3定义符标记类型定义符标记类型定义符标记类型+加号d棱形s正方形o(字母)小圆圈^向上三角形h正六角星*星号v向下三角形P正五角星.实点>向右三角形x交叉号指定标记符颜色或者是标记符(小圆圈、正方形、棱形、正五角星、正六角星和四个方向的三角形)周边线条的颜色。取值在上表。
在所有的能产生线条的命令中,参数LineSepc可以定义线条的下面三个属性:线型、标记符号、颜色进行设置。对线条的上述属性的定义可用字符串来定义,如:plot(x,y,"-.or")
结合x和y,画出点划线(-.),在数据点(x,y)处画出小圆圈(o),线和标记都用红色画出。其中定义符(即字符串)中的字母、符号可任意组合。若没有定义符,则画图命令plot自动用缺省值进行画图。若仅仅指定了标记符,而非线型,则plot只在数据点画出标记符。
1.2.命令scatter(x1,y,50,c,"o","filled")
二、一元线性回归
2.1.命令polyfit最小二乘多项式拟合[p,S]=polyfit(x,y,m)
多项式y=a1xm+a2xm-1+…+amx+am+1
其中x=(x1,x2,…,xm)x1…xm为(n*1)的矩阵;y为(n*1)的矩阵;
p=(a1,a2,…,am+1)是多项式y=a1xm+a2xm-1+…+amx+am+1的系数;S是一个矩阵,用来估计预测误差.2.2.命令polyval多项式函数的预测值
Y=polyval(p,x)求polyfit所得的回归多项式在x处的预测值Y;p是polyfit函数的返回值;x和polyfit函数的x值相同。2.3.命令polyconf残差个案次序图
[Y,DELTA]=polyconf(p,x,S,alpha)求polyfit所得的回归多项式在x处的预测值Y及预测值的显著性为1-alpha的置信区间DELTA;alpha缺省时为0.05。p是polyfit函数的返回值;x和polyfit函数的x值相同;S和polyfit函数的S值相同。
2.4命令polytool(x,y,m)一元多项式回归命令2.5.命令regress多元线性回归(可用于一元线性回归)b=regress(Y,X)
[b,bint,r,rint,stats]=regress(Y,X,alpha)b回归系数
bint回归系数的区间估计r残差
rint残差置信区间
stats用于检验回归模型的统计量,有三个数值:相关系数R2、F值、与F对应的概率p,相关系数R2越接近1,说明回归方程越显著;F>F1-α(k,n-k-1)时拒绝H0,F越大,说明回归方程越显著;与F对应的概率p时拒绝H0,回归模型成立。
Y为n*1的矩阵;
X为(ones(n,1),x1,…,xm)的矩阵;alpha显著性水平(缺省时为0.05)。
三、多元线性回归
3.1.命令regress(见2。5)3.2.命令rstool多元二项式回归命令:rstool(x,y,’model’,alpha)x为n*m矩阵y为n维列向量
model由下列4个模型中选择1个(用字符串输入,缺省时为线性模型):linear(线性):
purequadratic(纯二次):interaction(交叉):quadratic(完全二次):
alpha显著性水平(缺省时为0.05)返回值beta系数返回值rmse剩余标准差返回值residuals残差--------------------------------------------五、其它
命令gridon
命令axis(坐标轴)([06000.025])命令figure弹出新的画图窗口命令获取矩阵的某行某列
x(n,:);获取矩阵的第n行x(:,n);获取矩阵的第n列命令rcoplot
画出残差及其置信区间:rcoplot(r,rint)glmfit一般线性模型拟合regstats回归统计量诊断regstats(responses,DATA,"model")"
stats=regstats(responses,DATA,"model","whichstats")"Q"QfromtheQRDecompositionofX"R"RfromtheQRDecompositionofX
"beta"RegressionCoefficients"covb"CovarianceofRegressionCoefficients"yhat"FittedValuesoftheResponseData"r"Residuals
"mse"MeanSquaredError
"leverage"Leverage"hatmat"Hat(Projection)Matrix"s2_i"Delete-1Variance"beta_i"Delete-1Coefficients"standres"StandardizedResiduals"studres"StudentizedResiduals"dfbetas"ScaledChangeinRegression
Coefficients"dffit"ChangeinFittedValues"dffits"ScaledChangeinFittedValues"covratio"ChangeinCovariance"cookd"Cook"sDistance"all"Createalloftheabovestatistics命令bar(条图)命令pie(饼图)命令hist(直方图)命令help
命令mean(平均值)命令inv(逆概率分布)命令pdf(密度)命令cdf(分布函数)命令stat(均差与方差)命令rnd(随机函数)命令std(标准差)命令var(方差)命令median(中位数)命令skewness(偏度)命令kurtosis(峰度)命令norm(正态分布)命令t(t分布)命令f(f分布)命令chr2(x2分布)命令poiis(泊松分布)
扩展阅读:matlab心得
学习Matlab心得体会
学习Matlab已经有一段时间了,对Matlab编程有了一定的了解。下面谈谈自己近期的学习心得。
第一节的时候我们对Matlab有了初步的认识:Matlab是“矩阵实验室(matrixlaboratoy)”的缩写,它是一种与数学水平密切相关的算法语言,专门针对科学、工程计算及绘图的需求。Matlab的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和处理、财务建模和分析以及计算机生物学等众多应用领域。附加的工具箱扩展了Matlab环境,以解决这些领域的特定性问题。比如说在自动控制理论中用的比较多的是根轨迹,相平面,传递函数,拉普拉斯变换,乃氏曲线等。在电机控制里面还有很多仿真实验,也经常用,对于辅助分析,也是很好用的。
我们已经学习过C语言,不难发现Matlab的编程基本语法学习起来很快的,和C语言很类似,而且支持C语言函数的,或者说函数就是用C语言编的。大一时学习线性代数,对矩阵又有了一定的了解,为今天学习Matlab打下了一定的基础。从matlab的名字的来源可以看出,它以矩阵运算常见,在当今的科学计算中,几乎无处不用矩阵运算,这是它的优势得到了充分的体现。
随着学习的课时的增加,我们对Matlab的有了深入而实质性的了解。首先我们学习了Matlab的数学运算、程序设计、程序调试、Matlab绘图及图形句柄,最后我们又学习了Matlab的图形用户界面设计。经过几次实验课,我们学会了M文件编程及程序调试,学会利用help这一命令对程序进行解释。
Matlab是以解释方式工作的,即它对每条语句解释后立即执行,若有错误也立即做出反应,便于对程序进行修改,大大减轻了编程和调试的工作量。它灵活、方便,程序调试手段丰富,调试速度快。Matlab语言像Basic和C语言一样规定了矩阵的算算术运算符、关系运算符、逻辑运算符、条件运算符及赋值运算符等。Matlab的绘图功是十分方便的,在调用绘图函数时调整自变量可绘制出不同颜色的点、线、复线或多重线,这是通用的编程语言所不及的。Matlab的工作环境主要由命令窗口、图形窗口、和文本编辑窗口组成。
当然,matlab与其它计算机语言相比,有其独特的优点。特点如下:Matlab把编辑、编译、连接以及执行融为一体,加快了编写、修改、和调试程序的速度,或者说是一种比VB还要简单的语言。Matlab语言的内容极为丰富,它的各种函数都与数学领域有关,它的起点高,编程效率高,用户使用方便,智能化程度高,人机交互性好,功能丰富,可扩展性强。
通过这段时间的理论学习及实验,我觉得要提高matlab编程能力的方法有以下几点:(1)利用help,lookfor等功能对程序进行编译修改。(2)多上网查资料,上论坛,搜索帖子、发帖子问人(3)阅读别人、特别是一些高级技术人员的程序,在阅读的过程中进行学习,学习别人的编程方法。(4)还要有一本matlab的函数工具词典,可以尽量多的熟悉matlab自带的函数,因为matlab自带的函数特别多,基本上能够满足一般的数据和矩阵的计算。当然了,正如所有的程序语言一样,“3分课本7分上机”,一定要动手才行,不能光看。多想、多思考、多尝试,才是正路。
记得上第一节课时,老师给我们放得ppt上有这样一句话:学会Matlab将改变你的一生,网络对你的改变将远远的超过一台独立的计算机!作为一名电气工程及其自动化的一名学生,学好Matlab是非常有用的,扩展就业方向,为将来就业打下良好的基础!
最后,感谢老师您这么久以来对我们的谆谆教导!我们不会忘记您对我们的细心辅导,不会忘记您在我们瞌睡的时候给我们的讲的故事
友情提示:本文中关于《MATLAB总结》给出的范例仅供您参考拓展思维使用,MATLAB总结:该篇文章建议您自主创作。
来源:网络整理 免责声明:本文仅限学习分享,如产生版权问题,请联系我们及时删除。