第一次发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中实现均值变点法相关推荐

  1. matlab中std函数怎么写,Matlab中求均值和标准差的函数分别是mean(x)和std(x)。

    栋教现拟学楼建-,中求准差的教学楼某已框架建工结构程为,中求准差0元直接建筑工程费为,相同结构其他,办公为()万元筑工造价建新接费该拟程直楼建,挖孔元/桩基采用础1人工. 下列中说法,均值何时款业主预 ...

  2. 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 ...

  3. 单相桥式有源逆变电路matlab,单相桥式有源逆变电路在MATLAB中的建模与仿真

    电子技术研发Electronics R&D 电子技术 10.3969~.issn.1000-0755.2016.04.001 蔡红专 吴玉平 眸 涛 曹 琴 (西京学院控制工程学院,陕西 西安 ...

  4. C++内点法求解大规模线性规划问题——对标MATLAB中linprog函数

    C++内点法求解大规模线性规划问题--对标MATLAB中linprog函数 文章目录 C++内点法求解大规模线性规划问题--对标MATLAB中linprog函数 1. 项目场景 2. 约束的规范化 3 ...

  5. 【Matlab图像去噪】中值+均值+Lee+Kuan图像滤波【含源码 1179期】

    一.代码运行视频(哔哩哔哩) [Matlab图像去噪]中值+均值+Lee+Kuan图像滤波[含源码 1179期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] ...

  6. 两种聚类方法——K均值聚类(K-means)算法和模糊C均值聚类(FCM)算法的简述与在MATLAB中的实现

    目录 1.K-means算法 1.1算法流程 1.2程序实现 1.3实验结果 原始数据集 聚类结果 2.FCM算法 2.1算法流程 2.2程序设计 FCM子函数 主函数 2.3实验结果 原始数据集 聚 ...

  7. matlab中仿真丢包,使用MATLAB进行误比特率(BER)仿真----转载

    原作者:James E. Gilley 译者:H. X. Xia 1. 引言 由于Matlab 具有简单的描述语言和优秀的数据图形化能力,MATLAB成为进行数字通信系统仿真的理想工具.在数字通信领域 ...

  8. matlab 矩阵命令,matlab中的矩阵的基本运算命令

    matlab中的矩阵的基本运算命令 (2013-07-19 08:45:49) 1.1 矩阵的表示 1.2 矩阵运算 1.2.14 特殊运算 1.矩阵对角线元素的抽取 函数 diag 格式 X = d ...

  9. MATLAB中实现图像的空间域滤波和频率域滤波

    1. 空间域滤波 空间域滤波是指在图像空间中借助模板对图像领域进行操作,处理图像每一个像素值.主要分为线性滤波和非线性滤波两类,根据功能可分为平滑滤波器和锐化滤波器.平滑可通过低通来实现,平滑的目的有 ...

  10. 2021-05-11雨流计数法的matlab代码实现,三点法四点法修正版

    "我是置顶":本文仅供参考,禁止大作业抄袭!!! 这个代码还可以完善,还可以实现比如记录半循环之类的功能,加油! 2020年10月份左右因为课程原因接触了一下雨流计数法,该方法用于 ...

最新文章

  1. 运行从别处复制过来的linux可执行程序
  2. 分享一些面试中的经验和心得
  3. git版本回退:error: Your local changes to the following files would be overwritten by merge
  4. SIGIR2021推荐系统论文集锦(附论文原文及代码链接)
  5. 数十名工程师作战 5 天,阿里达摩院连夜研发智能疫情机器人
  6. PAT 乙级 1031. 查验身份证(15) Java版
  7. mybatis3.2.2的一些测试
  8. 原生js获取execl里面的值 主要使用ActiveXObject
  9. (pytorch)yolov3训练自己的模型
  10. android studio 汉化包 美化包
  11. 2021年中国粮食行业发展现状分析,粮食播种面积、产量再度迎来上涨「图」
  12. html5 拖拽 编辑 插件,超给力 Vue.js 可视化H5拖拽编辑器Quark-H5
  13. Flink 学习笔记(源码篇)<一> ——Transformation
  14. 精美UI静态界面欣赏
  15. 企企通SRM:由“制造”到“智造”,高科技电子行业如何打造智慧供应链?
  16. 微信聊天记录删除后如何恢复?原来只要这样就可以了
  17. 重启电脑数据丢失怎么恢复?这篇指南很受用!
  18. 去看看《自动化学报》等等这种期刊,这样看可能有感觉些,比你单纯在知网零散搜可能要好些。
  19. 怎么减少if()---else操作,优化代码
  20. 洛谷 5061 秘密任务——二分图染色

热门文章

  1. tc的linux命令详解,linux tc命令详解
  2. Mysql——DQL(查询语句语法、格式、举例)以及全部数据库源码,复制就可实现全部功能
  3. NShape(开源矢量图形编辑器) 基本功能开发(一)
  4. tags与categories
  5. 反垃圾邮件黑名单申诉工作相关步骤说明
  6. Starbound正式版的Mod制作(三)简…
  7. robots.txt存放的位置robots.txt文件的作用及写法 (搜索引擎)
  8. 第3关:球的表面积和体积
  9. 宁波实训day1: java web开发常用工具安装
  10. 送你一个目录,一站式学习生信!众多干货,有趣有料!