网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
成为超级会员,使用一键签到
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
12月21日
漏签
0
天
mathematica吧
关注:
19,716
贴子:
73,566
看贴
图片
吧主推荐
游戏
13
回复贴,共
1
页
<<返回mathematica吧
>0< 加载中...
来个老哥抬一手~
只看楼主
收藏
回复
哦咯哇我
大写小写
3
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
如图我对这个函数的幅角求导,代入一个数值为什么求出了个复数值啊,实函数求导应该是实数啊
。声明了一下x是实数后好像也不行。
f[x_] := Arg[(-(x - 1)^2 + 4 (4 x^3 - 3 x^2 - x^4))/((x - 1)^2 +
4 (4 x^3 - 3 x^2 - x^4) - 4*I*(x^3 - 3 x^2 + 2 x))]
f'[5]
这是程序,我觉得可能是程序表达的问题,那么该怎么去写这个程序呢?新手上路,老哥请指点
真心不卡
For循环
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
你仔细看看你代码里有没有I
zjnone
大写小写
3
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
可能是 f' 在求导的时候用到的 Derivative 函数把 f 看做是一个复函数了,对这个我也没有什么办法,不过 f'[5] 倒是可以直接用导数的定义借用 Limit 求出来
Limit[(f[x + d] - f[x])/d, d -> 0]
1117/10504
微雨燕雙飛
安装激活
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
我也觉得用Table根据导数的定义可以算
角度和导数分别是蓝和紫
微雨燕雙飛
安装激活
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
magus000
奥妙无穷
14
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
我还想了半天幅角函数是不是解析函数...突然意识到你这个是要弄波特图之类的东西吧。
可以试试这样,预先把Arg展开,就不会遇到复数的问题了
f[x_]=ComplexExpand[Arg[(-(x-1)^2+4 (4 x^3-3 x^2-x^4))/((x-1)^2+4 (4 x^3-3 x^2-x^4)-4*I*(x^3-3 x^2+2 x))],TargetFunctions->{Re,Im}]
f'[5]
magus000
奥妙无穷
14
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
至于你这里问题发生的原因在于:
1. Mma总是假设链式求导法则是有效的,但这里遇到的Arg本身是一个
不可导
的函数,链导法则是不成立的。这一点是一个非常常见的坑。
2. 然后mma的数值导数设计的也欠合理,在遇到符号求导失效的情况时,mma在计算函数导数时会利用其沿着
实轴
方向的变化率来近似求导(事实上Arg沿复平面不同方向的变化率通常不相等),而Arg本身总是实数,这样一来得到的Arg'[...]的结果就总是一个实数,然而前面根据链导法则乘出的那一坨又是个复数,自然得到的最终结果也是复数。
不过利用这第二点也可以给出这个问题的另一种解法:因为你这里就是要求f沿实轴方向的导数,所以我们不妨利用数值导数始终沿实轴发生这一特性,先从f上就避免符号计算引入错误的链导法则,然后直接让mma对f进行数值求导,于是可以这么写:
Clear[f]
f[x_?NumericQ]:=Arg[(-(x-1)^2+4 (4 x^3-3 x^2-x^4))/((x-1)^2+4 (4 x^3-3 x^2-x^4)-4*I*(x^3-3 x^2+2 x))]
f'[5.]
如果只需要近似的数值值得话,同样可以解决问题。
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示