世纪电源网社区logo
社区
Datasheet
标题
返回顶部
讨论

MATHCAD不能自动决定用哪些变量求解?

[复制链接]
查看: 3221 |回复: 10
1
eric.wentx
  • 积分:46976
  • |
  • 主题:485
  • |
  • 帖子:17006
积分:46976
版主
  • 2013-4-6 10:34:42
很简单的,我想通过Y(X)=1,求出X. 即反求函数.但出现了错误:
MATHCAD 不能自动决定用哪些变量求解:







此时我想求得0DB时对应的频率,但好像总出错,难道是我方法用错了?



solve / root / find 感觉solve应该是对的啊.
收藏收藏1
eric.wentx
  • 积分:46976
  • |
  • 主题:485
  • |
  • 帖子:17006
积分:46976
版主
  • 2013-4-6 10:55:12
  • 倒数10
 
附上MATHCAD源文件:
Mathcad 15.0
2order com.rar

greendot
  • 积分:31625
  • |
  • 主题:0
  • |
  • 帖子:8701
积分:31625
LV12
专家
  • 2013-4-6 12:45:20
  • 倒数8
 

OR


eric.wentx
  • 积分:46976
  • |
  • 主题:485
  • |
  • 帖子:17006
积分:46976
版主
  • 2013-4-6 13:00:17
  • 倒数7
 
哈哈,果然大师来了,多谢!
但我还是试着用solve来解:



原来我之前定义的f,现在作为方程需要重新定义:

可怜我的计算机算了10分钟,还没得出结果.
eric.wentx
  • 积分:46976
  • |
  • 主题:485
  • |
  • 帖子:17006
积分:46976
版主
  • 2013-4-6 13:11:27
  • 倒数6
 
大师:
root(f(x),x)
可以求解f(x)=0的解.所以这样来看,我更喜欢第二个方法,这样可以直接求其他增益点(不限于0DB的时候)的频率或是相位处的频率.
但是:
问题1: x的初始假设值有何影响呢,从这个函数的本源来看,应该只会影响计算时间. 对否?我自己也试了不同的X初始值他都能得到结果.
问题2: 如我四楼的方法问题在哪呢?
yanpm
  • yanpm
  • 离线
  • LV8
  • 副总工程师
  • 积分:3011
  • |
  • 主题:23
  • |
  • 帖子:1573
积分:3011
LV8
副总工程师
  • 2013-4-6 18:04:19
  • 倒数5
 
根据图形上大致假设一个值,然后软件会在其两边取值进行迭代计算,直到迭代误差达到系统设定项(类似二分法)
你用solve硬解一次,二次方程应该还可以,但是对数运算,还有其他一些稍微复杂一点的表达式,迭代过程是会长一些。
个人理解。
greendot
  • 积分:31625
  • |
  • 主题:0
  • |
  • 帖子:8701
积分:31625
LV12
专家
  • 2013-4-6 19:30:52
  • 倒数4
 
假设值对计算时间理论上有影响,但电脑太快了,一般察觉不出来
例子里的函数比较'montonic',不同的初始值是都能得到结果的,但如果函数有几个根的,初始值最好接近目标根。
用Solve的方法,简单的函数问题不大,最麻烦是函数有极点,无限大值,结果找不到解或给一个错的答案。

eric.wentx
  • 积分:46976
  • |
  • 主题:485
  • |
  • 帖子:17006
积分:46976
版主
  • 2013-4-6 19:38:49
  • 倒数3
 
同意6/7楼的说法,solve对于复杂函数,太扯蛋了,今天我强行试这个解法,结果半个小时过去了都没有出来,另外电脑死机了.
eric.wentx
  • 积分:46976
  • |
  • 主题:485
  • |
  • 帖子:17006
积分:46976
版主
  • 2013-4-6 12:33:10
  • 倒数9
 
再试了下,发现solve语法有问题:



最下面一个是出来了,
solve,x ->
是这样, 应该快接近成功了, 继续努力下.
gaohq
  • gaohq
  • 在线
  • LV10
  • 总工程师
  • 积分:12618
  • |
  • 主题:249
  • |
  • 帖子:3247
积分:12618
LV10
总工程师
  • 2013-9-18 22:17:02
  • 倒数2
 
成功了没有?我也有这问题。想知道你是怎么搞的。
雅人深致
  • 积分:1263
  • |
  • 主题:0
  • |
  • 帖子:207
积分:1263
LV6
高级工程师
最新回复
  • 2013-9-18 23:34:14
  • 倒数1
 
G(f)=0和P(f)=1 居然就是不能求解。。
能求解的那两个式子,第一行和第四行的能求解,需加上假设f的范围,f>0的实数(f>5000也许更快吧,第一行的assume,f>0也可以的)


哦对了,能求解的那两个必须要给楼主的第一行定义的f的范围删去,f:=0.01,500..10000000删去,不然会出现错误解不出来


热门技术、经典电源设计资源推荐

世纪电源网总部

地 址:天津市南开区黄河道大通大厦8层

电 话:400-022-5587

传 真:(022)27690960

邮 编:300110

E-mail:21dy#21dianyuan.com(#换成@)

世纪电源网分部

广 东:(0755)82437996 /(138 2356 2357)

北 京:(010)69525295 /(15901552591)

上 海:(021)24200688 /(13585599008)

香 港:HK(852)92121212

China(86)15220029145

网站简介 | 网站帮助 | 意见反馈 | 联系我们 | 广告服务 | 法律声明 | 友情链接 | 清除Cookie | 小黑屋 | 不良信息举报 | 网站举报

Copyright 2008-2024 21dianyuan.com All Rights Reserved    备案许可证号为:津ICP备10002348号-2   津公网安备 12010402000296号