在进一步开发早期问题的解决方案时,我遇到了一些意想不到的不一致:
这似乎有点不同,值得一篇新帖子.
从相同的数据开始:
data = {{{2010, 8, 3},
0.}, {{2010, 8, 31}, -0.052208}, {{2010, 9, 30},
0.008221}, {{2010, 10, 29}, 0.133203}, {{2010, 11, 30},
0.044557}, {{2010, 12, 31}, 0.164891}, {{2011, 1, 31},
0.055141}, {{2011, 2, 28}, 0.114801}, {{2011, 3, 31},
0.170501}, {{2011, 4, 29}, 0.347566}, {{2011, 5, 31},
0.461358}, {{2011, 6, 30}, 0.244649}, {{2011, 7, 29},
0.41939}, {{2011, 8, 31}, 0.589874}, {{2011, 9, 30},
0.444151}, {{2011, 10, 31}, 0.549095}, {{2011, 11, 30},
0.539669}};
Run Code Online (Sandbox Code Playgroud)
我定义了一种方法,可以FrameTicks根据上一篇文章中提供的贡献和见解建立百分比:
myFrameTicks =
Table[ …Run Code Online (Sandbox Code Playgroud) 给定一个包含k子列表的列表,让
A={{a1,a2,a3,...},{b1,b2,b3,...},...}我想按照它们对这些子列表进行排序Total[A[i]].有没有有效的方法来做到这一点?
这个问题是前一个线程的延续,用于比较具有相同长度的两个列表:
有没有有效的简单方法来比较Mathematica相同长度的两个列表?
鉴于两个列表A={a1,a2,a3,...an}和B={b1,b2,b3,...bn},我会说A>=B,当且仅当所有ai>=bi.现在我们有了k列表H={{a11,a12,a13,...a1n}, {a21,a22,a23,...a2n},...,{ak1,ak2,ak3,...akn}},并希望找到最大的列表(如果存在).
这是我的代码:
Do[If[NonNegative[Min[H[[i]] - h]], h = H[[i]], ## &[]], {i, h = H[[1]]; 1, Length[H]}];h
有没有更好的技巧呢?
编辑:
我想将其定义为以下函数:
maxList[H_]:=Do[If[NonNegative[Min[H[[i]] - h]], h = H[[i]], ## &[]], {i, h = H[[1]]; 1, Length[H]}];h
但问题是上面的代码跨越两行,对此有什么解决方法吗?这里有一些代码工作,但不是很漂亮
maxList[H_] := Module[{h = H[[1]]}, Do[If[NonNegative[Min[H[[i]] - h]], h = H[[i]], ## &[]], {i, Length[H]}]; h]
要么
maxList[H_]:=Last[Table[If[NonNegative[Min[H[[i]] - h]], h = H[[i]], ## &[]], {i, h = H[[1]]; 1, Length[H]}]]
对于实验,我们在Matlab中生成了一些由8个磁盘制成的图像.我们限制了磁盘之间以及磁盘和框架之间的最小距离以及磁盘重心(COG)的位置.贝娄在上部升降机"COG"上用COG组成的一个例子
FraXYs = {{4.32, 3.23}, {35.68, 26.75}}
stiDisks = {{{8, 11}, 1}, {{10, 17}, 1}, {{16, 24}, 1}, {{25, 22},1},
{{31, 22}, 1}, {{7, 21}, 2}, {{16, 12}, 2}, {{19, 22}, 2}}
Graphics[{White, EdgeForm[Thick],
Rectangle @@ FraXYs,
Red, Disk[{14.77, 18.91}, 1],
Blue, Opacity[.6], EdgeForm[Black],
Blue, Thickness[0.003],
Opacity[1],
Black,
Disk[#[[1]], #[[2]]] & /@ stiDisks}, ImageSize -> {400, 300}]
Run Code Online (Sandbox Code Playgroud)

我想在Mathematica中产生这些刺激.以下是我正在处理的元素(特征和约束).措施以厘米为单位.形状的重心(COG)定义为磁盘位置的区域.
特点 :
刺激框架: {{xMin,xMin},{xMax,yMax}}
FraXYs = {{4.32, 3.23}, {35.68, 26.75}}
Run Code Online (Sandbox Code Playgroud)
5个小圆盘:半径
rSmall=1
Run Code Online (Sandbox Code Playgroud)
3个大圆盘:半径
rLarge=2
Run Code Online (Sandbox Code Playgroud)
制约因素:
形状边缘之间的最小距离:
minDistSha=1
Run Code Online (Sandbox Code Playgroud)
形状边缘和框架边框之间的最小距离:
minDistFra=1
Run Code Online (Sandbox Code Playgroud)
形状COG距离中心的距离: …
我的问题如下.
在平面上绘制一组2D点,其具有用于为每个点提供强度的函数.
fun(x,y):=x+y
Run Code Online (Sandbox Code Playgroud)
另外,我有一个图表连接这些点.我需要在密度图上显示图形,这绝对是必要的.
不知道怎么做.我搜索了一下Mathematica文档,但我找不到多少.
每当有人找到解决方案时,我也有一个问题.如何在密度图上使用图形功能是不可能的?例如,如果我想在顶点上显示标签,是否可以使用某种参数化解决方案.也许我要求太多,这只是一个小小的注意事项,如果花费太多时间就跳过它.
我需要2D图.不是3D的.只是2D很好.
有谁知道为什么下面的矩阵随机分布产生不同的图?(这是为使用逆Wishart分布采样的一组10x10矩阵中的第一个单元生成PDF的图表;令人惊讶的是,这些图根据执行矩阵逆的方式而有所不同 - 似乎正确的图是通过Inverse [_]获得,为什么?)
基本代码:
<< MultivariateStatistics`;
Module[{dist, p, k, data, samples, scale, graphics, distribution},
p = 10;
k = 13;
samples = 500;
dist = WishartDistribution[IdentityMatrix[p], k];
(* a samples x p x p array *)
data = Inverse[#] & /@ RandomVariate[dist, samples];
(* distribution graphics *)
distribution[i_, j_] := Module[{fiber, f, mean, rangeAll, colorHue},
fiber = data[[All, i, j]];
dist = SmoothKernelDistribution[fiber];
f = PDF[dist];
Plot[f[z], {z, -2, 2},
PlotLabel -> ("Mean=" <> ToString[Mean[fiber]]),
PlotRange -> All]
]; …Run Code Online (Sandbox Code Playgroud)