第三章 MATLAB的使用

目录

一、初识MATLAB

1、MATLAB界面

2、三种基本操作

3、实时脚本文件

二、MATLAB单引号和双引号

1、string变量(字符串变量)

2、char变量(字符变量)

三、矩阵运算

四、线图、条形图、极坐标图、散点图

五、MATLAB三维图和内嵌子图

1、三维曲面图

2、子图

六、 MATLAB导入数据

七、MATLAB处理缺失值和异常值 


一、初识MATLAB

1、MATLAB界面

2、三种基本操作

  • 在命令行输入指令
    • 输入完指令后,敲回车就自动运行
    • 指令是不会存储的
    • clc(清空命令行),clear (清空工作区),按上方向键调用历史命令(很方便)
  • 在脚本文件中编写程序后运行
    • 脚本文件,就是存放代码的文件,尾缀.m
    • 实时脚本文件界面更加方便,把结果实时显示在代码旁边推荐使用
  • 在函数文件中编写程序,然后在脚本文件中调用
    • 函数文件相当于做好一个工具,以后用到的时候直接调用,尾缀也是.m
    • 有固定格式,例如: function [sigma, theta,x,y, final_ res] = Simple(f, a, b, index)

3、实时脚本文件

  • 在同一个界面里,既看到所写代码,也看到输出结果

 
二、MATLAB单引号和双引号

1、string变量(字符串变量)

  • 双引号(英文输入法,且2017a之后的版本)
    • 例如t = "Brave uncle is not afraid to top" 即定义了string变量, 也就是字符串变量
    • 如果字符串本身有双引号,则在双引号位置使用双重双引号
    • 例如,想把这句话定为字符串变量:Brave ""uncle"" is not afraid to top
    • 代码应该写t = "Brave ""uncle"" is not afraid to top"
  • 字符串和数值变量的区别
    • a = 1+1,运行结果是2
    • a = "1 + 1",运行结果是"1 + 1"
  • 字符串添加内容
    • w = t + "forever"
    • 矩阵存储多个元素
    • A = ["a","b","c";"d","e","f"]

2、char变量(字符变量)

  •  单引号(英文输入法)
    • 字符表示的数据并不对应到文本,例如DNA序列字符串和数值变量的区别
    • DNA = 'GCTAGAATCC'
    • 如果字符串本身有单引号,则在单引号位置使用双重单引号 'GCT''A''GAATCC'
    • 选择第四个字符: s = DNA(4),得到的是'A'
  • 添加内容
    • 使用方括号把多个字符数组串联起来
    • DNA2  =  [DNA, ' ZZZZZ' ]
  • 双引号得到的是1个string变量,单引号得到的是多个char变量,一定不要混淆!
     

三、矩阵运算

 

 四、线图、条形图、极坐标图、散点图

五、MATLAB三维图和内嵌子图

1、三维曲面图

  • surf函数可用来做三维曲面图。一般是展示函数z = z(x,y)的图像。
  • 首先需要用 meshgrid 创建好空间上(x,y) 点。 
[X,Y] = meshgrid(-2:0.2:2);                          
%Z = X.^2 + Y.^2
Z = X.*exp(-X.^2-Y.^2);
surf(X,Y,Z);
colormap hsv    % colormap设置颜色,可跟winter、summer等,hsv是一种颜色模型
colorbar        % 显示色阶的颜色栏   

2、子图

使用 subplot 函数可以在同一窗口的不同子区域显示多个绘图 

theta = 0:0.01:2*pi;  
radi = abs(sin(2*theta).*cos(2*theta));  
Height = randn(1000,1);   
Weight = randn(1000,1);

t = 0:pi/10:2*pi;
[X,Y,Z] = cylinder(4*cos(t));

subplot(2,2,1); surf(X.^2); title('1st');
subplot(2,2,2); scatter(Height,Weight) ; title('2nd');
subplot(2,2,3); mesh(Z); title('Z');
subplot(2,2,4); mesh(X,Y,Z); title('X,Y,Z');

 

六、 MATLAB导入数据

最常用的就是导入excel表格数据,主页选项卡-导入数据-选择excel文件

  • 导入的范围
    • 导入数据的范围默认是从第二行开始的,第一行一般是标题行。
    • 如果不想导入所有数据,可以按住ctrl键,选择想导入的内容,例如某行、某列。
    •  “变量名称行”也就是导入之后,matlab里表格最上方会显示变量,一般默认选择原文件第一行。但是只能识别英文,如果是汉字则变成“VerName”。

 

  • 导入类型
    •  “输出类型”决定了导入的数据以什么类型存储。一般选择表。如果选择“数值矩阵”,那么所有字符串都变成NaN,反之亦然。

注意,导入后数据在工作区。关闭matlab后数据消失。如果想保存数据的话,记得保存工作区文件!

  • 处理无法导入的数据
    • 例如设置输出类型为“数值矩阵”,那么表格里的字符串怎么办?
    • 选择替换,则所有字符串都变成NaN
    • 选择排除行,那么某一行只要有字符串,这一行数据都不会被导入
    • 选择排除列,同上

七、MATLAB处理缺失值和异常值 

  • 清理缺失数
  • 实时编辑器,选择任务 > 清理缺失数据
  • 首先,先写一组包含缺失值和异常值的例子
x = 1:100;      % 构造一个数组,元素为1,2,3,……,100
% randn(1,100)意味着生成一个1行100列的矩阵
% 矩阵元素的均值为0,方差 σ^2 = 1,且是正态分布的随机数
data = randn(1,100);
data(20:20:80) = NaN;   % 设置第20,40,60,80个元素为缺失值
% data的值都是在0附近的,设置4个异常值
data(10) = -50;
data(40) = 45;
data(70) = -40;
data(90) = 50
plot(x,data)

 

 

 

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值