楼主: 晚星
2587 15

[问答] 请教高手,如何用GAUSS绘制3D图形? [推广有奖]

  • 0关注
  • 0粉丝

初中生

14%

还不是VIP/贵宾

-

威望
0
论坛币
33 个
通用积分
0
学术水平
3 点
热心指数
4 点
信用等级
0 点
经验
67 点
帖子
11
精华
0
在线时间
10 小时
注册时间
2013-1-13
最后登录
2014-1-22

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
请教高手,如何用GAUSS绘制3D图形?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:GAUSS 请教高手 USS Aus 3D图 图形 如何

已有 1 人评分论坛币 学术水平 热心指数 收起 理由
xuehe + 40 + 2 + 3 根据规定进行奖励

总评分: 论坛币 + 40  学术水平 + 2  热心指数 + 3   查看全部评分

沙发
xuehe 发表于 2013-1-13 22:39:47 |只看作者 |坛友微信交流群
还没怎么见到

使用道具

藤椅
晚星 发表于 2013-1-14 19:30:42 |只看作者 |坛友微信交流群
谢谢xuehe版主!应该能绘3D图形的。

使用道具

板凳
epoh 发表于 2013-1-14 20:10:57 |只看作者 |坛友微信交流群
晚星 发表于 2013-1-14 19:30
谢谢xuehe版主!应该能绘3D图形的。
surface(x,y,z);
f(x,y) = sin(x)[exp(x2 + y2)]-1

/*****************************/
  1. library pgraph;

  2. graphset;_pdate = "";

  3. fn f(x,y) = sin(x)/exp((x^2+y^2));

  4. x=seqa(-2,0.1,40);

  5. y=x;

  6. z=zeros(40,40);

  7. for i (1,40,1);

  8. for j (1,40,1);

  9. z[i,j] = f(x[i],y[j]);

  10. endfor;

  11. endfor;

  12. xlabel("x");ylabel("y");zlabel("z");

  13. surface(x',y,z);
复制代码
3d_plot.bmp
已有 1 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
xuehe + 100 + 100 + 5 + 3 + 3 对论坛有贡献

总评分: 经验 + 100  论坛币 + 100  学术水平 + 5  热心指数 + 3  信用等级 + 3   查看全部评分

使用道具

报纸
xuehe 发表于 2013-1-14 21:23:46 |只看作者 |坛友微信交流群
非常感谢高手epoh,望您继续提高更多的3D图形代码,特别是否可以提供经济、金融数据模拟的3D技术!

使用道具

地板
晚星 发表于 2013-1-15 18:55:16 |只看作者 |坛友微信交流群
谢谢epoh老师热心指教!谢谢xuehe版主热心参与!怎样绘制像MATLAB图标那样的实曲面3D图形呢?

使用道具

7
xuehe 发表于 2013-1-16 23:33:59 |只看作者 |坛友微信交流群
继续讨论

使用道具

8
epoh 发表于 2013-1-17 20:44:08 |只看作者 |坛友微信交流群
晚星 发表于 2013-1-15 18:55
谢谢epoh老师热心指教!谢谢xuehe版主热心参与!怎样绘制像MATLAB图标那样的实曲面3D图形呢?
不清楚你所谓的MATLAB实曲面3D图形,
猜猜你可能是要底下图形.
这是用matlab surf()画的
surf(X,Y,Z) creates a shaded surface using Z for the color data as well as surface height.
X and Y are vectors or matrices defining the x and y components of a surface.
这里X,Y可以是matrix

然gauss surface(x,y,z),x,y只能是vector,效果自然有差
  x  1xK vector, the X axis data.
  y  Nx1 vector, the Y axis data.
  z  NxK matrix, the matrix of height data to be plotted.

matlab code:
  1. length=0.1;
  2. [X,Y]=meshgrid(-3:length:3);
  3. step=1+6/length;
  4. for i=1:step
  5. for j=1:step
  6.    if (abs(X(i,j))<0.5) & (abs(Y(i,j))<0.5)
  7.       Z(i,j)=0.0;
  8.    else
  9.       Z(i,j)=1.0/max(abs(X(i,j)),abs(Y(i,j)));
  10.    end
  11. end
  12. end
  13. surf(X,Y,Z);
  14. view([2.2 1.2 3]);
  15. axis off
复制代码
surf_matlab.jpg
gauss:
  1. library pgraph;
  2. graphset;
  3. _pdate = "";
  4. length=0.1;
  5. step=61;
  6. x=seqa(-3,length,61);
  7. y=seqa(-3,length,61);
  8. z=zeros(61,61);
  9. for i (1,step,1);
  10.   for j (1,step,1);
  11.     if (abs(x[i])<0.3) or (abs(y[j])<0.3);
  12.        z[i,j]=0.0;      
  13.     else;         
  14.        z[i,j]=1.0/maxc(abs(x[i])|abs(y[j]));      
  15.     endif;
  16.   endfor;
  17. endfor;
  18. surface(x',y,z);
复制代码
surface_gauss.jpg

使用道具

9
xuehe 发表于 2013-1-17 22:02:26 |只看作者 |坛友微信交流群
不错,建议可否给些经济金融模拟的例子?

使用道具

10
epoh 发表于 2013-1-17 22:46:34 |只看作者 |坛友微信交流群
xuehe 发表于 2013-1-17 22:02
不错,建议可否给些经济金融模拟的例子?
Gauss 内附许多选择权基本函数:
AmericanBSCall
EuropeanBSCall

AmericanBSCall_Greeks
EuropeanBSCall_Greeks

AmericanBSCall_ImpVol
EuropeanBSCall_ImpVol

AmericanBSPut
EuropeanBSPut

AmericanBSCPut_Greeks
EuropeanBSCPut_Greeks

AmericanBSCPut_ImpVol
EuropeanBSCPut_ImpVol
...
...
以选择权敏感度参数vega为例
vega.jpg
  1. K      = 70;
  2. r      = 0.07;
  3. sigma  = 0.35;
  4. div    = 0;
  5. S0     = seqa(20,0.5,180);
  6. tau    = seqa(0.01,0.01,100)';

  7. {d,g,t,v,rh}=EuropeanBSCall_Greeks(S0,K,r,div,tau,sigma);

  8. library pgraph;
  9. graphset;
  10. _pdate = "";_pframe=0;
  11. xlabel("Time to Maturity");
  12. ylabel("Stock Price");
  13. zlabel("vega");
  14. surface(tau,S0,v);

复制代码

使用道具

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

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-29 01:34