typicallity 2023-04-03 09:28 采纳率: 0%
浏览 13

matlab中无法进入循环

改循环无法计画出每一个rows的modwt分解图

rows = 1;
while rows<=J+1
    wi = w(rows,:);
    subplot(J+1,1,rows);
    plot(t,wi);
    rows = rows+1;
end

  • 写回答

1条回答 默认 最新

  • 瞬间的未来式 2023-04-03 09:47
    关注

    chatgpt:不喜勿喷
    您的代码中,循环迭代了变量 rows,并且在每次迭代中提取了一个名为 wi 的行向量。接下来,在每次迭代中,您都调用了 subplot 函数来在当前图形窗口中创建一个子图,并在该子图中使用 plot 函数来绘制 wi。根据您提供的代码,似乎您的问题是无法计算每个 wi 的 modwt 分解图。

    要计算每个 wi 的 modwt 分解图,您可以使用以下代码来替换您的循环:

    % 设置 modwt 参数
    wname = 'db4';
    J = 4;
    dwtmode('per');
    
    for rows = 1:J+1
        % 获取当前行的数据
        wi = w(rows, :);
    
        % 计算 modwt 分解
        [W, frequencies] = modwt(wi, J, wname);
    
        % 在子图中绘制分解图
        subplot(J+1, 1, rows);
        plot(t, wi);
        hold on;
        for j = 1:J
            plot(t, W(j, :), 'LineWidth', 1.5);
        end
        hold off;
        title(['MODWT of w_' num2str(rows-1)]);
        xlabel('Time');
        ylabel('Amplitude');
    end
    

    这个代码中,我们首先设置了 modwt 分解所需的参数。然后,我们使用 for 循环迭代 rows 变量,并在每次迭代中获取当前行的数据。接下来,我们使用 modwt 函数来计算当前行的 modwt 分解,并获取分解系数和频率向量。最后,我们在子图中绘制当前行的原始数据和 modwt 分解图,并设置标题、标签和图例。

    评论

报告相同问题?

问题事件

  • 创建了问题 4月3日

悬赏问题

  • ¥30 微信小程序蓝牙数据透传
  • ¥15 加氢站氢负荷数据集来源
  • ¥15 umi接入sentry遇到问题
  • ¥15 HBuilderX打包H5网页,扫码模块无法使用
  • ¥15 Javascript跳转页面后,无法执行后面代码,如何解决?
  • ¥15 echarts绘制图表
  • ¥15 请教两个关于高德地图定位不准的技术问题
  • ¥15 根据企业名称 对照两个文件 样本筛选/匹配
  • ¥15 Linux环境下CA证书更新问题
  • ¥15 sqlserver语句提取结果以外数据