楼主: Vining~
8598 5

[问答] 【菜鸟求助】关于一个Matlab的loop累加的一个问题。 [推广有奖]

  • 0关注
  • 0粉丝

初中生

76%

还不是VIP/贵宾

-

威望
0
论坛币
656 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
70 点
帖子
12
精华
0
在线时间
22 小时
注册时间
2011-9-9
最后登录
2016-3-28

楼主
Vining~ 发表于 2013-10-29 14:36:34 |AI写论文
40论坛币
最近在做一个pricing model的project。遇到了几个问题想请教一下。
在做matlab中的for loop时, 比如(这里算一个贝努力实验,成功可能性为0.6,100次试验中,1到10次成功的可能性的加和)
for i=1:10;
        nCr=factorial(100)/(factorial(i).*factorial(100-i));
        term1=nCr.*0.6.^i.*0.4.^(100-i);
        cal1=cal1+term1;
        i=i+1;
end
cal1
这个loop里最后这个cal1总是以矩阵的方式输出,而不是以一个累加之和的方式输出。请问这样应该怎么改正?


然后我做了这样的一个loop,所求的和之前的问题一样。
for i=1:10;
        nCr=factorial(100)/(factorial(i).*factorial(100-i));
        term1=nCr.*0.6.^i.*0.4.^(100-i);
        i=i+1;
end
cal1=sum(term1)
这里的cal1是一个加和,但是正确么?在这个loop里,每次循环中 term1是否被存储在了一个矩阵中?或者说我循环完之后,得到的是term1在i=1:10下的10个值么?

多谢各位了!



关键词:MATLAB atlab matla loop Lab 最大值 matlab 可能性

沙发
Xaero 发表于 2013-10-29 19:43:35
1: 在所有代码最前面写一个 cal1=0  试试

2:  不正确,要用数组。

基础知识很欠缺,建议先补充基础知识。
十年一觉扬州梦。
智不足以Academy,才尚不够Industry,[情无力于Life]。

藤椅
Vining~ 发表于 2013-10-29 23:25:17
Xaero 发表于 2013-10-29 19:43
1: 在所有代码最前面写一个 cal1=0  试试

2:  不正确,要用数组。
第一个代码前面我是有写cal1=0的。可是我试着最后输出cal1,显示的还是数组啊....

板凳
danielruc91 在职认证  发表于 2013-11-1 21:39:13
首先,最重要的一点,不要写i=i+1。。。否则你只计算了出现1,3,5,7,9,的概率。。。这会导致你的计算是错的。。

其次,我跑了一下你的代码,得到的是一个数。。可不可以问一下你matlab 的版本?

最后,跑循环之前要定义cal1,否则会报错。。。我的就报错了。。

报纸
Xaero 发表于 2013-11-2 21:12:51
danielruc91 发表于 2013-11-1 21:39
首先,最重要的一点,不要写i=i+1。。。否则你只计算了出现1,3,5,7,9,的概率。。。这会导致你的计算是错的。 ...
只计算了出现1,3,5,7,9,的概率

这个说法是错误的。 你试试:
for i=1:10;
  disp(i);
  i=1+1;
end
十年一觉扬州梦。
智不足以Academy,才尚不够Industry,[情无力于Life]。

地板
danielruc91 在职认证  发表于 2013-11-3 09:22:00
Xaero 发表于 2013-11-2 21:12
只计算了出现1,3,5,7,9,的概率

这个说法是错误的。 你试试:
好吧,我试了一下,确实可以。。但是不写也行的。。

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

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