下标变量

2024-04-13

有没有什么方法可以强制 Mathematica 独立于无下标变量来处理下标变量?进一步来说。比如说,我有以下定义:

Subscript[b, 1] = {{1, 2}}
Subscript[b, 2] = {{3, 4}}
b = Join[Subscript[b, 1], Subscript[b, 2]]

现在当我使用

Subscript[b, 1] 

Mathematica 会将其替换为

Subscript[{{1, 2}, {3, 4}},1]

当我希望它们是三个独立的值时,因此更改 b 不会影响 Subscript[b, ..]。是否可以?


在回答之前的SO问题时,Mathematica 符号和语法模型 https://stackoverflow.com/questions/5439660/mathematica-notation-and-syntax-mods/5442152#5442152, 德律风根 vf14 https://stackoverflow.com/users/667867/telefunkenvf14提到他是

希望用Notations来强制MMA 将下标变量视为符号

这本质上就是这个问题的意思。

WReach https://stackoverflow.com/users/211232/wreach指出符号包 http://reference.wolfram.com/mathematica/Notation/guide/NotationPackage.html可以很简单地使用Symbolize

Needs["Notation`"];
Symbolize[ParsedBoxWrapper[SubscriptBox["_", "_"]]]

哪里(如丹尼尔的回答)不要太担心Box上面的结构,你可以使用Notation调色板可以更简单地输入这些内容。

检查一切是否按预期工作:

In[3]:= Subscript[a, b]//Head
        a = 1
        Subscript[a, b]

Out[3]= Symbol
Out[4]= 1
Out[5]= Subscript[a, b]

and

In[6]:= Subscript[b, 1] = {{1, 2}}
        Subscript[b, 2] = {{3, 4}}
        b = Join[Subscript[b, 1], Subscript[b, 2]]
Out[6]= {{1, 2}}
Out[7]= {{3, 4}}
Out[8]= {{1, 2}, {3, 4}}

Note: all of the above code has been copied as Input Text http://reference.wolfram.com/mathematica/guide/ClipboardOperations.html, so the typeset SubscriptBoxs have been converted to the input form Subscripts. However, the Symbolize works at the box level, so the tests need to be converted back to their 2d forms. To do this, select the code (or cells) and convert it to standard form http://reference.wolfram.com/mathematica/howto/ChangeTheFormOfInputAndOutput.html by using the Cell menu or the shortcut http://reference.wolfram.com/mathematica/tutorial/KeyboardShortcutListing.html Ctrl-Shift-N. The notebook with all the above code should look like screenshot

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

下标变量 的相关文章

