在MATLAB中实现均值变点法
第一次发CSDN,起因是做地形坡度起伏大小寻找最优分化单元格大小时,需要使用均值变点法对非线性拟合的函数求取其变化趋势的拐点。
但是在搜索网上后,并没有找到相应的代码,SPSS程序也没有相应的直接函数能够计算,故用Matlab自己编写了该代码,保证清晰易懂。以地势起伏度为例。
我们分为以下几步:
1.计算总体数据的方差
2.将一组数从第二个数开始,将其分为两部分,分别计算两部分的方差,并将两部分方差相加
3.分别计算总体数据的方差与(第二部得到的每次方差和)的差
4.寻找值最大的拐点,即为原非线性函数的突变点
-----------------------------------------注意----------------------------------------
例子中读取的表格和数据个数请根据自身情况酌情修改!!!
---------------------------------------------------------------------------------------
%读取单元起伏度,共18个数据
num = xlsread('D:\demDATA\统计结果.xlsx','D2:D19');%单元面积起伏度
cell = xlsread('D:\demDATA\统计结果.xlsx','A2:A19');%格网大小
%计算总体平均值、方差
S = 0,xall = 0;
xall= mean(num);
for i = 1:18
S = S + (num(i)-xall)^2
end
%计算均值变点法差值
%为保证后面下标统一,创建数组长度为18
A = zeros(1,18),B = zeros(1,18);%A为分割左侧总方差,B为分割右侧总方差
x1 = zeros(1,18),x2 = zeros(1,18);%x1为分割左侧平均值,x2为分割右侧平均值
vari = zeros(1,18),diff = zeros(1,18);%vari为两侧方差和,diff为总方差与每组方差和的差值
for i = 2:18
x1(i) = mean (num(1:i-1)),x2(i) = mean (num(i:18));
for j = 1:i-1
A(i) = A(i) + (num(j)-x1(i))^2
end
for k = i:18
B(i) = B(i) + (num(k)-x2(i))^2
end
vari(i) = A(i) + B(i);
diff(i) = S - vari(i);
end
scatter(cell,diff),hold on,plot(cell,diff);
xlabel('格网大小'),ylabel('S-Si'),axis([3 37 0 130]);
在MATLAB中实现均值变点法相关推荐
- matlab中std函数怎么写,Matlab中求均值和标准差的函数分别是mean(x)和std(x)。
栋教现拟学楼建-,中求准差的教学楼某已框架建工结构程为,中求准差0元直接建筑工程费为,相同结构其他,办公为()万元筑工造价建新接费该拟程直楼建,挖孔元/桩基采用础1人工. 下列中说法,均值何时款业主预 ...
- matlab中k均值程序代码,K-均值算法Matlab仿真
代码: X=[35 35 41 49 35 17 55 45 55 20 15 30 25 30 20 50 10 43 55 60 30 60 20 65 50 35 30 25 15 10 30 ...
- 单相桥式有源逆变电路matlab,单相桥式有源逆变电路在MATLAB中的建模与仿真
电子技术研发Electronics R&D 电子技术 10.3969~.issn.1000-0755.2016.04.001 蔡红专 吴玉平 眸 涛 曹 琴 (西京学院控制工程学院,陕西 西安 ...
- C++内点法求解大规模线性规划问题——对标MATLAB中linprog函数
C++内点法求解大规模线性规划问题--对标MATLAB中linprog函数 文章目录 C++内点法求解大规模线性规划问题--对标MATLAB中linprog函数 1. 项目场景 2. 约束的规范化 3 ...
- 【Matlab图像去噪】中值+均值+Lee+Kuan图像滤波【含源码 1179期】
一.代码运行视频(哔哩哔哩) [Matlab图像去噪]中值+均值+Lee+Kuan图像滤波[含源码 1179期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] ...
- 两种聚类方法——K均值聚类(K-means)算法和模糊C均值聚类(FCM)算法的简述与在MATLAB中的实现
目录 1.K-means算法 1.1算法流程 1.2程序实现 1.3实验结果 原始数据集 聚类结果 2.FCM算法 2.1算法流程 2.2程序设计 FCM子函数 主函数 2.3实验结果 原始数据集 聚 ...
- matlab中仿真丢包,使用MATLAB进行误比特率(BER)仿真----转载
原作者:James E. Gilley 译者:H. X. Xia 1. 引言 由于Matlab 具有简单的描述语言和优秀的数据图形化能力,MATLAB成为进行数字通信系统仿真的理想工具.在数字通信领域 ...
- matlab 矩阵命令,matlab中的矩阵的基本运算命令
matlab中的矩阵的基本运算命令 (2013-07-19 08:45:49) 1.1 矩阵的表示 1.2 矩阵运算 1.2.14 特殊运算 1.矩阵对角线元素的抽取 函数 diag 格式 X = d ...
- MATLAB中实现图像的空间域滤波和频率域滤波
1. 空间域滤波 空间域滤波是指在图像空间中借助模板对图像领域进行操作,处理图像每一个像素值.主要分为线性滤波和非线性滤波两类,根据功能可分为平滑滤波器和锐化滤波器.平滑可通过低通来实现,平滑的目的有 ...
- 2021-05-11雨流计数法的matlab代码实现,三点法四点法修正版
"我是置顶":本文仅供参考,禁止大作业抄袭!!! 这个代码还可以完善,还可以实现比如记录半循环之类的功能,加油! 2020年10月份左右因为课程原因接触了一下雨流计数法,该方法用于 ...
最新文章
- 运行从别处复制过来的linux可执行程序
- 分享一些面试中的经验和心得
- git版本回退:error: Your local changes to the following files would be overwritten by merge
- SIGIR2021推荐系统论文集锦(附论文原文及代码链接)
- 数十名工程师作战 5 天,阿里达摩院连夜研发智能疫情机器人
- PAT 乙级 1031. 查验身份证(15) Java版
- mybatis3.2.2的一些测试
- 原生js获取execl里面的值 主要使用ActiveXObject
- (pytorch)yolov3训练自己的模型
- android studio 汉化包 美化包
- 2021年中国粮食行业发展现状分析,粮食播种面积、产量再度迎来上涨「图」
- html5 拖拽 编辑 插件,超给力 Vue.js 可视化H5拖拽编辑器Quark-H5
- Flink 学习笔记(源码篇)<一> ——Transformation
- 精美UI静态界面欣赏
- 企企通SRM:由“制造”到“智造”,高科技电子行业如何打造智慧供应链?
- 微信聊天记录删除后如何恢复?原来只要这样就可以了
- 重启电脑数据丢失怎么恢复?这篇指南很受用!
- 去看看《自动化学报》等等这种期刊,这样看可能有感觉些,比你单纯在知网零散搜可能要好些。
- 怎么减少if()---else操作,优化代码
- 洛谷 5061 秘密任务——二分图染色
热门文章
- tc的linux命令详解,linux tc命令详解
- Mysql——DQL(查询语句语法、格式、举例)以及全部数据库源码,复制就可实现全部功能
- NShape(开源矢量图形编辑器) 基本功能开发(一)
- tags与categories
- 反垃圾邮件黑名单申诉工作相关步骤说明
- Starbound正式版的Mod制作(三)简…
- robots.txt存放的位置robots.txt文件的作用及写法 (搜索引擎)
- 第3关:球的表面积和体积
- 宁波实训day1: java web开发常用工具安装
- 送你一个目录,一站式学习生信!众多干货,有趣有料!