今天我终于没有再当鸽子了.

如何提取运算中的数值信息

这里主要是介绍矩阵存储数据的思想.
先假设一个情形:
我在分析模拟电网波动时,想了解究竟有多少次电频率超过我设置的舒适值,那么我该如何统计超过的次数呢?
首先先放上我对电网频率的模拟代码(使用了自回归模型,随机模型使用的是常用的高斯函数)
(一些参数的设置是通过参考文献算出来的)
参数设置声明:
x的值是横坐标
a的值是电网频率
C用来储存a的值的矩阵

clc;clear all;
x=1:1000;
C=[50];a=50;
for i=1:999
%注意之所以只执行999次是因为在plot中x的量要与C的量相同,而x有1000个,C中原本就有一个
a=6.698+0.866*a+normrnd(0,0.1);
C=[C,a];
end
plot(x,C,'color','k')
hold on;
line([0,1001],[49.9,49.9],'color','R','linestyle','--');
line([0,1001],[50.1,50.1],'color','R','linestyle','--');
xlim([0,1001]);
ylim([49,51]);
xlabel('Sigma=0.1')

效果图

开头的clc是用来清空运行栏的,clear all是用来清空参数的.
(我将能让用户感到频率波动的前提条件设置为波动在49.9-50.1外)
那么我们该如何提取这些不在范围内的值的出现次数呢?
在前文我们提到了变量的可自我迭代性,我们就用一个变量来做文章就行了.
不多bb,直接开始改进.

clc;clear all;
I=0;
x=1:1000;
C=[50];a=50;
for i=1:999a=6.698+0.866*a+normrnd(0,0.1);C=[C,a];if abs(a-50) > 0.1I = I + 1endend
plot(x,C,'color','k')
hold on;
line([0,1001],[49.9,49.9],'color','R','linestyle','--');
line([0,1001],[50.1,50.1],'color','R','linestyle','--');
xlim([0,1001]);
ylim([49,51]);
xlabel('Sigma=0.1')

为了计数,我们设置了变量I,利用I的自我累加来达到计数的目的.
另外,if里面是可以嵌套if的,但是这样的话一旦嵌套多了,就会出现运行效率低下的问题,当然,初学者不需要考虑这个问题.
那么你学会了吗?
这是最基础的数据统计问题,那么,如果我们想要知道究竟是哪几次数据出现了偏离,我们该怎么办?
这时,我们就可以构造一个矩阵来储存这些数据了.
直接给出代码.

clc;clear all;
I=[];
x=1:1000;
C=[50];a=50;
for i=1:999a=6.698+0.866*a+normrnd(0,0.1);C=[C,a];if abs(a-50) > 0.1I = [I,i]endend
plot(x,C,'color','k')
hold on;
line([0,1001],[49.9,49.9],'color','R','linestyle','--');
line([0,1001],[50.1,50.1],'color','R','linestyle','--');
xlim([0,1001]);
ylim([49,51]);
xlabel('Sigma=0.1')

这次我们的I变成了一个矩阵,用来储存数据.
通过if的逻辑判断,我们成功将所有的偏离数据收集起来了.
这也是一道基础问题.
那么,我想了解下每次偏离的时候会连续出现多久,是否可以统计出来呢?
当然可以.
这就需要我们对I的矩阵元素进行判别(连续与非连续)
那么我就用最简单易懂的逻辑为你概述下我们该如何判断
(可以当练手题目试着做做)
附上我的长的过分if都到爆炸的代码

clc;clear all;
C=[ ];a=50;
for i=1:1000a=6.698+0.866*a+normrnd(0,0.1);if abs(a-50) >0.1C=[C,i]end
end
c=numel(C)
a=0;Q=0;W=0;E=0;R=0;T=0;
for i=2:cif C(i) - C(i-1) == 1a = a + 1elseif a==0Q=Q+1endif a==1W=W+1endif a==2E=E+1endif a==3R=R+1endif a>=4T=T+1enda=0end
end

几点改变:
1.此处的C储存的值不再是a的值,而是改为储存了i的值,因为我们要算的不是数据的离散程度,而是要储存偏离数据出现时对应的时间段.
2.numel函数是用来计算C的元素个数的,避免出现因为超出C的元素而出现的报错
3.这里设置了几个值用来分别储存连续偏离的时间,一步到位.
4.至于QWERT这五个变量,随便改,开心就好

那么,课后作业来了:
请问我想评估一下用户的满意程度,我该如何评估比较好,并自己写出代码,说服自己.

本题目的背景来源于IMMC冬季赛2019

明天将给出我自己的处理方法喽.

今天就这样吧,我顺便今天把latex语言欠更n个月的文章更新掉算了.

