找回密码
 注册
Simdroid-非首页
查看: 116|回复: 4

[符号计算] 能否给出一个微分算子的矩阵形式

[复制链接]
发表于 2012-9-21 16:56:23 | 显示全部楼层 |阅读模式 来自 上海
如图片所示能否用Mathematica给出这样一个微分算子的矩阵形式,只是在我需要对某些函数做如下的微分形式时直接用矩阵乘以上面那个函数阵列就可以了,这样的话不需要每次做这样的微分都要直接代入。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 2012-9-21 18:33:50 | 显示全部楼层 来自 北京
Simdroid开发平台
是这个意思么?
  1. d[v_, {x_, y_, z_}] := {{D[v[[1]], x], 0, 0}, {0, D[v[[2]], y]}, {0,
  2.    0, D[v[[3]], z]}}
  3. d[{Sin[x], Cos[y], Tan[z]}, {x, y, z}]
复制代码
或者
  1. f = Function[{w1, w2,
  2.    w3}, {{D[w1, x], 0, 0}, {0, D[w2, y], 0}, {0, 0, D[w3, z]}}];

  3. f[Sin[x], Cos[y], Tan[z]]
复制代码
回复 不支持

使用道具 举报

 楼主| 发表于 2012-9-21 19:01:03 | 显示全部楼层 来自 上海
guocong89 发表于 2012-9-21 18:33
是这个意思么?或者

谢谢,我是想可不可以直接给出这样一个矩阵D,直接D.{Sin[x], Cos[y], Tan[z]} 就可以得出 {{Cos[x], 0,
   0}, {0, -Sin[y], 0}, {0, 0, Sec[z]^2}}
回复 不支持

使用道具 举报

发表于 2012-9-21 22:07:52 | 显示全部楼层 来自 北京
derwille 发表于 2012-9-21 19:01
谢谢,我是想可不可以直接给出这样一个矩阵D,直接D.{Sin[x], Cos[y], Tan[z]} 就可以得出 {{Cos[x], 0,  ...

这个需要用到 Mathematica 里的 UpValues 的概念,重写乘法规则

比如
  1. d /: d[x_]*w_ := D[w, x]
  2. dd = {{d[x], 0, 0}, {0, d[y], 0}, {0, 0, d[z]}};
  3. dd*{Sin[x], Cos[y], Tan[z]}
复制代码

点评

不错,谢谢  发表于 2012-9-22 00:44

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2012-9-25 07:35:31 | 显示全部楼层 来自 台湾
  1. Outer[D, {Sin[x], Cos[y], Tan[z]}, {x, y, z}]
复制代码
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-25 18:30 , Processed in 0.035016 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表