自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(91)
  • 收藏
  • 关注

原创 Python 读取Excel数据

读取Excel需要安装包 xlrd用以下函数获取对应地址的 Excel 文件workbook = xlrd.open_workbook("D:/exam.XLS")注意路径里面斜线的方向,需要加后缀。获取 sheet众所周知,一个 Excel 文件中有很多 sheet ,我们通过上面得到的 workbook 获取 sheet通过以下代码可以获取 sheet 名称,根据索引...

2019-10-18 19:43:11 406

原创 Python 函数

函数简介函数定义以 def 开头,后面是函数名和函数参数函数不用指定返回值,直接在函数体中用 return 返回一个结果,或者直接 return 什么都不返回def add(num): return num + 1参数传递Python 函数的参数,如果是数、字符串、元组等不可变的变量,并不会在函数体外影响他们。如果参数是可变的数据结构(如列表),则修改时有可能改变函数外的变量...

2019-10-06 18:35:47 429

原创 Python 条件句和循环

代码块C++ 中代码块是用 {},但是 Python 中代码块是用:和缩进表示。比如 if 后面加 :,之后的代码向前缩进,当再向前缩进时说明代码块结束。条件句Python 的条件句为 if,elif,elsenum = int(input('Enter a number'))if num > 0 : print('The number is positive'...

2019-09-24 20:09:19 502

原创 Python 简化赋值

序列解包将一个序列解包,并将一系列值存储在一系列变量中x,y,z = 1,2,3x,y,z = [1,2,3]x,y,*z = [1,2,3,4] #x=1,y=2,z=[3,4]x,y = y,x #交换如上述代码,可以用序列进行赋值链式赋值x = y = somefunction()以上代码是引用传递,与一下代码等价:y = somefunction()...

2019-09-23 22:06:57 242

原创 Python 字典

概述字典就是一组组键 - 值对,通过指定键可以返回其值。简单说就是将序列中序号用其他类型代替。创建和使用字典phoneBook = {'Tom':'666','Jerry':'2333'}a = phoneBook['Tom']如上,通过 {} 创建字典,键和值用 :隔开,每对之间用 ,隔开还可以用 dict()构造字典,三种方法如下:# 创建空字典dict()# 传入关键字...

2019-09-23 21:51:16 216

原创 Python 字符串

format 函数'{},{},and {}'.format('first','second','third') #first,second,and third'{2},{1},and {0}'.format('first','second','third') #third,second,and first'{name} is {value}'.format(name = 'a',value...

2019-09-23 20:53:37 136

原创 Python 列表和元组

列表概述列表就是一个一维的数组,但是数组中不一定只能存数据,可以存任何东西。字符串和列表不是一个类,但是有很多方面类似。database = [['Tom',24],['Jerry',15]]索引元素的编号从左到右从0开始编号元素还有从右向左的编号,从右向左依次编号为 -1,-2,…切片切片就是取列表中的一段,类似于 MATLAB 中取数组的操作,形式也很类似。切片...

2019-09-20 18:12:34 312

原创 数模工具箱

基本介绍本工具箱是自己封装的 MATLAB 类,并设计 APP 界面,以下 APP 可在R2019a 中使用,点击进入查看具体使用方法。下载资源后保存到 MATLAB 工作路径即可。还有其他类使用方法将陆续更新。多元线性回归预测神经网络时间序列函数拟合K临近分类算法开发简介本工具箱主要用于有关数学建模的 MATLAB 模型建立、求解、分析。将 MATLAB 自带的函数、类进...

2019-09-10 21:00:24 2034 6

原创 数模工具箱——多元线性回归

工具箱说明本工具箱是基于 MATLAB 的多元线性回归工具箱,适用于:已知一组自变量和其对应的因变量,预测另一组自变量数据对应的因变量。本工具箱基于 MATLAB 自带的 LinearModel 类和 regress 函数,对其建模、参数选择、模型分析过程进行了封装,生成了 LinearRegression 类。对 LinearRegression 类,设计了 APP 交互界面,将类的...

2019-09-10 20:48:05 6095

原创 数模工具箱——K临近分类算法

工具箱说明本工具箱是基于 MATLAB 的 K 临近分析工具箱,适用于:已知自变量和自变量类型,对其进行机器学习,鉴别未知类型自变量的类型。本工具箱基于 MATLAB 自带的函数,对其建模、参数选择、模型分析过程进行了封装,生成了 KNearestNeighbors 类。对 KNearestNeighbors 类,设计了 APP 交互界面,将类的功能显示在界面上,方便使用。界面如下图所示:...

2019-09-10 20:43:21 296

原创 数模工具箱——时间序列函数拟合

工具箱说明本工具箱用于时间序列的时间函数拟合预测,适用于:已知一组时间序列,并且有明显的趋势,要求预测未来时间的数据。本工具箱基于 多元线性回归模型,将非线性函数转化为线性函数,可通过此工具箱打开线性回归工具箱进行分析。本工具箱基于自己设计的 FunctionTimeSeries 类,对其建模、参数选择、模型分析过程进行了封装,设计了 APP 交互界面,将类的功能显示在界面上,方便使用。界...

2019-09-10 20:41:07 4842 1

原创 数模工具箱——预测神经网络

回到目录获取资源:工具箱说明本工具箱是基于 MATLAB 预测神经网络开发的工具箱,适用于:已知一组自变量和其对应的因变量,预测另一组自变量数据对应的因变量。本工具箱基于 MATLAB 自带的 fitnet 类,对其建模、参数选择、模型分析过程进行了封装,生成了 FitNet 类。对 FitNet 类,设计了 APP 交互界面,将类的功能显示在界面上,方便使用。界面如下图所示:工具箱...

2019-09-10 20:36:13 806

原创 MATLAB K—临近分类

算法原理对未知样本,计算样本到每个已知数据的距离 ddd取距离最近的 kkk 个样本分类的类别即为这 kkk 个样本中出现最多的那个。ClassificationKNNknn=ClassificationKNN.fit(Xtrain,Ytrain)构造 K—临近分类类,Xtrain是训练数据,每一行是一个样本,Ytrain 是一个列向量,数组或者分类数组。knn.NumNeigh...

2019-07-23 00:22:08 427

原创 MATLAB 函数句柄

间接使用函数用 @ 引用函数后可以间接使用函数,例如:h = @cos;h(pi);这里 h(pi)就相当于 cos(pi),因为 h 引用了 cos 函数的句柄。更常见的情况是将引用的句柄当做函数的参数传入另一个函数(主函数),这样在主函数中,我们就可以根据输入调用不同的函数。例如:% main.mfunction test(functionHandle) a = fu...

2019-07-18 08:10:27 366

原创 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 631

原创 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 950

原创 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 532

原创 MATLAB 拟合神经网络—— fitnet

建立神经网络语法:net = fitnet(hiddenSizes,trainFcn)hiddenSize 为隐藏层数,是一个行向量,分别表示从左到右的隐藏层神经元数。trainFcn 为训练函数,如下表所示名称函数‘trainlm’Levenberg-Marquardt‘trainbr’Bayesian Regularization‘train...

2019-07-10 16:12:46 14624 7

原创 MATLAB 残差分析

rcoplot(r,rint)作残差与置信区间图,r 是残差,rint 是残差置信区间如图,红色的表示残差离群,即置信区间没有在 0 两边残差与拟合值图横坐标是预测值,纵坐标是残差正常情况下,点应该是随机分布在两条水平线之间,不能有明显趋势,比如扩散等。残差直方图(histogram)残差的概率分布图。正确的残差直方图应该符合正态分布残差正态概率图(proba...

2019-07-03 16:19:51 29671 8

原创 MATLAB 线性回归类 LinearModel

类函数wlb = LinearModel返回空的线性回归模型要加分号,因为空的模型访问类的数据会报错wlb = LinearModel.fit(X,Y)创建线性回归模型,X、Y是对应数据。注意这里 X 不要加全1的系数wlb.plot绘制 wlb 回归模型的效果图wlb.anova给出 wlb 模型的方差分析表[ynew, ynewr] = wlb.pred...

2019-07-03 03:45:15 7866

原创 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 1249

原创 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 3066 6

原创 MATLAB抽象类

抽象类和抽象方法和 C++ 一样,有抽象方法的类就是抽象类。方法后面加 Abstract 就是抽象方法。抽象类不能构造对象,只能作为基类被继承子类必须覆盖所有抽象方法,否则任然是一个抽象类,不能构建对象比如一个形状 Shape 类,包括 Circle、Rectangle 等,他们都有计算面积的方法 calArea。由于有不同的计算方法,Shape 类的方法 calArea 就是抽象类...

2019-07-01 13:25:56 1057

原创 MATLAB类的多重继承

类的多重继承在 < 后面的继承,类之间用 & 链接classdef Derived < Base1 & Base2如果被继承的两个类都是 Handle 类,或者都是 Value 类,则子类也是对应类。如果要继承一个 Handle 类和一个 Value 类,则要在 classdef 后面加 HandleCompatible 得到的是 Value 类,否则会...

2019-07-01 02:25:56 949

原创 MATLAB对函数输入进行检查(2)——inputParser类

inputParser类的属性和方法addRequire(input, func)检测输入参数是否满足条件input 为输入参数名称,字符串。func 为检验函数,一般用 @ 引用,可以引用前面的 validateattributes 和 validatestring 函数addOptional(input, defaultinput, func)可选参数的判断,如果有这...

2019-06-30 23:36:45 8785

原创 MATLAB对函数输入进行检查(1)——validateattributes函数

validateattributes函数调用方法:validateattributes(A,classes,attributes)A 是输入的一个变量classes 是属于的类,用元胞数组,数组内容是字符串attributes 是满足条件,也是元胞数组另外四种调用方法:validateattributes( _ , argIndex)validateattributes( _ ,...

2019-06-30 20:52:08 9064

原创 MATLAB句柄类和实体类

MATLAB函数的参数传递MATLAB 中,普通函数的参数传递都是实传递,即函数内对参数的任何修改都不会影响函数外原有的值。很明显,这样的坏处就是无法通过函数引用传参对传入数据进行处理,如果非要得到处理后的参数,必须将其设置为返回值。如果大量数据进行这种处理,就会导致运算速度很慢。...

2019-06-30 16:53:27 1207

原创 MATLAB 方便而又意想不到的函数

sortsort(A,dim)对 A 中元素按一定顺序进行排列

2019-06-30 15:42:18 1052

原创 MATLAB类文件的组织结构

使用其他文件夹中类的定义在该类的当前目录下,该类的定义是可见的,可以直接声明该类的对象如果想要在其他路径上使用该类,就要将文件夹添加到路径中右键文件夹,点击添加路径或者用 addpath 命令都可以将文件夹添加到搜索路径把类的定义和成员方法定义分开可以把类的方法放在单独的 m 文件中,但必须把这些文件放在命名为“@类名”的文件夹中类方法和普通函数很像,但是放在了指定文件夹中,就可...

2019-06-27 13:34:30 578

原创 MATLAB类属性和方法的访问权限

设置访问权限设置方法:properties(Access = private/protected/public)private:只能被自己的类访问protected:可以被自己的类和其子类访问public(默认):可以任意访问Access 还可以 细分为 SetAccess 和 GetAccess,例如 properties(SetAccess = private) 表示 set 访问...

2019-06-27 13:00:58 4505

原创 MATLAB Handle类的set和get方法

set在给类的属性赋值时,会自动调用 set 函数,通常用来检查修改的数据是否合法声明格式为:set.属性名(参数)下列赋值情况中,set 函数不会被调用在 set 方法内部,对属性的赋值不会调用自身的 set 方法,避免死循环。在复制对象时在 properties 中设置默认初始值时对一个对象进行 load 时,会调用,此时会检查默认值的合法性。如果想要对输入参数做更全面...

2019-06-27 13:00:40 2152

原创 MATLAB类的包含

类的包含和 C++ 一样,可以在一个类的成员里包含其他的类类对象也属于这个类,可以用 dot 访问,其规则与 C++ 相同。例如我们先建立一个平面点类 Point2Dclassdef Point2D < handle properties x; y; end methods functio...

2019-06-26 22:03:04 519

原创 MATLAB继承

继承在 MATLAB 中继承用 < 表示多重继承在 < 后面的各个类之间用 & 连接和其他语言一样,可以继承基类的属性和方法构造函数子类的构造函数必须要先调用父类的构造函数,格式为obj = obj@父类名(参数),其中第一个 obj 表示把返回值赋给子类的对象,第二个 obj 表示返回一个对象叫 obj调用父类同名方法我们知道在子类中可以覆盖父类的方法...

2019-06-26 21:02:12 1619

原创 MATLAB函数重载

函数重载在 MATLAB 中,函数重载不能像 C++ 一样通过不同的参数类型进行重载,而要在函数体内实现。简单的说就是“伪重载”,用 if 判断,当输入为什么时怎么样。narginnargin 为调用函数时输入的参数个数在 MATLAB 中,不需要定义时的参数与调用时的参数个数相同,即定义参数(x,y)但是调用时可以只输入参数 x特别注意在类的方法中,obj 参数虽然在调用时并不...

2019-06-26 17:24:39 3446

原创 MATLAB类的方法

构造函数在 MATLAB 中,构造函数的格式是 obj = 类名(参数)其中,obj 表示对象,可以用其他符号表示,通常习惯用 objclassdef Point2D < handle properties x = 0; y = 0; end methods function obj = P...

2019-06-26 16:33:52 4162

原创 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 1785

原创 MATLAB K-means聚类分析

K聚类用法对未知分类的数据进行分类。分类之前要人为定义要分多少类,即要先确定 K 值分类后可以得出每一个样本属于哪一个类,以及各类的中心点。MATLAB函数[idx,C,sumd,D] = kmeans(X,K)输入 X 是要分类的数据矩阵,每一行是一个样本,每一列是一组特征值。输入 K 是规定的分类组数。idx 是一个列向量,记录对应位置处样本所属类的序号。C 记录了 ...

2019-06-03 12:09:44 4739

原创 MATLAB 将分类变量转换为数值变量

在建模过程中,有时候我们会碰到一些非数值的变量,例如性别、工作等,我们需要将这些字符串变量转换为数值变量。步骤:将元胞数组转换为分类数组使用 categorical(A)函数,将 A 转化为分类数组将分类数组转换为数值数组使用 double(A) 将分类数组转化为数值数组实例:A = {'大一','大二','大一','大三','大一'};B = categorical(A)...

2019-05-22 21:32:55 7579 3

原创 MATLAB 表的使用和查询

有时候我们拿到的数据是 table 的形式,我们需要知道一些基本的方法,把 table 转换为我们熟悉的数组。tableName.Properties.VariableNamestableName为表的名称,返回一个 Cell,Cell 中为表中每个属性的名称。tableName.PropertyNamePropertyName 为表中某个属性名称,如果这个属性是数字,则返回一个数组...

2019-05-22 13:55:16 4457

原创 MATLAB 神经网络预测工具箱

神经网络神经网络预测,在使用上,类似一个黑盒子,输入一些自变量,输出一些因变量。

2019-05-20 00:41:43 6619

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除