Mathematica 协助:使用 /。将方法替换为 IF[] 条件

2024-01-31

首先我要声明,我是一名 Mathematica 新手,这个问题可能很容易回答,但到目前为止,我在互联网上找不到任何针对这个特定问题的帮助。在这里,我基本上总结了我需要我的代码做什么。使用时出现一些问题/.将命令替换为IF条件语句。基本上,我有一个很长的函数,其中包含另一个由全局定义的函数IF有条件的。这几行代码演示了我遇到的错误......

In[1]:= y[x_, z_] = 2*x + 3*z;

In[2]:= zz[x_, z_] := If[y[x, z] < 0, 4*y[x, z], y[x, z]]

In[3]:= zz[-1, -2]

Out[3]= -32

但是我需要...

In[4]:= zz[x_, z_] /. x -> -1 /. z -> -2

Out[4]= If[3 Pattern[-2, _] + 2 Pattern[-1, _] < 0, 
 4 y[Pattern[-1, _], Pattern[-2, _]], 
 y[Pattern[-1, _], Pattern[-2, _]]]

这不会产生预期的数字项。预先感谢大家的帮助,尽管这个问题听起来很愚蠢。注意:我必须使用替换命令,而不是直接赋值x and z.

附录:

我过于简化了我的例子。举个例子:

In[91]:= a[b_, c_] = -3*b + 2*c + d + e + f;

In[92]:= g[b_, c_] := If[a[b, c] < 0, -3*a[b, c], a[b, c]];

In[10]:= g[2, 4] /. d -> 1 /. e -> 2 /. f -> 3

Out[10]= 2 + d + e + f

但我希望看到结果Out[10]= 8

希望另一个简单的修复。


当你定义一个函数时,你使用x_,它告诉mathematica找到名为的模式x并将定义应用到它上面。所以f[x_]=x^2 says “采用表达式 x 并将其变换为 Power[x,2]".

当您调用函数时,您不再使用模式,而是使用 mathematica 最终替换的变量或值x. So f[a]会给你a^2 if a未定义,或使用定义a并给出相应的结果。

正如霍华德在评论中提到的,如果您只需删除下划线,您就会得到您想要的表达式。

In[1]:= zz[x, z] /. x -> -1 /. z -> -2

Out[1]= -32

EDIT

为了回答您的评论,

If仅在评估条件后评估第二个和第三个参数。所以如果你看g[2,4], 你得到

If[2 + d + e + f < 0, -3 a[2, 4], a[2, 4]]

你会看到“then”和“else”语句仍然没有被评估,尽管a[2,4]其本身给你2 + d + e + f.

所以,当你进行替换时,mathematica 开始替换d,e,f无论它在表达式中找到什么(仅在条件中),并且一旦它计算条件并到达“then”或“else”步骤,就没有其他内容可以替换。

你需要使用的是ReplaceAll or //.它会重复应用规则,直到不再适用为止。就是这样

In[2]:= rules = {d -> 1, e -> 2, f -> 3};
        g[2, 4] //. rules
