![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MATLAB
文章平均质量分 91
脱碳甲醛
这个作者很懒,什么都没留下…
展开
-
MATLAB等值线绘制
基本等值线的绘制contour(x,y,z)与contour(z)作平面等值线,x,y,z为确定三维曲面点的矩阵。MATLAB自选等值线的高度和条数。两者区别是,contour(x,y,z)限定了等高线的横纵坐标值而contour(z)没有限定。下面以contour(x,y,z)为例,说明其他功能。contour(x,y,z,n)与contour(x,y,z,v)contour(x,y,z...原创 2019-01-18 13:56:38 · 38230 阅读 · 0 评论 -
MATLAB继承
继承在 MATLAB 中继承用 < 表示多重继承在 < 后面的各个类之间用 & 连接和其他语言一样,可以继承基类的属性和方法构造函数子类的构造函数必须要先调用父类的构造函数,格式为obj = obj@父类名(参数),其中第一个 obj 表示把返回值赋给子类的对象,第二个 obj 表示返回一个对象叫 obj调用父类同名方法我们知道在子类中可以覆盖父类的方法...原创 2019-06-26 21:02:12 · 1564 阅读 · 0 评论 -
MATLAB类的包含
类的包含和 C++ 一样,可以在一个类的成员里包含其他的类类对象也属于这个类,可以用 dot 访问,其规则与 C++ 相同。例如我们先建立一个平面点类 Point2Dclassdef Point2D < handle properties x; y; end methods functio...原创 2019-06-26 22:03:04 · 490 阅读 · 0 评论 -
MATLAB 高级数据结构——table
构造 table 对象构造函数T = table(var1,…,varN)T = table(‘Size’,sz,‘VariableTypes’,varTypes)T = table(___,‘VariableNames’,varNames)T = table(___,‘RowNames’,rowNames)T = table第一种根据变量名 var 构...原创 2019-07-02 23:03:51 · 1180 阅读 · 0 评论 -
MATLAB Handle类的set和get方法
set在给类的属性赋值时,会自动调用 set 函数,通常用来检查修改的数据是否合法声明格式为:set.属性名(参数)下列赋值情况中,set 函数不会被调用在 set 方法内部,对属性的赋值不会调用自身的 set 方法,避免死循环。在复制对象时在 properties 中设置默认初始值时对一个对象进行 load 时,会调用,此时会检查默认值的合法性。如果想要对输入参数做更全面...原创 2019-06-27 13:00:40 · 2130 阅读 · 0 评论 -
MATLAB类属性和方法的访问权限
设置访问权限设置方法:properties(Access = private/protected/public)private:只能被自己的类访问protected:可以被自己的类和其子类访问public(默认):可以任意访问Access 还可以 细分为 SetAccess 和 GetAccess,例如 properties(SetAccess = private) 表示 set 访问...原创 2019-06-27 13:00:58 · 4360 阅读 · 0 评论 -
MATLAB类文件的组织结构
使用其他文件夹中类的定义在该类的当前目录下,该类的定义是可见的,可以直接声明该类的对象如果想要在其他路径上使用该类,就要将文件夹添加到路径中右键文件夹,点击添加路径或者用 addpath 命令都可以将文件夹添加到搜索路径把类的定义和成员方法定义分开可以把类的方法放在单独的 m 文件中,但必须把这些文件放在命名为“@类名”的文件夹中类方法和普通函数很像,但是放在了指定文件夹中,就可...原创 2019-06-27 13:34:30 · 538 阅读 · 0 评论 -
MATLAB 方便而又意想不到的函数(2)
xtickangle(ax,angle)将 x 轴刻度选择 angle 角度。当 x 轴数据长度过长时,会出现重叠情况,将其旋转一定角度可以避免重叠xtick(ax,format)将 x 轴刻度按规定显示[trainInd,valInd,testInd] = dividerand(Q,trainRatio,valRatio,testRatio)在神经网络等算法中,需要划分...原创 2019-07-10 16:56:50 · 508 阅读 · 0 评论 -
MATLAB 函数与主工作区间数据交流
assignin(ws,var,val)ws 有两种情况,‘base’ 或 ‘caller’,其中 ‘base’ 表示基础工作区,‘caller’ 在函数嵌套中使用,主函数调用子函数,‘caller’表示主函数区。ws 为 ‘base’ 时,表示将 val 赋值给基础工作区的变量 var。assignin('base','name',n);不会为数组的特定元素赋值,下面的代码会出错...原创 2019-07-10 19:54:28 · 927 阅读 · 0 评论 -
MATLAB 方便而又意想不到的函数
sortsort(A,dim)对 A 中元素按一定顺序进行排列原创 2019-06-30 15:42:18 · 1040 阅读 · 0 评论 -
MATLAB句柄类和实体类
MATLAB函数的参数传递MATLAB 中,普通函数的参数传递都是实传递,即函数内对参数的任何修改都不会影响函数外原有的值。很明显,这样的坏处就是无法通过函数引用传参对传入数据进行处理,如果非要得到处理后的参数,必须将其设置为返回值。如果大量数据进行这种处理,就会导致运算速度很慢。...原创 2019-06-30 16:53:27 · 1182 阅读 · 0 评论 -
MATLAB对函数输入进行检查(1)——validateattributes函数
validateattributes函数调用方法:validateattributes(A,classes,attributes)A 是输入的一个变量classes 是属于的类,用元胞数组,数组内容是字符串attributes 是满足条件,也是元胞数组另外四种调用方法:validateattributes( _ , argIndex)validateattributes( _ ,...原创 2019-06-30 20:52:08 · 8938 阅读 · 0 评论 -
MATLAB对函数输入进行检查(2)——inputParser类
inputParser类的属性和方法addRequire(input, func)检测输入参数是否满足条件input 为输入参数名称,字符串。func 为检验函数,一般用 @ 引用,可以引用前面的 validateattributes 和 validatestring 函数addOptional(input, defaultinput, func)可选参数的判断,如果有这...原创 2019-06-30 23:36:45 · 8531 阅读 · 0 评论 -
MATLAB类的多重继承
类的多重继承在 < 后面的继承,类之间用 & 链接classdef Derived < Base1 & Base2如果被继承的两个类都是 Handle 类,或者都是 Value 类,则子类也是对应类。如果要继承一个 Handle 类和一个 Value 类,则要在 classdef 后面加 HandleCompatible 得到的是 Value 类,否则会...原创 2019-07-01 02:25:56 · 902 阅读 · 0 评论 -
MATLAB抽象类
抽象类和抽象方法和 C++ 一样,有抽象方法的类就是抽象类。方法后面加 Abstract 就是抽象方法。抽象类不能构造对象,只能作为基类被继承子类必须覆盖所有抽象方法,否则任然是一个抽象类,不能构建对象比如一个形状 Shape 类,包括 Circle、Rectangle 等,他们都有计算面积的方法 calArea。由于有不同的计算方法,Shape 类的方法 calArea 就是抽象类...原创 2019-07-01 13:25:56 · 1030 阅读 · 0 评论 -
MATLAB 随机数产生
rand(size1,size2, … ,sizeN)产生 0~1 随机数,size 指定产生矩阵的维度。rand(3,4) 产生 3 × 4 的随机矩阵randn(size1,size2, … ,sizeN)产生标准正态分布随机数,size 指定矩阵维度。randi([imin,imax], size1,size2, … sizeN)产生 imin 和 imax 之间的整数...原创 2019-07-16 19:27:32 · 583 阅读 · 0 评论 -
MATLAB函数重载
函数重载在 MATLAB 中,函数重载不能像 C++ 一样通过不同的参数类型进行重载,而要在函数体内实现。简单的说就是“伪重载”,用 if 判断,当输入为什么时怎么样。narginnargin 为调用函数时输入的参数个数在 MATLAB 中,不需要定义时的参数与调用时的参数个数相同,即定义参数(x,y)但是调用时可以只输入参数 x特别注意在类的方法中,obj 参数虽然在调用时并不...原创 2019-06-26 17:24:39 · 3335 阅读 · 0 评论 -
MATLAB类的方法
构造函数在 MATLAB 中,构造函数的格式是 obj = 类名(参数)其中,obj 表示对象,可以用其他符号表示,通常习惯用 objclassdef Point2D < handle properties x = 0; y = 0; end methods function obj = P...原创 2019-06-26 16:33:52 · 4016 阅读 · 0 评论 -
MATLAB图形标注
句柄和属性编辑器一个figure的属性有很多,比如图窗属性、坐标区属性等,每个属性又包含很多子属性,比如文字的颜色、字体、粗细,线条的颜色、样式等。我们可以记住比较常见的代码来快速达到基本要求,但是如果我们要精致地修改图像,可以通过属性编辑器和句柄来修改。属性编辑器打开方式:点击figure界面的编辑&gt;图窗属性。打开以后出现交互界面,可以方便地进行修改,而且实现了可视化。鼠标单击图像的不...原创 2019-01-18 19:19:48 · 5142 阅读 · 0 评论 -
MATLAB向量和矩阵基础操作
向量与多项式poly2sym(p)一个向量可以代表一个多项式,例如 [3 -2 1 0 5] 可以对应多项式3x4−2x3+x2+53x^4-2x^3+x^2+53x4−2x3+x2+5,用poly2sym可以将向量换为函数多项式。conv(p1,p2)求p1和p2对应多项式的乘积。[k,r]=deconv(p,q)k返回的是多项式p除以q的商,r是余式。即 p=conv(q,k)...原创 2019-01-24 01:52:33 · 834 阅读 · 0 评论 -
MATLAB颜色修改与渲染
colormapcolormap用于修改色轴,即修改图形的颜色。对于三维图形来说,MATLAB会自动检测图形的最大值和最小值,按照大小映射色谱的颜色。colormap name其中name是MATLAB中自带的色轴名称。如colormap spring;即将颜色风格改为“spring”;如果想要还原默认风格,语句是colormap default 注意改变色轴会使整个图窗所有的坐标区颜色发生...原创 2019-01-19 17:05:43 · 8491 阅读 · 1 评论 -
MATLAB数列与极限
数组求和与求积数组求和——sumS=sum(A,dim)sum是求数组A指定方向的和。当dim=1时,求每一列的和,返回行向量。当dim=2时,求每一行的和,返回一个列向量。sum(A)默认dim=1。S=sum(A,’ ')’ '里面可以有‘default’、‘double’、‘native’、‘includenan’、‘omitnan’ 其中前三者规定了矩阵S的数据类型,includ...原创 2019-01-20 01:25:58 · 2092 阅读 · 0 评论 -
MATLAB线性方程组求解
有唯一解线性方程组求法对于一般的,有唯一解的线性方程组,我们可以转换成矩阵的形式:Ax=bAx=bAx=b 则可以用矩阵运算求解x,即x=A\b有无穷解的线性方程组求法齐次线性方程组的通解求解齐次线性方程组基础解系的函数是nullZ=null(A)表示返回矩阵A的基础解系组成的矩阵。Z还满足ZTZ=IZ=null(A,‘r’)得出的Z不满足ZTZ=I,但得出的矩阵元素多为整数,顾一...原创 2019-01-20 22:58:32 · 26900 阅读 · 2 评论 -
MATLAB积分计算与积分变换
积分计算命令说明int(f)int(f)int(f)计算函数fff的不定积分int(f,x)int(f,x)int(f,x)计算函数fff关于自变量x的不定积分int(f,a,b)int(f,a,b)int(f,a,b)计算函数fff在区间[a,b][a,b][a,b]上的定积分int(f,x,a,b)int(f,x,a,b)int(f,x,a,b)...原创 2019-01-21 15:57:50 · 2567 阅读 · 0 评论 -
MATLAB解方程组
解单一方程S=solve(eqn,var)解等式eqn关于自变量var的解。var省略则自动检测(默认为x)。其中eqn可以是等式,也可以是函数,若为函数,则默认为eqn==0的解。S=vpasolve(eqn,[a b])计算eqn在区间[a,b][a,b][a,b]上的解,但是只能是数不能含有符号参数。解方程组Y=solve(eqns,vars)eqns是方程组的符号向量,即[e...原创 2019-01-21 23:13:17 · 8610 阅读 · 0 评论 -
MATLAB解微分方程组
解单一微分方程组S=dsolve(eqn,cond)eqn是微分方程等式,其中微分用diff函数表示,cond是确定微分方程不定系数的条件。注意函数要用带括号的形式定义。即:y(x)=2∗x;y(x)=2*x;y(x)=2∗x; 不能是 y=2∗x;y=2*x;y=2∗x;确定初始条件时要设置一个新变量:Dy=diff(y,x)Dy(0)==1Dy=diff(y,x)\quad Dy(...原创 2019-01-22 18:55:09 · 10452 阅读 · 1 评论 -
MATLB均值和方差
均值函数说明M=mean(A)计算矩阵A平均值M=mean(A, dim)计算指定维度上向量的平均值nanmean算术平均值geomean几何平均值harmmean和谐平均值trimmean调整平均值方差与标准差函数说明V=var(X)计算方差(n-1标准化)V=var(X,1)计算二阶中心距(n...原创 2019-01-22 22:01:56 · 331 阅读 · 0 评论 -
MATLAB数据插值
一维插值yi=interp1(x,y,xi,method)其中,x、y为已知的数据点,xi为想要插值数据点的横坐标,返回对应的纵坐标yi。method为插值方法,总共有四种。‘nearest’最近邻点插值,即若xix_ixi离xxx最近,则yi=yy_i=yyi=y‘linear’线性插值,即插值的结果是一条条线段。‘spline’进行三次样条插值,所得图形为光滑曲线,并且是二...原创 2019-01-23 16:01:47 · 1942 阅读 · 2 评论 -
MATLAB圆柱和球绘制
[x,y,z]=cylinder(r,n)cylinder用来绘制圆柱图。r 为圆的半径,n为在圆上等间距取的点数。当r 为向量时,返回一层一层的圆柱,使总的高度为1。当r 中元素数量足够多时,不同半径的圆柱累积起来就变成了连续光滑的边缘。n的默认值是20,当n比较大时,就是我们理想的圆柱,当n很小时,每一层就不是圆,而是正n边形。返回的图形z范围是[0,1]。我们可以对z进行伸缩变换...原创 2019-01-29 16:10:53 · 3359 阅读 · 0 评论 -
MATLAB 概率统计
常见分布的随机数的产生函数随机数名unifrnd连续均匀分布unidrnd离散均匀分布exprnd指数分布normrnd正态分布chi2rnd卡方分布trndt分布FrndF分布gamrndγ分布betarndβ分布lognrnd对数正态分布nbinrnd负二项式分布ncfrnd非中心 ...原创 2019-04-07 21:03:46 · 525 阅读 · 0 评论 -
MATLAB 表的使用和查询
有时候我们拿到的数据是 table 的形式,我们需要知道一些基本的方法,把 table 转换为我们熟悉的数组。tableName.Properties.VariableNamestableName为表的名称,返回一个 Cell,Cell 中为表中每个属性的名称。tableName.PropertyNamePropertyName 为表中某个属性名称,如果这个属性是数字,则返回一个数组...原创 2019-05-22 13:55:16 · 4344 阅读 · 0 评论 -
MATLAB对象数组
对象数组同一个对象可以数组串联起来b1 = Square();b2 = Square();b3 = Square();objArray = [b1,b2,b3];当对象很多时,以上方法会很麻烦。加入我们要构造 10 个对象,可以用一下方式obj.Array(1,10) = Square(5);这样必须要求 Square 有不带参数的默认构造函数,因为前九个空缺的位置会...原创 2019-07-01 14:57:24 · 2918 阅读 · 6 评论 -
MATLAB类的属性
常量属性在对象生存周期中保持不变,修改属性时将会报错用 Constant 表示常量属性properties(Constant) R = pi/80;end非独立属性其值依赖于其他属性,一旦其他属性改变,其值也会相应改变例如距离 r=x2+y2r=\sqrt{x^2+y^2}r=x2+y2 就是依赖于 x、y 的用 Dependent 表示非独立属性,并为此变量写一个 g...原创 2019-06-26 15:46:24 · 1762 阅读 · 0 评论 -
MATLAB 函数句柄
间接使用函数用 @ 引用函数后可以间接使用函数,例如:h = @cos;h(pi);这里 h(pi)就相当于 cos(pi),因为 h 引用了 cos 函数的句柄。更常见的情况是将引用的句柄当做函数的参数传入另一个函数(主函数),这样在主函数中,我们就可以根据输入调用不同的函数。例如:% main.mfunction test(functionHandle) a = fu...原创 2019-07-18 08:10:27 · 346 阅读 · 0 评论