前言:MATLAB和我们平时学的C语言相类似,大体也是由于三部分组成的。任何的复杂的程序由顺序结构,选择结构,循环结构组成的。

一、顺序结构

1.数据的输入:

input 用法:A=input(字符串)-->>影响程序流畅性

Importdata:A=Importdata('地址')

xlsread:适用于纯数值型数据 A=xlsread('地址');

readtable:重点使用 A=readtable('文件地址') 表头中文会乱码 我们可以重新起名

A=readtable

textscan:文本格式的数据 flied=fopen('地址');

2.数据的输出

fprintf('%10d',a)

disp(111)

与之对应把read-->>write 功能相反

二、循环结构

1.for结构

n=100;
Sn=0;
for k=1:nSn=Sn+(-1)^(k-1)/k;k=k+1;
end
Sn
与C语言相比 for缺少了条件 并且 MATLAB表示的是1到100的值与C语言相差很多 并且结束是end

2.while结构

while 条件内容
end

三、选择结构

1.if结构

if(条件)内容
end

2.两分支结构

if(条件)内容else内容
end

3.多分支结构

if(条件)elseif(条件)内容elseif(条件)内容..........else内容
end

4.switch结构

switch 条件case 条件内容case 条件内容case 条件内容case 条件内容........otherwise内容
end

MATLAB 向量化编程

1.矩阵或者向量

2.利用自带函数

3.不用循环和选择

4.点乘和点÷    .*  ./


三种自定义函数的方式

1.三个要点.参数 返回值 函数主体

2.使用方法.

返回值列表=函数名(参数)

3.m函数

function result=funName(parameters)
....
end
funName:必需的
result:可有可无
parameters:可有可无

实例

function [ mv ] = wq2( x )
%mean 表示求方差
mv=mean(x);
end

调用

>> wq2(1:10)
ans =5.5000

4.函数+脚本

脚本中的函数必须在脚本的末尾

5.两个函数(第一个主函数,第二个子函数,一般主函数一个,子函数多个)---->>求解

6.多个m文件---->>类似

7.匿名函数

funName=@(x) 函数主体

8.公式的转换 MATLAB2016 好像不可以

9.函数的嵌套

function mainfunx=5nextfun1function nextfun1x=x+1;enddisp(x)end

数据的预处理

一、数据的标准化、正则化

1.数据标准化是样本的属性缩放到指定的范围

2.原因

  • 某些算法需要零方差和单位方差
  • 消除样本不同属性具有不同量级时的影响

3.常用标准化方法

  • min-max标准化(归一化)------>>>>>>
  • z-score标准化(规范化)适用于最大值最小值未知的情况--->>
  • 尺度变换 ------>>>>
  • 中心化------->>>

4.MATLAB自带函数

normalize()自带标准化命令---MATLAB2020

二、数据分组

1.将数据划给到指定区间:discretize 左闭右开

2.对时间数据进行分类

三、缺失值处理

1.判断数据是否缺失

ismissing:推荐使用

isnan:判断是否NaN

isempty:判断数组是否为空

实例

A = [3 NaN 5 6 7 NaN NaN 9];
%缺失值表示1 其他表示零
TF = ismissing(A)
TF = 1x8 logical array0   1   0   0   0   1   1   0
%创建一个表,其中 'NA'、''-99、NaN 和 Inf 表示缺失值。然后,找出具有缺失值的元素。
dblVar = [NaN;3;Inf;7;9];
int8Var = int8([1;3;5;7;-99]);
cellstrVar = {'one';'three';'';'NA';'nine'};
charVar = ['A';'C';'E';' ';'I'];
A = table(dblVar,int8Var,cellstrVar,charVar)
id = {'NA' '' -99 NaN Inf};
TF = ismissing(A,id)
TF = 5x4 logical array1   0   0   00   0   0   01   0   1   00   0   1   10   1   0   0

2.利用fillmisssing函数进行缺失值处理

方法   说明
'previous'    上一个非缺失值
'next'    下一个非缺失值
'nearest' 距离最近的非缺失值
'linear'  相邻非缺失值的线性插值(仅限数值、duration 和 datetime 数据类型)重点
'spline'  分段三次样条插值(仅限数值、duration 和 datetime 数据类型) 重点
'pchip'   保形分段三次样条插值(仅限数值、duration 和 datetime 数据类型) 重点
'makima'  修正 Akima 三次 Hermite 插值(仅限数值、duration 和 datetime 数据类型)

