Mathematica 8 中函数声明的问题

2024-03-23

这是一个奇怪的结果,在此示例中函数定义为“functionB”。有人可以解释一下吗?我想绘制functionB[x] and functionB[Sqrt[x]],它们一定是不同的,但是这段代码表明functionB[x] = functionB[Sqrt[x]],这是不可能的。

model = 4/Sqrt[3] - a1/(x + b1) - a2/(x + b2)^2 - a3/(x + b3)^4;
fit = {a1 -> 0.27, a2 -> 0.335, a3 -> -0.347, b1 -> 4.29, b2 -> 0.435,
    b3 -> 0.712};
functionB[x_] := model /. fit

Show[
 ParametricPlot[{x, functionB[x]}, {x, 0, 1}],
 ParametricPlot[{x, functionB[Sqrt[x]]}, {x, 0, 1}]
 ]

functionB[x]必须不同于functionB[Sqrt[x]],但在这种情况下,两行是相同的(这是不正确的)。


如果你试试?functionB,你会看到它存储为functionB[x_]:=model/.fit。因此,每当你现在有functionB[y],对于任何y, Mathematica 评估model/.fit,得到4/Sqrt[3] - 0.335/(0.435 + x)^2 + 0.347/(0.712 + x)^4 - 0.27/(4.29 + x).

这与使用有关SetDelayed (i.e., :=)。的右方为functionB[x_]:=model/.fit每次 Mathematica 看到该模式时都会重新评估f[_]。您已命名该模式x是无关紧要的。

你想要的可以通过例如来实现functionC[x_] = model /. fit。也就是说,通过使用Set (=) 而不是SetDelayed (:=),从而评价rhs。

希望这足够清楚(可能不是)......

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

