现在你可以查看Spinach仿真的完整输入输出:
| 功能 | 说明 | 命令 |
|---|---|---|
| 📋 列出所有示例 | 查看36个类别,623个脚本 | list |
| 执行真实的Spinach示例 | run <类别名> |
|
| 🔍 查看参数 | 显示输入的系统参数 | 自动显示 |
| 📊 查看工作区 | 显示MATLAB工作区变量 | workspace |
| 💉 获取变量 | 详细查看变量内容 | get <变量名> |
| 📈 绘制结果 | 自动绘制NMR谱图 | plot <变量名> |
| 💻 执行MATLAB | 运行自定义MATLAB代码 | eval <代码> |
conda activate matlab
cd /home/tony/Spinach-2.10.1
python run_spinach_with_io.py然后使用交互式命令:
Spinach>> list # 列出所有示例
Spinach>> run fundamentals # 运行基础教程
Spinach>> workspace # 查看工作区变量
Spinach>> get sys # 查看sys变量
Spinach>> plot output # 绘制输出结果
Spinach>> quit # 退出Spinach>> run nmr_liquids输出显示:
- ✅ 示例路径和类型
- ✅ 可用的脚本列表
- ✅ 脚本内容预览(前50行)
- ✅ 执行进度和时间
- ✅ 工作区变量状态
Spinach>> eval sys = struct();
Spinach>> eval sys.magnet = 9.4;
Spinach>> eval sys.isotopes = {'1H', '13C'};
Spinach>> eval sys输出显示:
- ✅ 执行的代码
- ✅ MATLAB返回结果
- ✅ 执行时间
Spinach>> run nmr_liquids
Spinach>> workspace # 查看所有变量
Spinach>> get spin_system # 详细查看变量
Spinach>> plot spectrum # 绘制谱图输出显示:
- ✅ 变量类型和大小
- ✅ 数值范围统计
- ✅ 谱图自动保存为PNG
▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶
输入参数
▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶
系统配置:
----------------------------------------------------------------------
magnet = 9.4
isotopes = [1H, 13C]
frames = [lab]
----------------------------------------------------------------------
▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶
执行: 创建自旋系统
▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶
执行代码:
----------------------------------------------------------------------
sys = struct();
sys.magnet = 9.4;
sys.isotopes = {'1H', '13C'};
----------------------------------------------------------------------
输出:
sys = struct
✓ 执行完成 (耗时: 0.15秒)
▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶
输出: 变量 spectrum
▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶
变量信息:
名称: spectrum
类型: double
形状: (1024,)
大小: 1024
数据统计:
最小值: -0.000234
最大值: 1.000000
平均值: 0.123456
标准差: 0.234567
✓ 谱图已保存: spectrum_1234567890.png
运行后会生成以下文件:
| 文件 | 说明 |
|---|---|
spectrum_*.png |
NMR谱图 |
*_plot.png |
其他数据图 |
spinach_log_*.txt |
仿真日志(如果使用visualizer) |
创建脚本文件 batch_examples.txt:
run fundamentals
workspace
quit
run nmr_liquids
workspace
quit
然后运行:
python run_spinach_with_io.py < batch_examples.txt使用 spinach_interactive_demo.py 会自动记录所有操作到日志文件:
python spinach_interactive_demo.py日志包含:
- 所有执行的代码
- MATLAB返回结果
- 执行时间戳
- 错误信息
from run_spinach_with_io import SpinachRunner
runner = SpinachRunner()
runner.start()
# 运行仿真
runner.run_example('nmr_liquids')
# 获取并绘制特定变量
data = runner.get_variable('spectrum')
if data is not None:
runner.plot_data(data, 'My_Spectrum')
runner.interactive_shell()
runner.cleanup()Spinach>> run fundamentals
Spinach>> workspace
Spinach>> get sysSpinach>> run nmr_liquids
Spinach>> workspace
Spinach>> plot outputSpinach>> run nmr_solids
Spinach>> workspace
Spinach>> get spectrumSpinach>> run relaxation_theory
Spinach>> eval your_custom_code- 使用Tab补全: 在交互模式中,输入命令前几个字母后按Tab
- 历史命令: 使用上下箭头浏览历史命令
- 批量操作: 将命令保存到文件中,然后重定向输入
- 调试模式: 使用
eval逐步检查每个步骤 - 变量探索: 使用
get查看变量,然后plot可视化
Spinach>> workspaceSpinach>> plot <变量名>Spinach>> eval run('/path/to/your/script.m')所有图形自动保存为PNG,日志自动保存为TXT
Spinach>> eval clear all # 清除工作区
Spinach>> eval close all # 关闭所有图形conda activate matlab
cd /home/tony/Spinach-2.10.1
python run_spinach_with_io.py享受完整的NMR仿真体验! 🧪✨