如何创建多维数组分配对象?
4视图(30天)
显示旧的评论
嗨,我只是工作在一个更大的计划,与两个随机分布的变量:
X输入产品(生产)Y输出产品(下载188bet金宝搏需求)
两个随机变量有两个参数,所以a和b属于X和c和d属于y .我现在在两者的结合,需要结合分布存储在一个四维数组来反映了所有可能的组合。我最初想创建一个“空”的一系列匹配的尺寸是:
一个= (1 2 3 4);
6 b = [5];
c = [7 8 9];
d = (1 2 3 4 5);
为i = 1:长度(a)
为j = 1:长度(b)
为k = 1:长度(c)
为l = 1:长度(d)
测试(i, j, k, l) = makedist (“正常”,0,0);
结束
结束
结束
结束
问题是现在,matlab似乎没有默认distribution-object包含在库和发生错误:
在数组扩张:没有定义默认的类“prob.NormalDistribution”。“getDefaultScalarElement”超类概率方法。ProbabilityDistribution缺失或错误的定义。
我很幸运找到一个解决方案之前就设置元素的二维一个默认的元素是需要我扩大这一个三维数组。然而,如果我试着扩展解决方案同样的4维再次发生错误:
clc
清晰的
一个= [100 5 5 7];
4 4 5 6 b = [10];
c = [100 2 6 7 9 9];
d = [1 4 5 5];
为i = 1:长度(a)
测试(我:)= makedist (“正常”,0,0);
为j = 1:长度(b)
测试(i, j) = makedist (“正常”,0,0);
结束
结束
测试
为i = 1:长度(a)
test2(我::)= makedist (“正常”,0,0);
为j = 1:长度(b)
test2 (i, j:) = makedist (“正常”,0,0);
为k = 1:长度(c)
test2 (i, j, k) = makedist (“正常”,0,0);
结束
结束
结束
test2
为i = 1:长度(a)
test2(我::,:)= makedist (“正常”,0,0);
为j = 1:长度(b)
test2 (i, j,:,) = makedist (“正常”,0,0);
为k = 1:长度(c)
test2 (i, j, k:) = makedist (“正常”,0,0);
为l = 1:长度(d)
test2 (i, j, k, l) = makedist (“正常”,0,0);
结束
结束
结束
结束
test3
在前两个版本是完美运行,即使有意,给匹配distribution-object数组,但四维了以下错误:
在数组扩张:
没有类的默认定义“prob.NormalDistribution”。
方法“getDefaultScalarElement”超类概率。ProbabilityDistribution缺失或错误的定义。
错误在Untitled(29)行
test3(我::,:)= makedist (“正常”,0,0);
当我首先定义三维数组,test3 = test2,错误的转向
test3 (i, j, k, l) = makedist(“正常”,0,0);
一旦d =[]有多个元素。我也试图设置在其他3 d循环循环但错误总是发生在四维空间的指针转向2。我不知道为什么这个错误只发生在4维,我的理解也应该发生在三维,或两个版本应该运行两者兼得,我不能理解为什么一个工作,另一个不是。
这将是很好,如果有人可以帮助我与这个问题或给我一个提示如何创建这个AxBxCxD数组分配对象以另一种方式。谢谢你的帮助