MATLAB数据分析

一、数据分析基础

close all;
clear all;
clc;
%% 最大值,最小值,中位值
a=magic(3);
b=[1 4 5;2 8 5;3 6 9];
v=[1 5 8 4 6 9 2 10 5 7];
v1=max(v);%求最大值
a1=max(a);%以列为顺序求每列上的最大值,结果为行向量
a2=max(a,[],2);%以行为顺序求每行上的最大值,结果为列向量
b1=max(a,b);%对应元素的比较
[C,I]=max(v);% I为索引位置,C为该位置上的值
d1=median(v);%以列为顺序求每列上的中位数,结果为行向量
d2=median(b,2);%以行为顺序求每行上的中位数,结果为列向量
%% 排序
v3=sort(v);%默认以升序排列
v4=sort(v,'descend');%以降序排列
b2=sort(b);%默认对列以升序排列
b3=sort(b,2);%对行列以升序排列
[B,index]=sort(v);%index返回的是B中每个元素在原来矩阵中的位置
b4=sortrows(b);%以行为单位排序,常用于字符串
%% 分位数,求和、积和差分 
x=[1 2 5 8 9 7 4 5 6 2 5 4 8 4 5 5 8];
Y=quantile(x,1/4);%1/4分位数
x1=sum(x);%求和
x2=sum(a);%默认以列为序求和
x3=sum(a,2);%以行为序求和
x4=prod(a,2);%以行为序求积
x5=cumsum(a);%默认以列为序求累计和
x6=diff(x);%差分运算
%% 均值和方差
x7=mean(a);%求列上的均值
x8=mean(a,2);%求行上的均值
a3=std(a,1,2);%求行方向上的二型标准差,该值的平方为方差
a4=cov(a);%求协方差
二、多项式及其函数
% 多项式及其函数分析
close all;
clc;
%% 多项式的创建、求根、四则运算
p1=[3 -10 0 5 1000];%创建多项式,缺少的幂系数用0表示
r1=roots(p1);%求多项式的根
a2=[1 5 15 35 69 100 118 110 72];
b1=[0 0 0 0 1 2 4 6 8];
b11=[1 2 4 6 8];
c1=a2+b1;%加法:类似于矩阵相加
d1=conv(a2,b1);%乘法:矩阵的卷积
[e1,r2]=deconv(a2,b11);%除法,被除项首项不能为零
%% 多项式的导数、积分、估值
a2=[1 5 15 35 69 100 118 110 72];
b2=polyder(a2);%导数
b22=polyint(a2);%积分
x2=-1:0.01:1;
g2=[1 0 0];
h2=polyval(g2,x2);%估值运算
plot(x2,h2);
xlabel('x');
title('x^2');
%% 有理多项式
a3=[5 3 -2 7];
b3=[-4 0 8 3];
[r,p,k]=residue(a3,b3);
c3=[5 3 -2 7];
d3=[-4 0 8 3];
[e3,f3]=polyder(a3,b3);
三、数据插值
%% 数据插值
close all;
clear all;
clc;
%% 一维插值
x1=0:0.1:2*pi;%自变量
y1=sin(x1);
x11=0:0.5:2*pi;%插值点向量
y11=interp1(x1,y1,x11,'linear');%线性插值
%plot(x1,y1,x11,y11);
%% 一维傅里叶插值(对数据进行增采样)
x2=0:1.2:10;
y2=sin(x2);
n2=2*length(x2);%增采样一倍
y22=interpft(y2,n2);%一维傅里叶插值
x22=0:0.6:10.4;
plot(x2,y2,'ro');
plot(x22,y22,'b.-');
%% 快速傅里叶变换插值
x3=0:2*pi;
y3=sin(x3);
z3=interpft(y3,15);
x33=linspace(0,2*pi,15);
plot(x3,y3,'-o',x33,z3,':o');
%% 二维插值
[x4,y4]=meshgrid(-3:0.25:3);%产生三维网格数据
z4=peaks(x4,y4);%peaks产生一个凹凸有致的曲面,可以对函数取点
[x44,y44]=meshgrid(-3:0.125:3);%产生更精密的插值点
z44=interp2(x4,y4,z4,x44,y44,'linear');%双线性插值
mesh(x4,y4,z4);%画三维图
hold on;
mesh(x44,y44,z44+15);
hold off;
axis([-3 3 -3 3 -5 20]);
四、函数极限与数值积分
%% 函数极限与数值积分
close all;
clear all;
clc;
%% 函数极限
n1=1:200;
y1=n1./(3*n1+1);
figure;
plot(n1,y1);%显示数列
syms x1;%定义一个符号变量
y11=x1/(3*x1+1);%符号操作
z1=limit(y11,x1,inf);
%% 一维数值积分
f2=@(x2)1./((x2).^3-2*(x2)-5);%@(x)用于定义无名函数
q2=quad(f2,0,2);
%% 多重数值积分
f3=@(x3,y3)(y3)*sin(x3)+3*cos(y3)-1;
xmin=0;
xmax=2*pi;
ymin=0;
ymax=2*pi;
q3=dblquad(f3,xmin,xmax,ymin,ymax,'quadl');%使用quadl方法计算一维积分,dblquad计算二维数值积分

Matlab是一种强大的数据分析工具,常用于数据处理、数据可视化、统计分析等领域。以下是Matlab数据分析的一些常见技巧和方法: 1. 数据导入和导出:Matlab支持多种数据格式的导入和导出,如Excel、CSV、MAT文件、文本文件等。使用内置函数如xlsread、csvread、load等可以快速导入数据,使用内置函数如xlswrite、csvwrite、save等可以将数据导出到不同的格式。 2. 数据预处理:在进行数据分析前,需要进行数据预处理,如数据清洗、缺失值处理、异常值处理、数据转换等。Matlab内置了很多工具箱,如数据统计工具箱、信号处理工具箱等,可以方便地进行数据预处理。 3. 数据可视化:Matlab内置了丰富的数据可视化工具,如plot、scatter、histogram等,可以用于绘制各种图表,如线图、散点图、直方图等。此外,Matlab还支持交互式图表,可以让用户进行数据探索和交互式分析。 4. 数据分析Matlab内置了很多数据分析工具,如统计分析、机器学习、深度学习等。使用内置函数如mean、std、corrcoef等可以进行基本的统计分析,使用工具箱如统计工具箱、机器学习工具箱、深度学习工具箱等可以进行更高级的数据分析。 5. 编程:Matlab还支持编程,可以编写脚本和函数来进行数据分析和处理。使用Matlab编程可以批量处理数据、自定义数据分析算法等。 总之,Matlab是一种非常强大的数据分析工具,可以满足各种数据分析需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

~青萍之末~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值