Mathematica 8 中函数声明的问题 的相关文章

  • C# 中的复杂计算

    最好的 最有效的 工具是什么 NET C 用于计算 积分 偏导数 其他不平凡的数学 人们能否对 Mathematica 和 Matlab 及其集成发表评论C Math NET http www mathdotnet com是一个用 C 编写
  • 将声音导出为 WAV 文件

    我从来没有在 Mma 中过多地使用声音 I have t Sound List Violin SoundNote 6 我怎样才能导出t作为 WAV 文件 当我尝试显而易见的事情时 Export c test wav t I get 在这个旧
  • 对嵌套列表内的列表进行排序

    我有一个嵌套列表 9 8 7 8 7 6 7 6 5 6 5 4 5 4 3 4 3 2 3 2 1 我需要对列表中的列表进行排序才能创建 7 8 9 6 7 8 5 6 7 4 5 6 3 4 5 2 3 4 1 2 3 我该怎么做呢 你
  • 设计方法:过载与开关?

    关于封装设计的性能和可扩展性 最好是 重载 函数名称 让 Mathematica 根据模式 条件 测试以及系统对定义的排序方式来确定要使用哪个版本 或者使用 Switch 或类似命令 构建单个函数来直接求值 Mathematica 的表达能
  • 在mathematica中使用Input[]输入数据

    我怎样才能在这段代码中使输入命令对话框中的文本像这样 输入 1 元素 输入 2 元素 For k 1 k n k br Input Enter the i element AppendTo x br 确保您的变量匹配 您可以使用Row来构建
  • 从 Mathematica 中的 Web 设置用户代理导入

    当我使用 Mathematica 连接到我的网站时 Import mysite Data 并查看我的 Apache 日志 我看到 99 XXX XXX XXX 22 May 2011 19 36 28 0200 GET HTTP 1 1 2
  • Mathematica:MathLink 错误消息

    我想我开始理解如何将用 C C 编写的函数链接到数学 我面临的问题是我不知道如何将错误消息从我的 C 包装器发送到 Mathematica 在谷歌搜索后我发现了这个MathLink 教程 http www edenwaith com dev
  • 如何在 Mathematica 中将包含小数点的字母数字(参考)数字转换为字符串

    我有以下类型 DAA76647 1 的参考号 我想将其原封不动地转换为 Mathematica 中的字符串 That is myfn DAA76647 1 给出作为输出 DAA76647 1 是否有捷径可寻 输入不能是字符串 除了转换为字符
  • 创建自定义表格表示的函数

    我使用下面的代码来概述我的部分数据 从以下代码中创建函数的最佳方法是什么 它将采用 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
  • 为什么使用牛顿法的 FindMaximum 会抱怨找不到足够的函数减少?

    首先 这看起来 来自 ContourPlot 是一个相当简单的最大化问题 为什么使用牛顿法的 FindMaximum 会出现问题 其次 如何摆脱警告 第三 如果我无法摆脱这些警告 我如何判断警告是否有意义 即最大化失败 例如 在下面的代码中
  • 将模块定义为 Manipulate 表达式的一部分与在初始化部分中定义有任何性能问题吗?

    我想问是否有人知道任何问题 性能或其他 如果要定义 放置 Manipulate 表达式使用的模块 就在 Manipulate 表达式本身内部 而不是在初始化部分 通常是在哪里完成的 两种方法都有效 但是当涉及到从模块直接访问 Manipul
  • Mathematica 作业中不需要的评估:为什么会发生这种情况以及如何在包加载过程中对其进行调试?

    我正在开发一个 大 包 它不再正确加载 这是在我更改一行代码后发生的 当我尝试加载包 需要 时 包开始加载 然后 setdelayed 定义之一 活跃起来 即以某种方式进行评估 被困在之前加载几行的错误捕获例程中 并且包加载中止 使用 ab
  • 自动保存笔记本(或mathematica中的其他类型文件)文件

    我现在有时会遇到这个问题 部分原因是 Microsoft Office 自动保存您正在使用版本和自动恢复处理的文件 很多时候 当我在mathematica中启动一个新笔记本来做一些测试或其他事情时 我经常忘记保存我正在做的事情 时不时地 根
  • 如何在mathematica中进行函数替换

    我有这样的表情D f x y x 我想替换f x y with x y 我尝试了以下方法 D f x y x f x y gt x y and D f x y x f gt x y 但两者都不起作用 将不胜感激您的帮助 谢谢 The Ful
  • 将纬度/经度转换为 X/Y,以便在美国地图图像上进行阿尔伯斯投影

    我正在尝试使用 C 或 Javascript 将纬度 经度转换为 X Y 坐标 以将带有 CSS 的 div 左 上 定位到美国地图的背景图像上 美国的标准地图投影是阿尔伯斯投影 如下所示 但 StackOverflow 仅提供参考基本墨卡
  • Mathematica 中的数据缓存

    有一个非常耗时的操作在我的包中生成数据集 我想保存此数据集 并仅在我手动删除缓存文件时才让包重建它 这是我的方法作为包的一部分 myDataset Module fname data fname cached data mx If File
  • Mathematica:如何获取plot命令绘制的数据点?

    当使用 Plot 绘制函数时 我想获取由 Plot 命令绘制的数据点集 例如 如何获取以下简单示例中使用的点 t f Plot 的列表 f Sin t Plot f t 0 10 我尝试使用一种将值附加到列表的方法 如 Jerry B Ke
  • Mathematica 列表轮廓图3D

    我有表格中的数据 x y z f 我在用ListContourPlot3D但我得到的只是一个空盒子 每个方向的尺寸为 1 到 1 这是我的代码 ListContourPlot3D data5 PlotRange gt All AxesLab
  • .NETLink Graphics 生成 PNG 而不是 EMF

    下面的 C 代码应该生成 EMF 但查看输出 在 Vim 中 显示它是 PNG 也许有人在 S O 知道一个好的解决方法或解决方案 MathKernel k new MathKernel k CaptureGraphics true k G

随机推荐