matlab 编程 day(1)基础语法,数据的读写,画图

一、基础语法

x = [1 2 ; 3 4]

1.1 读文件

load a.txt

1.2 读矩阵

1.2.1 读第一行

a(1,:)

1.2.2 读第一列

a(;,1)

1.2.3 按列排成一列

a(😃

1.2.4 行列变换

  • 将矩阵A变成m行n列,原来的矩阵和新的矩阵都是按列优先重新排列

reshape(A,m,n)

  • 将矩阵A按行排列成m行n列新的举阵
    b = reshape(A.‘,n,m),注意这里n,m顺序
    c = b.’

1.2.5 取某行或者某列

  • 取某几行
    b = a([1 3]😅

  • 取某几列

b = a(:,[1 3])

1.2.6 过滤数据

1.2.7 矩阵按行取为一列

  • 先转置再取

b = a.’
b(😃

1.3 简单语法

1.3.1 遍历矩阵

[x,y] = size(a)

function [outputArg1] = change(a,b)
%CHANGE 此处显示有关此函数的摘要
%   此处显示详细说明
[x,y] = size(a);
for i = 1:x
    for k = 1:y
        b(i,k) = a(i,k) * 2 -1;
    end
end
outputArg1 = b;
end

1.4 代码格式调整

ctrl + i

1.5 数学常用

mm=minmax(x) %求数据中的最小数和最大数
mu=mean(x),sigma=std(x) %均值和标准差

1.6 矩阵符号

*表示举证运算,.*表示矩阵中元素的运算

1.7 取矩阵行数和列数

n=size(data,2); %求矩阵的列数,即观测时刻的个数

二、代码

2.1 从xls读取数据

  num = xlsread('mytest.xls', 1)

2.2 缺失值填充

fillmissing填充缺失值

三、建模用

3.1 特征值

eig(A)

四、画图

4.1 画图

function [outputArg1,outputArg2] = draw()
data1 = xlsread("./1/ceemdan.xlsx");
data1 = data1(2:10366,2);
disp(size(data1))
data2 = xlsread("./1/iceemdan重构结果.xls");
data2 = data2(2:10366,2);
data3 = xlsread("./1/原始数据.xlsx");
disp(size(data3))
data3 = data3(1:10365);
x = (1:1:10365);
subplot(2,1,1);
plot(x,data1,Color='red',LineStyle='--');
xlabel('数值')
ylabel('y值')
grid on
title('ceemdan和原始数据',Color='red')
hold on
plot(x,data3,Color='blue');
hold off
subplot(2,1,2);
plot(x,data2,Color='red');
hold on
grid on
plot(x,data3,Color='blue');
xlabel('数值')
ylabel('y值')
title('iceemdan和原始数据',Color='red')
hold off

%DRAW 此处显示有关此函数的摘要
%   此处显示详细说明
end
legend([h1,h2,h3],'name1',name2','name3')

在这里插入图片描述

4.1.1 标记

在这里插入图片描述在这里插入图片描述

4.1.2 x轴标记

set(gca,'xtick',[1:1:5]);
set(gca,'xticklabel',{'文献[31]','文献[32]','文献[33]','文献[34]','本文方案'});

4.2 按照srcdata的格式反标准化desdata

  • 注意标准化要保持行数一致
function [middata realdata] = ownmapminmax(srcdata,desdata)
%准备按列标准化
a = srcdata';
[data,rule] = mapminmax(a,0,1);
middata = data';
redata = mapminmax('reverse',desdata,rule);
realdata = redata';

4.3

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值