Matlab基础编程知识处理(2)(数学建模中模型的模拟与数据提取,本篇全干货)相关推荐

  1. matlab在数学中的应用论文,探究数学建模中MATLAB的运用

    随着科学技术的高速发展,自然科学的各个领域都需要在调查研究的基础上建立数学模型,并通过计算解决实际问题.数学建模在合理假设的基础上将实际问题简单化.抽象化,用数学知识解决问题并接受实践的检验.在这一过 ...

  2. 地面搜索matlab算法,数学建模中的地面搜索问题

    tRs)时小( 第30卷第8期湖南科技学院学报 Vbl_30NO.82009年8月 JournalofHunanUniversityofScienceandEngineering Aug.2009 数 ...

  3. MATLAB在数学建模中的应用

    MATLAB在数学建模中的应用 一.预备知识 1.1.关于MATLAB软件 由于科学技术及计算机的飞速发展,各类数学软件不断涌现,这使在解决各类复杂的问题变得非常简单.常用的数学软件有Mathemat ...

  4. 卓金武《MATLAB在数学建模中的应用》 第2版

    内容介绍 本书的作者都具有实际的数学建模参赛经历和竞赛指导经验.书中内容完全是根据数学建模竞赛的需要而编排的,涵盖了绝大部分数学建模问题的matlab求解方法.本书内容分上下两篇.上篇介绍数学建模中常 ...

  5. matlab数学建模可应用到第几章,《MATLAB在数学建模中的应用(第2版)》

    <MATLAB在数学建模中的应用(第2版)> 卓金武 (编者)) 基本信息 •出版社: 北京航空航天大学出版社; 第2版 (2014年9月1日) •丛书名: MATLAB开发实例系列图书 ...

  6. 数学建模中matlab程序,数学建模中常用的30个MATLAB程序和函数

    <数学建模中常用的30个MATLAB程序和函数>由会员分享,可在线阅读,更多相关<数学建模中常用的30个MATLAB程序和函数(15页珍藏版)>请在人人文库网上搜索. 1.内部 ...

  7. matlab设计程序解决实际问题,MATLAB程序设计在数学建模中的应用

    21 电子技术研发 Electronics R & D 10.3969/j.issn.1000-0755.2013.09.008 0 前言 数学在其发展早期主要是作为一种实用技术,用于处理人类 ...

  8. 数学建模中如何用 matlab画漂亮的图(一)

    数学建模中如何用 matlab画漂亮的图(二维图形) 1 plot绘图命令*** 1.1 plot(x) 当x为实向量时,plot(x)绘制出的曲线,横坐标为该向量的下表,纵坐标为每一个下表位置所对应 ...

  9. 适合利用计算机模拟的是,计算机模拟在数学建模中的应用

    计算机模拟在数学建模中的应用 计算机模拟是按时间来划分的,因为计算机模拟实质上是系统随时间变化而变化的动态写照,以下是小编搜集整理的一篇探究计算机模拟在数学建模应用的论文范文,供大家阅读参考. [摘要 ...

最新文章

  1. ubuntu su进入root权限
  2. Tomcat7.0安装配置
  3. SNMP功能开发简介 四 net-snmp动态监听自定义端口
  4. Python入门100题 | 第029题
  5. 2019 年 8 月编程语言排行榜,Java涨幅不行!
  6. java网站开发模式有哪些_第7章JavaWeb常用开发模式.ppt
  7. ArrayList概述
  8. array_filter移除空数组
  9. 简单快捷 Lambda数组打印
  10. java 串行化_Java中的串行化
  11. C语言: 编写程序,输出所有的水仙花数
  12. 2023 年 IEEE Fellow 名单公布!唐立新、姬水旺、宗成庆、朱军、宋厚冰等入选
  13. Excel批量替换成强制換行
  14. Uncaught ReferenceError: Cannot access ‘f1‘ before initialization
  15. Python中可视化工具包Matplotlib和Visdom介绍
  16. 程序思路分享 计算机毕业设计Python+Spark+Hadoop+Flink微博舆情预警系统 微博舆情可视化 舆情大数据 微博大数据 微博爬虫 大数据毕业设计 大数据毕设
  17. 【七七八八】疫情期间谈谈我的转变
  18. 觅伊APP产品体验测评:打造真人社交,得女性者得市场
  19. 小程序动端组件库Vant Weapp教程
  20. Github的Issues用法

热门文章

  1. 直播技术——Rtmp协议
  2. 《肥鸟笔记--基础数据结构》一、栈
  3. urllib库(二)parse模块:urlparse()/urlsplit(),parse_qs()/parse_qsl(),urlunparse()/urlunsplit(),urlencode()
  4. 文本导出的方方面面—工资好助手
  5. 详解CSS3中新增的内容属性:content
  6. NGS 数据过滤之 Trimmomatic
  7. 最新交易猫源码 带教程
  8. Android 设备上使得google play store 应用市场中不能搜索到Netflix应用
  9. 对于nth-child()的理解
  10. 计算机运维技术指标,电子运维系统结构分析及系统性能指标 - 全文