Out[2]= 8
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mathematica 协助:使用 /。将方法替换为 IF[] 条件 的相关文章

  • 在 Mathematica 中绘制数轴

    我想在 Mathematica 的数轴上绘制一个简单的区间 我该怎么做呢 为了绘制开区间或闭区间 你可以这样做 intPlot ss s e ee Graphics Red Thickness 01 Text Style ss Large
  • 如何在mathematica中应用涉及一百个变量的规则

    我有一个涉及 x1 x2 x100 的表达式 我还有一个列表lst有 100 个元素 如何将规则应用于此表达式以实现如下所示的效果 exp x1 gt lst 1 x2 gt lst 2 x100 gt lst 100 Thanks exp
  • 将声音导出为 WAV 文件

    我从来没有在 Mma 中过多地使用声音 I have t Sound List Violin SoundNote 6 我怎样才能导出t作为 WAV 文件 当我尝试显而易见的事情时 Export c test wav t I get 在这个旧
  • Mathematica:未评估、延迟、保留、HoldForm、HoldAllComplete、等等

    我对所有旨在以某种方式阻止评估的内置 Mathematica 函数感到困惑 Unevaluated Defer Hold 以及超过六种形式Hold Mathematica 文档只是单独解释每个函数 而没有解释为什么选择其中一个函数 谁能对所
  • Mathematica 中的语法着色

    用户定义的函数符号如f in f x 2 x 或变量符号 例如lotto in lotto Table 2 10 自动着色 在 M8 上的语法着色中 没有为此提供选项 仅限未分配值的局部变量或全局符号 这并不完全是您所要求的 但可能对您有用
  • 无法从 {2,3,4,5,6,7,8} 获得的最小整数 (Mathematica)

    我正在尝试使用 Mathematica 解决以下问题 从集合中无法获得的最小正整数是多少 2 3 4 5 6 7 8 通过算术运算 求幂和括号 集合中的每个数字必须仅使用一次 不允许一元运算 例如 如果不使用 0 则 1 无法转换为 1 例
  • 如何用矩阵的一些不连续的行和列形成子矩阵

    我有一个 10 x 10 矩阵 我想从这个主矩阵形成一个子矩阵 使用除第一 第二和第八列和行之外的所有行和列 我知道 Part 可以用来形成子矩阵 但这些示例主要是关于仅使用连续的行和列形成子矩阵 如果这是你的矩阵 tst RandomIn
  • Mathematica 内部数字格式和精度

    切线相关this https stackoverflow com q 4939616 181759问题 数字格式到底发生了什么 In 1 InputForm 3 12987 10 270 Out 1 3 12987 270 In 2 Inp
  • 有没有办法自动将Matlab 中的结果或数据导入到Mathematica 中?

    有没有办法将结果或数据 例如矩阵 从Matlab导入到Mathematica自动地 或者有什么方法可以先运行Matlab程序 然后运行Mathematica程序自动地 感谢您提供任何有用的答案 至少有三种方法可以解决这个问题 通过 Java
  • Mathematica 8 中函数声明的问题

    这是一个奇怪的结果 在此示例中函数定义为 functionB 有人可以解释一下吗 我想绘制functionB x and functionB Sqrt x 它们一定是不同的 但是这段代码表明functionB x functionB Sqr
  • 为什么即使仅使用一种规则和一种表达式,Replace 和 ReplaceAll 也会给出不同的结果?

    也许有人可以向我解释为什么Replace给出了不同的答案ReplaceAll 即使我使用一条规则 并且我认为我有一种表达方式 根据文档 ReplaceAll looks at each part of expr tries all the
  • Mathematica 什么时候创建新符号?

    再会 我早些时候以为数学在当前符号中创建新符号 Context在转换输入字符串的阶段 即分配给InString 来输入表达式 即分配给In 但一个简单的例子打破了这一解释 In 1 f During evaluation of In 1 I
  • Mathematica 中的分类树实现

    我想使用以下方法实现简单的分类树 二元分类 数学 我怎样才能实现二叉树数学 有这样做的符号吗 我想说这取决于你想用数据结构做什么 您可以利用 Mathematica 表达式本身就是树的事实 如果只有叶节点相关 则使用嵌套列表 例如 1 2
  • 创建自定义表格表示的函数

    我使用下面的代码来概述我的部分数据 从以下代码中创建函数的最佳方法是什么 它将采用 dataList 以及一些图形选项 例如颜色 作为参数 并返回自定义的表格表示形式 如下所示 overviewtheData Text Grid Map R
  • 如何在 Mathematica 8 中并行集成

    有人知道如何使用所有核心来计算积分吗 我需要使用并行化或并行表 但如何使用 f r Sum 1 n 2 r 2 n 7 2 n n r 2 n 1 x r 2 n 1 n 0 r 2 Nw Transpose Table f j i 1 j
  • NDS 求解波动方程时的不稳定性

    我正在尝试使用NDSolve求解波动方程 以检查使用它是否比我的旧特征方程更容易和 或更快 方法实施 我得到了很多特征方法没有得到的不稳定性 并且由于这些是简单的方程 我想知道出了什么问题 希望不是问题的物理方面 ans Flatten N
  • 如何导出 ContourPlot3D 曲面并在 Excel、Originlab 或其他类似软件中重新生成

    我尝试过这个 但失败了 fig3D ContourPlot3D x 2 y 3 z 2 0 x 2 2 y 2 2 z 2 2 PlotPoints gt 100 pts InputForm fig3D 1 1 1 ListSurfaceP
  • Mathematica 作业中不需要的评估:为什么会发生这种情况以及如何在包加载过程中对其进行调试?

    我正在开发一个 大 包 它不再正确加载 这是在我更改一行代码后发生的 当我尝试加载包 需要 时 包开始加载 然后 setdelayed 定义之一 活跃起来 即以某种方式进行评估 被困在之前加载几行的错误捕获例程中 并且包加载中止 使用 ab
  • 自定义后缀表示法,应用/函数

    我想在 Mathematica 7 中设置以下自定义符号 这种表示法本身并不是特别有用 因此请不要建议现有的替代方案 或指出这只会节省一些击键次数 我想知道是否可以以及如何完成 目前 可以进入 f 2 2 3 f a b c Out b a
  • 避免重复调用 Interpolation

    我想在mathematica 中插入一个函数 该函数取决于参数a 实际上它是函数的反函数F这也取决于a 所以我建立我的近似值如下 approx Interpolation Table F 0 1 n a 0 1 n n 100 100 现在

