Для графического изображения поверхности, заданной матрицей значений, язык системы Mathematica предусматривает функцию ListPlot3D. Для наглядности, на эту поверхность накладывается полупрозрачная горизонтальная плоскость, пересекающая ось значений в единице. В качестве исходных данных используется построенный ранее трехмерный массив (в Mathematica представлен трехуровневым списком), первый индекс которого соответствует номеру корня, второй - координате \(r\), а третий - координате \({\rm\omega }\). В примере ниже \(dissip[ [ic] ]\) - это двумерный массив (список), соответствующий корню с индексом \(ic\).
label = "диссипация"; gDissip = Show[ ListPlot3D [ Transpose @ dissip[ [ic ] ], PlotLabel -> Style[label, Bold, Blue, 22], AxesLabel -> {Style[r, Bold, Black, 14, FontFamily -> "Arial"], Style[\(\omega\), Bold, Black, 14, FontFamily -> "Arial"]}, TicksStyle -> {Directive[Black, Bold, 14, FontFamily -> "Arial"], Directive[Black, Bold, 16, FontFamily -> "Arial"], Directive[Black, Bold, 14, FontFamily -> "Arial"]}, DataRange -> {{rmin, rmax}, {wmin*Pi, wmax*Pi}}, LabelStyle -> Directive[FontSize -> ts, Italic], ImageSize -> {size, size}, Ticks -> {Automatic, {-Pi, 0, Pi, 2 Pi}, Automatic}, BoxStyle -> Directive[Thick], PlotRange -> {0, 1.1}, BoxRatios -> {1, 1, 0.6} ] , Graphics3D[{ Gray, Opacity[0.4], InfinitePlane[{{rmin, wmin*Pi, z}, {rmax, wmin*Pi, z}, {rmax, wmax*Pi, z}}] } ] ]; |