从函数图像上看有最小值,但是FindMinimum运行出来没有结果
mathematica吧
全部回复
仅看楼主
level 2
Mw = 150;
trainwstd =
{-1.72556, 0.180119, -0.0761951, -0.919702, -0.645379, -0.562186, 0.0237736, -1.17307, -0.786781, 0.640184, -1.13842, -0.347712, 0.552852, -1.70327, -1.32033, -0.424672, -0.00567068, 1.25186, 0.672737, -0.941094, 1.0882, -0.981721, -1.30887, -1.39805, -0.706932, 1.18618, -1.41693, 1.06552, -0.276525, -0.502298, 0.330531, -0.365598, 1.24788, -0.559414, -0.391273, 0.773954, -0.00637404, 1.0452, 0.660235, -0.875976, -1.46725, 0.406424, 0.319978, 0.538741, 0.358374, 0.822705, 1.6833, -0.0429328, 1.16274, -1.64419, -0.331392, -1.55187, 0.687817, 0.89276, 1.44877, 0.503764, -1.25926, -0.532904, -0.929284, 1.38899, 1.23069, 1.44418, -1.6547, -0.714061, -0.933805, -0.589449, -1.6463, 1.18151, 0.149355, -0.732406, -1.25421, -1.04845, 0.829899, 0.725189, 0.735345, -0.748387, 0.391668, 0.37947, 1.30034, -0.653533, -1.14318, -1.68717, -0.394622, -1.07531, 0.258877, 1.33309, -0.889856, -1.72848, 1.5881, 0.440526, 1.65083, 1.28694, -0.498147, 0.259437, -0.747129, 0.875868, 1.63336, 1.6343, -0.223355, 0.979203, -0.085668, -1.69569, 1.5494, 0.913691, 1.42544, -0.67527, -1.14655, -0.880803, 0.730562, -0.994624, 0.504969, -0.608228, 1.30111, 1.47652, 1.0402, 0.526138, -0.407679, -0.249245, 1.41271, 0.638975, -1.21881, -1.01831, -1.1003, 1.10972, 0.925814, 1.14621, 0.346299, -1.32344, 1.55579, -0.226157, -1.70774, 0.701837, -0.538662, -0.283466, 1.63141, -1.01584, -0.703272, -0.585422, 0.859255, 0.262687, 0.573587, 0.745942, 0.775049, -0.459221, -1.1851, 0.242997, 0.23075, 1.04684, -1.2971, 1.17258};
trainLastd={1.80785, -1.48019, 1.21707, -0.770369, 1.3838, 1.84627, -0.66789, 0.373994, 1.13384, -0.946803, 0.0036877, -0.561397, -0.894387, 1.34242, 1.48309, 0.415332, -1.04708, -1.60584, -0.110102, -1.1804, -2.32267, -0.224717, -1.24382, 1.0107, 1.03249, -2.31672, 0.262735, 0.0298984, 1.4535, 1.35633, 0.890072, 0.993755, -1.48913, 1.60578, 1.25612, -0.891795, -1.24602, -0.947351, 1.05654, 0.209499, 1.42942, 0.736553, -0.753368, -1.08727, 1.64438, -1.43615, 0.369108, 0.907761, 0.364607, -0.0722066, 0.574003, -0.473916, 1.17604, -0.787614, 0.632069, -0.693557, -0.731288, -0.314412, 0.866853, -1.13619, -1.00356, -1.16811, -0.851511, 0.437804, 0.94492, 0.478376, 1.09586, -1.82818, 0.125129, 0.860987, 0.24783, -1.65594, -0.315481, -0.716075, 1.03175, 1.23085, 0.417587, 0.580768, 0.30178, 0.059187, 0.752655, 0.360162, 0.77839, 0.714254, 0.0466191, -1.43666, 0.852508, 1.73625, -1.41331, 0.952687, 0.579627, 0.0499512, -0.0049781, 0.849055, 0.375547, 0.956581, -0.203829, -1.51415, 0.172607, -0.970064, 0.731311, 1.14594, -1.19221, -0.737915, -0.193791, 0.334946, 0.809549, -1.20778, -1.1728, -0.204631, 0.582626, 0.0198714, -1.10626, 0.694766, -1.34239, 0.980495, 0.571377, -1.26083, 0.119862, 0.826546, -0.409742, 0.862276, 0.807611, 0.108383, -1.27024, -2.38063, 1.19822, 0.544958, -1.02215, 0.306651, 0.305285, 1.46954, -0.233644, 0.0212571, -1.9115, -0.464432, -0.82893, 1.146, -1.21004, 0.379003, 0.255409, -0.417888, -0.970193, 1.09538, -1.34996, -0.719621, 0.648206, -0.434638, -1.28144, 0.0173775};
Alpha = Table[b1, {Mw}];
result4 = Table[Norm[trainwstd[[i]] - trainwstd[[j]]], {i, 1, Mw}, {j, 1, Mw}];
result5 = Exp[-(result4^2)*Alpha*0.5];
f = Table[Sum[result5[[i, j]], {j, 1, Mw}], {i, 1, Mw}];
ff = Table[D[f[[i]], b1], {i, 1, Mw}];
Alpha1 = Table[b1 + (f[[1]] - f[[j]])/ff[[j]], {j, 2, Mw}];
result0 = Table[Norm[trainwstd[[j]] - trainwstd[[i]]], {j, 2, Mw}, {i, 1, j - 1}];
result11 = Table[trainLastd[[i]]* Exp[-(result0[[j - 1, i]]^2)*Alpha1[[j - 1]]*0.5], {j, 2, Mw}, {i,1, j - 1}];
result1 = PadRight[result11];
result22 = Table[Exp[-(result0[[j - 1, i]]^2)*Alpha1[[j - 1]]*0.5], {j, 2, Mw}, {i, 1, j - 1}];
result2 = PadRight[result22];
predtrainLastdup = Table[Sum[result1[[i, j]], {j, 1, Mw - 1}], {i, 1, Mw - 1}];
predtrainLastddown = Table[Sum[result2[[i, j]], {j, 1, Mw - 1}], {i, 1, Mw - 1}];
predtrainLastd = predtrainLastdup/predtrainLastddown;
result33 = Table[Exp[-2*(result0[[j - 1, i]]^2)], {j, 2, Mw}, {i, 1, j - 1}];
result3 = PadRight[result33];
rou = Table[Sum[result3[[i, j]], {j, 1, Mw - 1}], {i, 1, Mw - 1}];
matrixb2 =Table[rou[[i]]*(trainLastd[[i + 1]] - predtrainLastd[[i]])^2, {i, 1, Mw - 1}];
b2 = Sum[matrixb2[[i]]/(Mw - 1), {i, 1, Mw - 1}];
postp = -Log[b2^(-(Mw - 1)/2)]*Exp[-(Mw - 1)/2];
Plot[postp, {b1, 0, 50}]
optb1 = FindMinimum[{postp, 0.0001 < b1 < 50}, b1]
运行最后一行代码,没有结果,软件“叮咚”一声,就没有然后了,有没有大佬知道这是什么原因呀?
2020年11月16日 06点11分 1
level 2
我看了下,软件说“在计算过程中,Local内核已中断(退出)”,搜了下,有的人说是内存用超了的意思,这种情况应该怎么办呀?
2020年11月16日 07点11分 2
吧务
level 10
你先把前两行的中文分号改了再说
2020年11月16日 08点11分 3
1