MATLAB-绘图系列(第一期)

前言:

哈喽,大家好!今天就给大家讲解一下MATLAB绘图系列的代码,后续将会一直持续更新!

系列-1(等位线图)

MATLAB_代码
Matlab 复制代码
%%等位线图
clear;
clc;
x=linspace(-2,2,21);
y=linspace(-3,3,31);
z=linspace(-4,4,41);
[x,y,z]=meshgrid(x,y,z);
v=sin(x.^2+y.^2+z.^2);
xs=0;
ys=0;
zs=0;
contourslice(x,y,z,v,xs,ys,zs);
colormap("summer");
colorbar('location','eastoutside');
name='v=sin(x^2+y^2+z^2)';
xlabel=('x');
ylabel=('y');
zlabel=('z');
title('等位线图');
view(3);
MATLAB_图片

系列-2(带状图)

MATLAB_代码
Matlab 复制代码
%%带状图
clear;
clc;
x=linspace(-3,3,20);
y=linspace(-4,4,40);
[x,y]=meshgrid(x,y);
z=exp(-x.^2 -y.^2);
z=15*x.*z;
ribbon(y,z,0.5)

xlabel('x');
ylabel('y');
zlabel('z');
title('带状图');
legend();
colormap(flipud(summer));
colorbar;
MATLAB_图片

系列-3(VMD_信号序列分解)

MATLAB_代码
Matlab 复制代码
%%VMD信号序列分解
%生成示例信号
t=linspace(0,1,1000);
signal=cos(2*pi*10*t)+sin(2*pi*20*t)+0.5*randn("single");

%调用VMD函数
alpha=2000;
tau=0.01;
maxIter=500;
[imfs,residual]=vmd(signal,alpha,tau,maxIter);

%绘制原始信号、模态函数和残差
figure;
subplot(3,1,1);
plot(t,signal);
title('Original Signal');

subplot(3,1,2);
plot(t,residual);
title('Residual');

function [imfs,residual]=vmd(signal,alpha,tau,maxIter)
    %VMD 参数
    if nargin<4
        maxIter=500; %默认最大迭代次数
    end

    %初始化
    u=signal;
    k=3; %模态数
    
    %主循环
    for iter=1:maxIter
        %求解每个模态
        for k=1:k
            u=u-mean(u); %去除均值
            u_hat=fft(u);
            omega=sqrt((0:(length(u_hat)-1))'/length(u_hat));
            penalty=alpha*(omega/tau).^4; %正则化项
            u_hat=u_hat./(1+penalty);
            u=real(ifft(u_hat));
        end

        %计算残差
        residual=signal-sum(u,2);

        %更新信号
        u=u+residual;
    end

    %最终结果为各个模态和残差
    imfs=u;
    residual=residual';
end
MATLAB_图片

系列-4(三维散点图)

MATLAB_代码
Matlab 复制代码
%%三维散点图
clear;
clc;
t=linspace(0,8*pi,36*8);
x=2*sin(t).*cos(8*t);
y=2*sin(t).*sin(8*t);
z=0.6*t;
subplot(1,2,1)
scatter3(x,y,z,10,'b');
xlabel('x');
ylabel('y');
zlabel('z');
title('三维三点图');
axis equal
subplot(1,2,2)
plot3(x,y,z,'r-')
grid on
xlabel('x');
ylabel('y');
zlabel('z');
title('三维线图')
axis equal
MATLAB_图片
相关推荐
SEVEN-YEARS3 分钟前
深入理解TensorFlow中的形状处理函数
人工智能·python·tensorflow
EterNity_TiMe_8 分钟前
【论文复现】(CLIP)文本也能和图像配对
python·学习·算法·性能优化·数据分析·clip
陌小呆^O^13 分钟前
Cmakelist.txt之win-c-udp-client
c语言·开发语言·udp
机器学习之心19 分钟前
一区北方苍鹰算法优化+创新改进Transformer!NGO-Transformer-LSTM多变量回归预测
算法·lstm·transformer·北方苍鹰算法优化·多变量回归预测·ngo-transformer
Suyuoa19 分钟前
附录2-pytorch yolov5目标检测
python·深度学习·yolo
I_Am_Me_29 分钟前
【JavaEE进阶】 JavaScript
开发语言·javascript·ecmascript
yyt_cdeyyds29 分钟前
FIFO和LRU算法实现操作系统中主存管理
算法
重生之我是数学王子39 分钟前
QT基础 编码问题 定时器 事件 绘图事件 keyPressEvent QT5.12.3环境 C++实现
开发语言·c++·qt
Ai 编码助手41 分钟前
使用php和Xunsearch提升音乐网站的歌曲搜索效果
开发语言·php
学习前端的小z1 小时前
【前端】深入理解 JavaScript 逻辑运算符的优先级与短路求值机制
开发语言·前端·javascript