随机推荐

  • 使用 chrome 进行 OfflineAudioContext FFT 分析

    我正在尝试构建一个波形生成器 它获取音频文件幅度值并在 JavaScript 中尽快 比实时更快 将它们显示到画布上 所以我使用 OfflineAudioContext webkitOfflineAudioContext 加载文件并开始分析
  • 如何更改 Linux 内核交换守护进程 (kswapd) 超时?

    我想通过使用闪存 SSD 等快速设备作为交换设备来减少 kswapd 超时以提高性能 您可以更改以下行为kswapd通过2种方式 通过Proc文件系统 From IBM 开发者工作坊 http www ibm com developerwo
  • Cuda Bayer/CFA 去马赛克示例

    我编写了一个 CUDA4 Bayer 去马赛克例程 但它比在 16 核 GTS250 上运行的单线程 CPU 代码慢 块大小是 16 16 图像暗淡是 16 的倍数 但更改此值并不会改善它 我做了什么明显愚蠢的事情吗 calling rou
  • 多个常数到一个矩阵并将它们转换为matlab中的块对角矩阵

    我有a1 a2 a3 它们是常数 我有一个矩阵A 我想做的是得到a1 A a2 A a3 A三个矩阵 然后我想将它们转移到对角块矩阵中 对于三个常数的情况 这很容易 我可以让b1 a1 A b2 a2 A b3 a3 A 然后在matlab
  • WCF 错误 - 已超出传入消息的最大消息大小配额 (65536) [重复]

    这个问题在这里已经有答案了 我的设置 托管在 IIS Express 中的 ASP NET 客户端 控制台应用程序中托管的 WCF 服务 在管理模式下运行 Visual Studio NET 2012 我试图从 WCF 服务返回 2 个 L
  • 如何在div中浮动span?

    我正在尝试学习如何在没有 Bootstrap 帮助的情况下实际使用 CSS 我有以下内容 可以在这里查看 http plnkr co edit FTCft1YOfQ4xy7FKWEHE p preview http plnkr co edi
  • 如何从新的 Lego Mindstorms Robot Inventor 上的自定义 Python 模块导入

    我一直在使用新的乐高 MINDSTORMS 机器人发明家 创建新的 项目 时 该项目似乎包含一个文件 然而 在每个示例代码文件的开头 我们可以看到 Mindstorm 模块已导入 如下所示 from mindstorms import MS
  • 从 Windows 10 bash shell 运行 Tomcat

    我在windows10 bash shell上安装了tomcat服务器 虽然它说 apache 正在运行 它没有在浏览器中打开管理面板 浏览器显示 无法到达连接 以前有人尝试过这个吗 请分享您的意见 谢谢 我假设您指的是 Windows 1
  • 我可以从闪存驱动器运行 Visual Studio 2010 吗?

    在我的工作中 我有一台装有 Windows 7 的新机器 我想保持我的开发技能 因此我想在该机器上加载我的 Visual Studio 2010 副本 但我没有管理员权限 我有一个 16 GB 闪存驱动器 是否可以将其加载到那里并从闪存驱动
  • 改变android中进度条的颜色

    我正在尝试更改水平进度条的颜色 但它没有改变 我做了一些谷歌搜索并浏览了您网站中给出的一些示例 但我没有成功地准确地改变颜色 我用了progressBar setProgressDrawable Drawable d 但它设置整个进度条视图
  • 想用jsp显示文件列表

    我是使用 glassfish 服务器的 netbeans 新手 我的 html 代码如下所示
  • 如何在 PHP 中包含一个类 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有文件index php 我想包含文件class twitter php在里面 我怎样才能做到这一点 希望当我将以下代码放入 index
  • TFS 构建服务器 - CSC:致命错误 CS2008:未指定输入

    当我们构建解决方案或错误引用的特定项目时 我们会在构建服务器上收到上述错误消息 我们可以使用 Visual Studio 也在构建服务器上 毫无问题地构建解决方案 但是在运行 msbuild 时会失败并出现上述错误 有任何想法吗 我找到了解
  • 在多个生命周期中运行 Maven 目标

    我有一个情况 我想在验证阶段和报告阶段运行 cobertura 插件 我有两个配置文件 它们都应该运行 cobertura 插件 但在配置文件 A 中 我只想创建 xml html 输出 但在配置文件 B 中 我将生成包含这些结果的完整站点
  • Selenium C# DefaultWait IgnoreExceptionTypes 不起作用

    我在等待 WebElement 可单击时使用 DefaultWait 尽管 TargetIncationException 是等待期间要忽略的异常列表中的异常之一 但在达到超时期限之前 我仍然有测试因该异常而失败 这不是我所期望的 publ
  • Linux下如何用C实现定时器的回调函数

    我已经在许多论坛上搜索了几天可能的解决方案 但没有运气 我在这里发布我的问题 非常感谢您的回复 主意 使用脚本控制灯光 Linux下C语言 应用场景 我有三盏灯 红 蓝 绿 脚本有控制它们的时间表 例如 从现在起10秒后 亮红灯2秒 从现在
  • 组合框 - 键入选择,然后单击焦点外 - 不会选择键入的项目

    我的组合框有问题 我有一个事件处理程序OnClick它根据选择的项目刷新数据 问题是当这种情况发生时 下拉组合框列出各种选项 在键盘上键入以查找匹配的项目 组合框更改此选择并调用OnClick event 由于此选择 事件 我的屏幕刷新 单
  • 如何使用reactJs根据背景颜色更改字体颜色

    我的容器有动态背景 它将由用户更改 因此我需要根据背景颜色设置文本颜色 例如 我设置容器的黑色背景 然后我需要为文本设置白色 我正在为我的应用程序使用 ReactJs 和材料 UI 库 请建议一些好的路径 请参阅下面的示例代码 import
  • 尝试加载方向变化的新视图

    我正在尝试在 Xcode 中创建一个应用程序 当手机从一个方向旋转到另一个方向时 该应用程序将切换到新视图 这是 switchviewcontroller h 文件代码 import
  • 下标变量

    有没有什么方法可以强制 Mathematica 独立于无下标变量来处理下标变量 进一步来说 比如说 我有以下定义 Subscript b 1 1 2 Subscript b 2 3 4 b Join Subscript b 1 Subscr