随机推荐

  • Base64 编码数据有哪些缺点?

    在过去两年左右的时间里 我对多种类型的网络数据进行了 Base64 编码 图像 otf文件 文本等 它很实用 因为它作为一种临时的资产整合方法 数据直接嵌入CSS或HTML中 不必担心死链接 但是使用这种方法有什么缺点吗 Base64 编码
  • 使用sqlite、flutter应用程序导入数据库

    我的主要目标是使用 sqlite sqlflite 插件 将数据库导入到 flutter 应用程序中 而不必将所有创建表硬编码到应用程序代码中 我希望信息能够在本地访问手机 在飞行模式下从手机访问数据 这就是我使用 sqlite 的原因 我
  • Javascript - ReactJS - 以 ReadableStream 作为源显示图像

    我有 PNG 图像作为 ReadableStream 我需要使用此 ReadableStream 作为源显示 html 元素 img 我应该将其转换为某种东西吗 或者我该怎么做 谢谢你的答案 来自谷歌的docs https develope
  • 在另一个工厂内使用一个工厂 AngularJS

    我有一个模块 angular module myModule 然后是工厂 angular module myModule factory factory1 function some var s and functions 然后是另一家工厂
  • VB 中 .NET MVC3 Razor 视图中的命名空间引用?

    如何使用 Razor 视图引擎引用 NET MVC3 中的命名空间 据我所知 这可以在 C 中完成 using Namespace 然而在VB中这似乎不起作用 Imports Namespace 我说的是 vbhtml 文件内部 您正在使用
  • 二次读取法

    我必须为二次类编写一个读取方法 其中二次以 ax 2 bx c 的形式输入 该类的描述是这样的 添加一个读取方法 要求用户提供标准格式的方程并正确设置三个实例变量 因此 如果用户输入 3x 2 x 则将实例变量设置为 3 1 和 0 这将需
  • 如何创建字节数组并用随机数据填充它[重复]

    这个问题在这里已经有答案了 我想根据给定大小创建一个填充随机数据的字节数组 我该怎么做 我的方法的签名如下所示 private byte GetByteArray int sizeInKb 这是我尝试过的 private byte GetB
  • iOS 与 IPv6 和 Azure 的问题

    我们的 Xamarin iOS 应用程序之一被拒绝 因为 Service URI 似乎无法从 IPv6 网络获得 从 2016 年 6 月 1 日开始 Apple 希望所有 iOS 应用程序在纯 IPv6 网络中完全兼容 Microsoft
  • 快速检索 WKInterfaceLabel 的文本

    如何在 WatchKit 中获取 Swift 或 Objective C 中的标签文本 该类不是 UILabel 而是 WKInterfaceLabel 我也尝试过搜索苹果的类库 https developer apple com libr
  • 如何使用 NHibernate 锁定模式在更新之前锁定对象?

    首先让我说明一下我想要实现的目标 我有一张桌子 里面装满了工作 有一个 Web 服务 其方法允许更改作业数据 称为SaveJob 此方法检索作业及其所有数据 对新数据运行验证 这需要对其他表进行一些数据库查询 然后将其保存回数据库 有点慢
  • 静态解析类型参数的深入描述

    我正在寻找对静态解析类型参数的非常全面的审查 它们到底可以做什么 它们的局限性是什么 使用它们的效果是什么 它们如何与普通类型参数结合 以及实例级内联成员如何工作 规范本身对这个主题的介绍很少 只是顺便提到了它们 它没有提到具有此类类型参数
  • 如何屏蔽 Jenkins Pipeline 项目中的密码字段?

    当密码属性定义在Jenkinsfile properties parameters password name KEY description Encryption key 每次执行管道时 Jenkins 都会提示用户提供其值 我希望这个参
  • ADO.NET 数据服务的数据压缩

    我有一个由 NET 应用程序 不是 IIS 公开的 ADO NET 数据服务 该服务由 NET 客户端应用程序使用 对此数据服务的某些调用会返回大量数据 我想压缩传输中的 XML 数据以减少负载并提高性能 这可能吗 我假设你是使用 WCF
  • 错误:膨胀类 com.google.android.material.textfield.TextInputLayout

    我收到错误 这是我的 XML 文件
  • 什么情况下endOffset>lastMsg.offset+1?

    Kafka 对于分区返回 endOffset 15 但可以使用的最后一条消息的偏移量为 13 而不是我期望的 14 我想知道为什么 The 卡夫卡文档 https kafka apache org 28 javadoc org apache
  • 用 C/C++ 编译 DLL,然后从另一个程序调用它

    我想制作一个简单的DLL 它导出一个或两个函数 然后尝试从另一个程序调用它 到目前为止我所看到的都是复杂的问题 将事物链接在一起的不同方式 奇怪的问题我什至还没有开始意识到存在 我只是想开始 通过做这样的事情 制作一个导出一些函数的 DLL
  • 测试一个封闭的ios应用程序

    我目前正在尝试处理不同的应用程序状态 关闭 后台或在应用程序的不同选项卡中 但是当我尝试测试应用程序在关闭并收到推送通知时如何工作 双击主页并强制关闭应用程序然后重新打开它 我不确定代码中哪里出了问题 由于我是从手机本身而不是 xcode
  • 使用 Axios 下载文件然后上传到 Amazon S3

    我已经看到关于使用 Axios 下载文件并将其上传到 S3 的各种问题 但没有一个将它们联系在一起 而且我对流 blob 多部分表单等感到困惑 到目前为止 这是我的代码 下载文件 const downloadResponse await a
  • MySQL 中的事务暂停是如何工作的?

    在 Spring 框架手册中 他们声明对于 PROPAGATION REQUIRES NEW 当前事务将被挂起 暂停交易 是什么意思 超时计时器停止对当前事务计数 这种暂停的实际影响是什么 谢谢你 Asaf 这并不意味着什么特别的 暂停的交
  • Mathematica 协助:使用 /。将方法替换为 IF[] 条件

    首先我要声明 我是一名 Mathematica 新手 这个问题可能很容易回答 但到目前为止 我在互联网上找不到任何针对这个特定问题的帮助 在这里 我基本上总结了我需要我的代码做什么 使用时出现一些问题 将命令替换为IF条件语句 基本上 我有