部分例子

 x=1:10x([3,6,7])=NaN%均值xmean=mean(x(~isnan(x)))x_fill0=fillmissing(x,'constant',xmean)%前一个位置填充x_fill1=fillmissing(x,'previous')x_fill2=fillmissing(x,'next')

通过七种组合----->>>分析 缺失值

%组合填充
mean([x,y,z,......])

另外 滑动法

F = fillmissing(A,movmethod,window) 使用窗口长度为 window的移动窗口均值或中位数填充缺失条目。
例如,fillmissing(A,'movmean',5) 使用窗口长度为 5 的移动均值填充缺失数据。

另外一种

x = [-4*pi:0.1:0, 0.1:0.2:4*pi];
A = sin(x);
将 NaN 值插入 A 中。A(A < 0.75 & A > 0.5) = NaN;
使用线性插值填充缺失数据,并返回填充的向量 F 和逻辑向量 TF。TF 项中的值 1 (true) 对应于 F 中的填充值。[F,TF] = fillmissing(A,'linear','SamplePoints',x);
绘制原始数据和填充的数据。plot(x,A,'.', x(TF),F(TF),'o')
xlabel('x');
ylabel('sin(x)')
legend('Original Data','Filled Missing Data')

四、离群值处理


MATLAB数据可视化

一、步骤

1.准备作图数据(必须)

 load命令(Excel)

2.选定作图窗口与作图区域

figure与subplot

3.调入作图命令(必须)plot

4.设置图片格式 线性颜色等等

5.输出图形 保存.fig文件


二维曲线的绘制

1.plot(y)

2.plot(x,y)

3.plot(x1,y1,x2,y2......) 绘制多个二维曲线


一、线形图格设置

1.设置曲线的线性、颜色、和数据点标记

2.plot(x,y,'选项')

二、设置坐标轴

三、网格线和坐标边框

网格线:grid on

linewidth 2; MarketSize:


一、图形修饰

1.标签和标题

title('')

xlabel(’‘)

ylabel('')

zlabel('')

2.文本标识

3.设置图例

legend();顺序

顺序前后对应
legend(___,'Location',lcn) 设置图例位置。例如,'Location','northeast'
将在坐标区的右上角放置图例。请在其他输入参数之后指定位置

ginput

[x,y] = ginput(n) 可用于标识 n 个点的坐标。要选择一个点,
请将光标移至所需位置,然后按下鼠标按键或键盘上的键。
在选中全部 n 个点之前,按 Return 键可停止选择。
MATLAB® 返回所选点的坐标。如果没有当前坐标区,
调用 ginput 会创建一个笛卡尔坐标区

例子

[x,y] = ginput(4)

二、图形保持

hold on 图形保持
hold off 关闭图形保持
grid on 网格线

三、多个图形的绘制

subplot
subplot(m,n,p) 将当前图窗划分为 m×n 网格,并在 p 指定的位置创建坐标区。
MATLAB® 按行号对子图位置进行编号。第一个子图是第一行的第一列,
第二个子图是第一行的第二列,
依此类推。如果指定的位置已存在坐标区,则此命令会将该坐标区设为当前坐标区
例子
subplot(2,1,1);
x = linspace(0,10);
y1 = sin(x);
plot(x,y1)subplot(2,1,2);
y2 = sin(5*x);
plot(x,y2)

四、绘制填充图片

fill

set

matlab与latex结合

属性编辑器 画图 点图形鼠标 双击图片

第一种导入方法 然后黏贴

第二种

 导出.png格式

阴影填充

patch也可以


二维特殊图形的绘制

一、柱状图

指令:bar、barh、bar3、bar3h.

