楼主: jiaolitao
5445 9

[问答] matlab程序中的运算顺序?? [推广有奖]

  • 14关注
  • 3粉丝

硕士生

96%

还不是VIP/贵宾

-

威望
0
论坛币
66 个
通用积分
0.0623
学术水平
2 点
热心指数
2 点
信用等级
0 点
经验
1513 点
帖子
116
精华
0
在线时间
192 小时
注册时间
2011-11-30
最后登录
2015-6-25

楼主
jiaolitao 发表于 2014-5-8 11:46:56 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
看到别人的程序中,函数f=var+sum(max(0,-R-var))/j/alpha,请问这个函数中的alpha是怎么运算的??是否可以写成:
f=var+alpha*sum(max(0,-R-var))/j       ??

二维码

扫码加我 拉你入群

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

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

关键词:MATLAB程序 MATLAB matla atlab Lab matlab 程序

沙发
Xaero 发表于 2014-5-8 12:03:12
用几个数字测试一下就知道了。
具体计算次序见Matlab入门的书籍即可。
十年一觉扬州梦。
智不足以Academy,才尚不够Industry,[情无力于Life]。

藤椅
jiaolitao 发表于 2014-5-8 13:08:40
Xaero 发表于 2014-5-8 12:03
用几个数字测试一下就知道了。
具体计算次序见Matlab入门的书籍即可。
多谢提醒!

板凳
Benlaron 发表于 2014-5-8 15:05:38
答案是可以

目测很多人都喜欢第一种写法,感觉是因为偷懒吧
没什么区别,不过要看alpha的取值,如果是0……
那就牵涉到极限问题而不是运算顺序问题了

报纸
Xaero 发表于 2014-5-8 16:07:51
Benlaron 发表于 2014-5-8 15:05
答案是可以

目测很多人都喜欢第一种写法,感觉是因为偷懒吧
我觉得不是啊。
十年一觉扬州梦。
智不足以Academy,才尚不够Industry,[情无力于Life]。

地板
jiaolitao 发表于 2014-5-8 16:48:06
Xaero 发表于 2014-5-8 16:07
我觉得不是啊。
如果两种写法是一个意思,那计算CVaR的公式和理论就不符了,能帮我看下下面的程序错在什么地方吗?
function f=cvar(x)%建立计算cvar的函数
y=[ ];%2只股票收益率矩阵
y=y';
n=size(y);%组合的收益率
j=n(2);
R=x*y;
alpha=0.1;%置信度1-β
percent=100*(0:alpha:1);
t=prctile(R,percent);
var=-t(2);%置信度1-β下的VaR值
f=var+sum(max(0,-R-var))/j/alpha;%目标函数CVaR

在matlab中总是提示:
>> cvar
Error using cvar (line 6)
Not enough input arguments.

第六行错在哪,怎么改?

7
Benlaron 发表于 2014-5-8 22:54:36
Xaero 发表于 2014-5-8 16:07
我觉得不是啊。
啊,脑抽了=。=

X / j / alpha = X / (j * alpha)

8
Benlaron 发表于 2014-5-8 22:55:58
jiaolitao 发表于 2014-5-8 16:48
如果两种写法是一个意思,那计算CVaR的公式和理论就不符了,能帮我看下下面的程序错在什么地方吗?
func ...
这个应该不是function的问题

是你调用CVaR的时候,输入的参数不足~~

9
jiaolitao 发表于 2014-5-8 23:43:06
Benlaron 发表于 2014-5-8 22:55
这个应该不是function的问题

是你调用CVaR的时候,输入的参数不足~~
恩,代码是正确的

10
matlab-007 发表于 2015-2-25 19:50:03
关系运算在逻辑运算之前进行,比如:if a<b && b>0与运算要在最后进行

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-28 16:30