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

能否在XCOS框图中创建按钮自动打印To Workspace模块生成的曲线?

解决Xcos一键仿真并自动绘图的方案

方法1:利用Xcos内置Script模块实现仿真后自动绘图

Xcos的Script模块可绑定仿真事件,直接在框图内嵌入脚本,实现仿真完成后自动执行绘图逻辑:

  • 在Xcos框图中添加Script模块(路径:Palettes -> Basic Blocks -> Script)
  • 双击模块打开编辑界面,在Execution event下拉菜单选择End of simulation(确保仿真完成后再绘图,避免数据未写入Workspace)
  • 在脚本输入框中粘贴你的绘图代码,示例:
% 假设To Workspace模块输出的时间变量是tout,输出变量是yout
clf(); // 清空之前的绘图
plot(tout, yout, 'LineWidth', 2);
xlabel('时间(s)');
ylabel('输出值');
title('优化后的仿真曲线');
grid on;
  • 保存框图后,直接点击仿真运行按钮,仿真结束后会自动弹出绘制好的曲线

方法2:创建自定义工具栏按钮,一键启动仿真+绘图

如果需要更快捷的一键操作,可在Xcos界面添加自定义按钮,整合仿真启动和绘图逻辑:

  1. 在Scilab控制台运行以下代码(可保存到Scilab启动脚本scilab.start,每次打开Scilab自动加载):
function sim_and_plot()
    % 启动当前Xcos框图的仿真
    xcos_simulate(scs_m, 4); // 4表示"Run"模式,对应仿真启动按钮
    % 执行绘图脚本
    clf();
    plot(tout, yout, 'r-', 'LineWidth', 2);
    xlabel('时间(s)');
    ylabel('输出值');
    title('一键仿真绘图结果');
    grid on;
endfunction

% 向Xcos工具栏添加自定义按钮
xcosAddToolbarButton(..
    'sim_and_plot', .. // 绑定的函数名
    '一键仿真绘图', .. // 按钮提示文本
    'SCI/modules/xcos/images/icons/run.png', .. // 按钮图标(可替换为自定义路径)
    '启动仿真并自动绘制To Workspace输出曲线' .. // 按钮描述
);
  1. 打开你的Xcos框图后,工具栏会出现新的按钮,点击即可完成仿真+绘图的全流程

注意事项

  • 确保To Workspace模块的Variable name设置正确(比如tout和yout),脚本中要对应这些变量名
  • 如果你的绘图逻辑复杂,可以把绘图代码写成单独的Scilab函数,在Script模块或自定义按钮中调用该函数即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 10:45:01