You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Scilab中绘制竖线以实现完整时钟周期波形

解决Scilab时钟波形竖线连接问题

原代码的问题在于逐段绘制水平电平,未处理电平切换时的竖线连接,且多次调用plot生成独立线条,导致波形断裂。以下是修正后的实现,能生成连贯的时钟波形:

clear;
close;
clc;
clf;

x = [1,0,1,0,0,1,1,1,0]; // 输入的时钟电平序列
t = []; // 存储完整时间点
y = []; // 存储对应电平值

for i = 1:length(x)
    current_level = x(i);
    // 添加当前周期的起始点(连接上一周期的结束)
    t = [t, i-1];
    y = [y, current_level];
    // 添加当前周期中间点(保持电平)
    t = [t, i-0.5];
    y = [y, current_level];
    // 添加当前周期结束点(用于连接下一周期)
    t = [t, i];
    y = [y, current_level];
end

// 一次性绘制完整波形,自动连接所有点(包括竖线)
plot(t, y, "LineWidth", 2);

// 设置坐标轴和样式
a = gca();
a.data_bounds = [0, -0.05; length(x), 1.5];
a.grid = [1, -1];
title('Clock');
xlabel('Time');
ylabel('Level');

关键改动说明

  • 构建完整的t(时间)和y(电平)数组,每个周期包含起始、中间、结束三个点,确保电平切换时的竖线能被自动绘制
  • 仅调用一次plot,生成单条连贯线条,避免多次plot导致的波形断裂
  • 可选添加LineWidth参数让波形更清晰

内容的提问来源于stack exchange,提问作者Osama Mahdi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 11:10:25