数学建模——MATLAB基础知识相关推荐

  1. 数学建模 MATLAB基础

    %% Matlab基本的小常识 % (1)在每一行的语句后面加上分号(一定要是英文的哦;中文的长这个样子:)表示不显示运行结果 a = 3; a = 5 % (2)多行注释:选中要注释的若干语句,快捷 ...

  2. 数学建模竞赛基础知识

    国际大学生数学建模 = 世界大学生数学建模 = 美国大学生数学建模竞赛,一个比赛多个称呼而已,美赛是一项面向高中生.大学本科层次的一个国际性比赛. 美赛可分为两种: The Mathematical ...

  3. matlab中exp(liangx),Matlab基础知识

    <Matlab基础知识>由会员分享,可在线阅读,更多相关<Matlab基础知识(122页珍藏版)>请在人人文库网上搜索. 1.Lxy, China Jiliang Univer ...

  4. 视频教程-MATLAB数学建模-Matlab

    MATLAB数学建模 图像和算法等领域有多年研究和项目经验:指导发表科技核心期刊经验丰富:多次指导数学建模爱好者参赛. 宋星星 ¥12.00 立即订阅 扫码下载「CSDN程序员学院APP」,1000+ ...

  5. 数学建模-MATLAB算法精讲系列文章目录介绍(持续补充ing)

    前言 结合实际案例,从算法背景开始一步步到最终代码实现,本系列文章主要以matlab代码为主,为照顾学习其他编程语言的小伙伴,大部分算法会附带python.Java.C++.R语言等市面上主流代码,满 ...

  6. MATLAB学习笔记之matlab基础知识

    MATLAB基础知识 MATLAB系统环境 MATLAB操作界面组成 MATLAB主窗口 命令行窗口 当前文件夹窗口 工作区窗口 MATLAB的搜索路径 MATLAB数值数据 数值数据类型的分类 整型 ...

  7. MATLAB学习笔记2:MATLAB基础知识(下)

    阅读前请注意: 1. 该学习笔记是华中师范大学HelloWorld程序设计协会2021年寒假MATLAB培训的学习记录,是基于培训课堂内容的总结归纳.拓展阅读.博客内容由 @K2SO4钾 撰写.编辑, ...

  8. 专题一matlab基础知识

    这是matlab最基础的语法解释部分,后面将会陆续的更新有关matlab的学习知识 专题一matlab基础知识 数值数据类型的分类 整型 无符号整数:无符号8位整数.无符号16位整数.无符号32位整数 ...

  9. dna序列分类数学建模matlab,MATLAB软件课程设计---MATLAB实现DNA序列的分类识别

    MATLAB软件课程设计---MATLAB实现DNA序列的分类识别 装 订 线 装 订 线 数学软件实践 课程设计报告 题 目MATLAB 实现 DNA 序列的分类识别 学 号 姓 名 教 师 日 期 ...

最新文章

  1. 深入讲解配置Cisco路由器日志中的速率限制问题(三)
  2. JavaScript 技术篇-textContent获取dom节点text文本内容带空格,js获取带空格的dom节点内容
  3. 文巾解题 477. 汉明距离总和
  4. ICCV 2019《Zero-Shot Grounding of Objects from Natural Language Queries》论文笔记
  5. JavaScript中使Promise模式进行异步编程
  6. 【PAT - 甲级1021】Deepest Root (25分)(并查集,暴力枚举)
  7. SAS之COMPBL、DEQUOTE函数
  8. android 磁盘日志记录,GitHub - xflyandroid/XLog: 一个简易的日志打印框架(支持打印策略自定义,默认提供2种策略:logcat打印和磁盘打印)...
  9. 01.使用File类读写文件
  10. Atitit learn by need 需要的时候学与预先学习知识图谱路线图
  11. 前端技术—CSS常用代码大全
  12. matlab线性规划系列之基础解题
  13. [Paper Reading] Preference-Adaptive Meta-Learning for Cold-Start Recommendation
  14. virt a mate(vam)版本1.20.77.9介绍和下载
  15. 算法39-快速求次幂运算
  16. cesium模型纹理替换
  17. 软件实训之深刻理解原型图设计的核心
  18. 转区系统开放艾欧尼亚转入服务器,【英雄联盟】转区系统开放艾欧尼亚转入服务...
  19. python 学习笔记第一篇---下载网页内所有图片
  20. 如何修改google chrome浏览器的主页

热门文章

  1. 啊哈 , 算法 !--深度优先搜索( C语言版 )
  2. 更完善的 Docker + Traefik 使用方案
  3. ps人物素描及黑白上色
  4. 国际禁毒日 | 和TcaplusDB一起向毒品say NO!
  5. js破解 X笔网登录
  6. 在计算机网络的s,在计算机网络中传输二进制信息时,经常使用的速率单位有“kb/s”、“Mb/s”等。其中,1Mb/s=1000kb/s...
  7. 南威尔士计算机科学,新南威尔士大学计算机科学专业
  8. Inferior 1 (process xxx) exited with code 0177
  9. 《设计模式之禅》书评
  10. Gamma.app:由AI驱动,一种呈现想法的新媒介