首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >defined Plot3D在绘制用户定义的函数时不会生成绘图?

defined Plot3D在绘制用户定义的函数时不会生成绘图?
EN

Stack Overflow用户
提问于 2012-03-19 02:00:01
回答 1查看 435关注 0票数 0

我正在写一个布莱克-斯科尔斯模型的简单数学实现,并使用Plot3D绘制定价表面。但是,当我运行这段代码时,没有生成任何图。我的callput函数可以在单独运行时生成正确的值,但没有生成绘图。代码:

代码语言:javascript
复制
Clear[d1, d2, call, put, stockPrice, strikePrice, riskFreeRate, timeToExp, volatility]

d1[stockPrice_, strikePrice_, riskFreeRate_, timeToExp_, volatility_] := (Log[stockPrice / strikePrice] + (riskFreeRate + 0.5*volatility^2)*timeToExp) / (volatility * Sqrt[timeToExp])

d2[stockPrice_, strikePrice_, riskFreeRate_, timeToExp_, volatility_] := d1[stockPrice, strikePrice, riskFreeRate, timeToExp, volatility] - volatility*Sqrt[timeToExp]

call[stockPrice_, strikePrice_, riskFreeRate_, timeToExp_, 
  volatility_] := stockPrice * CDF[NormalDistribution[0, 1], d1[stockPrice, strikePrice, riskFreeRate, timeToExp, volatility]] - strikePrice * Exp[-riskFreeRate*timeToExp] *CDF[NormalDistribution[0, 1], d2[stockPrice, strikePrice, riskFreeRate, timeToExp, volatility]]

Plot3D[call[stockPrice, 500, 0.0030, timeToExp, 0.39], {stockPrice, 
  10, 1000}, {timeToExp, 0.0833333, 5}]

其他图,如参考资料中的示例,也是有效的。

代码语言:javascript
复制
Plot3D[{x^2 + y^2, -x^2 - y^2}, {x, -2, 2}, {y, -2, 2}, 
 RegionFunction -> Function[{x, y, z}, x^2 + y^2 <= 4], 
 BoxRatios -> Automatic]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-19 02:22:55

在绘图范围的规范中只有timeToExp call[]timetoExp (小写t)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9760764

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档