ááĽáá á°áŤá˛ á áá°áááá
ááá˘áŤ
áá
ááľáłááť á¨á°áťáá á¨ááŁá¤á á áá ááá˘
áá° áááᏠáááľ á¨áááŤá´ á ááľ á¨ááá áąá áĽáŠ á á°á¨áááľ áἠáááľ áĽáááááᢠá¨áŽááá¨ááą á¨ááĽááľ áá˝ á¨áŤáá áŤá´áľáŤá ááľá áá áááᢠáŤá´áľáŤá á¨á´ááľ áá°ááľá áá áá áá ááľá áŚá˝ á ááą á˛áá ááŁá¤á á¨á°áŤáá°á áľ á áłáŤá˝ á ááá˝ ááłáŤáá˘
á á´ááľ áá°ááľá áá áľá´áľ á¨á˘áŽáá áŠáá¨áá˛á˛ ááá˘áŤ áá á°áłáłááá˝ á¨á°ááŞááš ááŤá¨á á¨áłáśá˝ á°áááá°á áá á - áĽáá˛á á á ááááąá. á áááᣠáá
áľ áľááá˝ á¨ááłá°á˘áŤ áááá˝ á°á°áĽá°áá (á áťááááľ - áĽáá áľááá á¨áá ášá ᣠáĽáľááŞáĽáś ᣠá¨áŽááá¨á ááááśá˝ áŤááľ á°ááŁááá˝)ᢠá¨ááł áĽá á¨áĄá áĽá¨ááśá˝ á ááŁá¤á ááá ááĽá ááľáĽ á°áŤá°áá. á áĄáľá ááľááł áá áľá áŁáá áĄá áĽá ááľ á áľááľá á áľá°ááŤáá - ááἠá°áŞáá˝ á áŁá áĽáŠ áá¸áᢠá áá
á¨ááá˘áŤ ááá ᣠááá
áą áŤáą ᣠá
ááš áĽá áŚáłá ááľááá á áááłá áľááśá˝á áĽáŤáᣠáááá á á
áááľ ááľá áľ áĽáááááá˘
á áĽá áĽá á áŞáŞá á¤áá á¨á°áááá ááᣠâáŽáááŤá ááłáĽá á áá áá á á°ááŁáŤá ááŚááááľ ááľáĽ áŤá á˝ááŽá˝á ááááłáľá˘ á¨ááŹáľ ááááĽáἠáá¨á ááá âá¨áĽááľ áááá˝ á¨ááŽáĄá áľâ áአáľáá°áᢠá¨áŞáááą áááľ áááľ áááá˝á áá¸áááᥠá ááááŞáŤáŁ á ááľáĽ á¨ááá á áááŞáá á á ááá
á¨á´ááľáá ááá
á ááááŞáŤ áá° ááŚááááľ á áá ááĽááľ ááľá¨á áŤáľáááááłá. ááŚááááľ á¨áááśá˝á á áŤáá áŁá áŞáŤáľ á¨ááŤá á áłáááľ ááᢠá°á á ᣠá ááśá˝ á¨á°ááŤáŠ áŁá áŞáá˝ áľááá¸á á¤áááľáŞá ᣠáááá˛á ᣠááľá˛á ᣠá°ááłá á¨ááŚááááľ áá´áá˝ á á-á¤áááľáŞá ááá ᣠáááá˛á ááŽáľááá˝á ᣠá¨ááŹáľ ááááĽááĽâŚ á áá á˝áá á ááľ ááľáĽ ᣠá¨ááŹáľ ááááĽáἠáľáá áŤá á¨á áá á áááá áĽáááááŤáá ᢠá¨á´ááľáá ááá áááľ áĽá áá ááá áá áá´ áá. áá´á á¨ááá ἠááá¨áľá á áááłáłáľ áĽá á¨áĽááľ áŚáłáá á¨áááĽáŠáľ áľáááŽá˝ ááá˝ á ááááἠáá á¨á°áá á¨á° ááᢠááá¨áśá˝ á ááŹáľ áá (á¨á˛ááááľ ááá ááá áŤááá á¨ááá¨áľ áááŽá˝ á¨ááá ἠááá¨áśá˝) ááá á áŁá á áá (á á á¨á á ááá) áá°á°áłáᢠá¨ááľá˛á ááá¨áśá˝ á áááľ á áá ááľáĽ áá°áŤáŤáᣠááááłá áĽá á¨á°ááŤá¨ áŁá ᪠áŁáá¸á á¨ááĽááĽáŽá˝ áá°á áá ááááŁáááᢠá áá¸áŁáŤá áááśá˝ áá° áá ááááłá áĽá á ááŹáľ áá á ááŚááá˝ áááááŁá (áĽááá áá á¤áááľáŽáłááá˛á ááłáŞáŤáá˝ á ááááľ ááľáĽ á á°á°ááá ááááľ áĽáá áľáá´ áá á¨á°áá°á¨áą áá¸á) ááá á áŁá á ááľáĽ áááľáŽááá˝ (á áááá¤áááľáŞá á°á áĽá áá á áááľá¨áľ)ᢠáááśá˝ á áá°ááąá áľ áá á ááľ á°á á¨ááŚáááŤá á˝ááá˝á áĽáááľ ááááľ áá˝áá.
á¨á´ááľáá ááá¨áĽ ááá°áť ááłáŞáŤáá˝
á¨á á¨á á˝áἠá¨ááá ἠááá¨áľá áŤáľá°áľáłáá˘
ááá ááš á áááľ ááá˝áľ ááľáĽ áŤááá áĽá á áááľáŽááá˝ áááááŁá
á á´ááľ áá°ááľá áá áĽáááŹá˝áźááľáŞ áľááľá á á
áŤá˘áŤ áŁáá áá°áś áá á¨ááŚáááŤá áĽááľ áááá ááá¨áĽ "á˘áŤá ááĽáŞá"
á¨á´ááľáá ááááľ áá´á
áľáááŽá˝ á¨á°ááŤáŠ á áŤáá áŁá áŞáŤáľ á áá¸á. áá´ááľáá ááá, á¨ááá ἠáŁá áŞáŤáľ á áááááľ á áľááá áá¸á - á¨ááá ἠááá¨áľá áĽá áĽááŤáŹá á¨áá°áŤá¨áľ ááĽááľ. áááľ ááĽááĽáŽá˝ á°ááłáłá ááá á°ááłáłá áŁá áŞáŤáľ áŤáá¸á, á¨ááŤá ááá á á ááŤá¨áá¸á áŤááá áľáá á "á áááá¨áľá". á ááĽááĽáŽá˝ ááľáĽ áŤáá á¨áááľ ááĽááśá˝ á¨á°ááŤáŠ, áá¸áĽáŤá á ááĽááĽáŽá˝ áá°á áá áá¨á°áłá. á ááĽá¨áśáš áá áŤáá ááŠááľ á¨á áá , áá¸áĽáŤá áá áἠáááá áááá. á¨ááĽá°áą áá á á¨áááŤá á ááááŁá¨á á áá áľ (rc) áááĄ
á¨áľ Ď á¨áááľ áĽáááľ áá, ν á¨áááľ ááĽááľ áá, 1 áĽá 2 á¨áááá áĽá á¨áłá˝áá ááĽááĽáŽá˝ áŤááááłá.
á áŁá ááá áĽá á áŁá á á°á°ááá áĽá á áá á¨ááááľ á¨á´ááľáá á˛ááá áá´áá˝ á ááą á¨áŽááŽáá˝á áá´á ááᣠá¨á°ááłá á¨ááŹáľ ááááĽáἠááááľ á á°áááŁá¨á á¨áἠááľ (pulse) á°á¨áłáłá áá¸áĽáŤá á áá áľ áá¤áľ áá á˛áá¨ááĄ
á¨áľ áá (áľ) - á¨ááŹáľ ááááĽáἠáąáŤ, áááľá. á á°áá°á á¨áá
á áá ááľáĽ á áááľáŽáá ááá á ááŚáá á¨á°ááłáá áá ᣠá(áľ) - á á á¨á á˝áἠá¨á°áá ᨠááááľ; n(t) - á¨áááá° áľáá˝.
á ááľ á°á á°áŤá˝ á¨á´ááľáá áąáŤ áĽáá° ááłá áĽáá°áᢠá á´ááľáá ááá áá á áľááľ áĽá á áá á¨áááá á¨áŞá¨á ááľ áĽáá° ááááŞáŤá ááááľ áĽáá ááááá˘
length=0.050; (*Signal lenght*)
dt=0.001;(*Sample rate of signal*)
t=Range[-length/2,(length)/2,dt];(*Signal time*)
f=35;(*Central frequency*)
wavelet=(1.0-2.0*(Pi^2)*(f^2)*(t^2))*Exp[-(Pi^2)*(f^2)*(t^2)];
ListLinePlot[wavelet, Frame->True,PlotRange->Full,Filling->Axis,PlotStyle->Black,
PlotLabel->Style["Initial wavelet",Black,20],
LabelStyle->Directive[Black,Italic],
FillingStyle->{White,Black},ImageSize->Large,InterpolationOrder->2]
á¨ááááŞáŤ á¨ááŹáľ ááááĽáἠáááľ
á 300 ms áĽá 600 ms áĽáááľ áá áááľ áľáá áŽá˝á áĽááľáááŁáá, áĽá á¨áá¸áĽáŤá
á
áá
áśá˝ á áááá° ááĽáŽá˝ áááá.
rcExample=ConstantArray[0,1000];
rcExample[[300]]=RandomReal[{-1,0}];
rcExample[[600]]=RandomReal[{0,1}];
ListPlot[rcExample,Filling->0,Frame->True,Axes->False,PlotStyle->Black,
PlotLabel->Style["Reflection Coefficients",Black,20],
LabelStyle->Directive[Black,Italic]]
á¨ááá¸áŁá¨á
á
áá
áśá˝ á
á°á á°á¨á°á
á¨á´ááľáá áąáŤáá á áľáá°á áĽááłáᢠá¨áá¸áĽáŤá
á
áá
áśá˝ á¨á°ááŤáŠ ááááśá˝ áľááá¸áᣠá á´ááľáá ááá áá áááľ á°ááá áá¸áĽáŤáá˝á áĽáááááá˘
traceExamle=ListConvolve[wavelet[[1;;;;1]],rcExample];
ListPlot[traceExamle,
PlotStyle->Black,Filling->0,Frame->True,Axes->False,
PlotLabel->Style["Seismic trace",Black,20],
LabelStyle->Directive[Black,Italic]]
á¨á°áá°á áľáŤá
ááá
ááłá, áŚáł ááľáŤá á áľááá áá - á áĽáááą, á¨ááĽááĽáŽá˝ áĽáááľ ááá°áá, á áĽáááĽ, á ááľá, áĽá á¨á´ááľáá áąáŤ áľááľ ááá á፠áá¨á°áłá. áĽáááśá˝á á ááľá áááááľ áĽá á ááĽááĽáŽá˝ ááľáĽ áŤááá ááĽááľ á ááá
á¨ááľá¨áť áááá˝á ááľááľ á¨á áá áľááá áááá. á áá
áááł, áá˛áŤáá á˝ááášá á áá ááá áá á ááááá.
áľá á¨ááľá áááá á¨á°ááááá, áĽáá°áá áŁá ááá¨áłáá˝ ááááŤáľ áĽá á á áŁá áĽá á°ááłáłá á¨áá á°á¨áłáłá (seismic traces) á°áááá áá. áááłá, 25 áŞ.á ááááľ áĽá 15 áŞ.á áľááľ áŤáá áŚáł á˛áŤá á, á áľáŤá ááááŤáľ, áĽáŤááłááą áąáŤ 25x25 ááľá á¨áááŤáá áááľ áŤáłáŤá (áĽáá˛á ááááą áááľ á˘á ááŁáá), á¨áá¨á¨áťá á¨ááἠáľááľá 600000 áąáŤáá˝á áááá. á ááá áá 1 ms áĽá á¨áá á áá 5 á°á¨ááľ, á¨áá¨á¨áťá á¨ááἠááá ᨠ11 áᢠá áá áááá, áĽá á¨ááá "áĽáŹ" ááłááľ áá á á ááśáá˝ á¨ááá አáááŁááľ ááá áá˝áá.
á¨áĽááą áá áĽáá´áľ áĽáá°áá áŤ
áĽá
á ááŚáá áŚ
á¨áĽá
á áĽáľááľ á°ááá¨
- á ZMAP áĽá IRAP á áá¸áśá˝ á¨áŤááł ááἠááľááŁáľ
- á LAS á áááľ ááľááśá˝ ááľáĽ áááŞáŤáá˝á ááľááŁáľ
- á¨á´ááľáá áááá˝ á
áá¸áľ áá¤áľ áĽá áá
ááľ
SEGY
áĽá
áá áááŤá, á á°á°á á°á á áĽá
á á áááľ áá˝ áá áŤááľá áááŞáŤáá˝ áá¨á°á á ááĽááľ, áááľá. á¨áá¨á°ááá áŽáľ á ááááá ááľáĽ áŤáľáá˝á
If[PacletInformation["GeologyIO"] === {}, PacletInstall[URLDownload[
"https://wolfr.am/FiQ5oFih",
FileNameJoin[{CreateDirectory[], "GeologyIO-0.2.2.paclet"}]
]]]
á¨á፠á áá áĽá á á ááŁáŞ á áá ááľáĽ ááŤáá ᣠáá°áá¨á°áá ááááľ ááá áá˝áá á˘
FileNameJoin[{$UserBasePacletsDirectory, "Repository"}]
áĽáá° ááłá, á¨áĽá áá áá á˝ááłáá˝ áĽááłáŤáá. áĽáŞá á Wolfram ááá áá áĽá áá˝ á á°áááś áá á¨áá°á¨áááĄ-
Get["GeologyIO`"]
áĽá
á á¨á°áááŁá á áá áá ááá˘
áĽáá˛á
ááááą ááá á á°ááá "Marmousi.segy" á¨ááá ááá áá - áá
á áá¨ááłá ááľáŽáá¨á á°áá á¨á°áááŁá á¨ááŚáááŤá ááá á°á á áŤá˝ áá´á áá. áá
á áá´á á áá áá ááá˘áá˝ ááááľ ááľá áá´áááᣠá¨ááἠáá°áľáŁ á¨á´ááľáá áąáŤ ááááŁá ἠááá° á¨áŤáłá¸áá áľáá° áááŽá˝ áááľáťáᢠá¨áááᲠáá´á áĽáŤáą áĽá
á á¨áá¨á°á áľ áá¨ááť ááľáĽ á°á¨áá˝áˇáᢠáááá áááááľ á¨áá¨á°ááá áŽáľ áŤááąáĄ-
If[Not[FileExistsQ["Marmousi.segy"]],
URLDownload["https://wolfr.am/FiQGh7rk", "Marmousi.segy"];]
marmousi = SEGYImport["Marmousi.segy"]
áá¤áľ á áľáᣠ- SEGYData ááá
ᨠSEGY á
áá¸áľ áľá ááá¨áłáá˝ á¨á°ááŤáŠ áá¨ááá˝á áá¨áá¸áľá áŤáŤáľáłáᢠá ááááŞáŤ, áĽááá
á¨á˝áá á áľá°áŤá¨áśá˝ áá¸á. áá
áľá áĽáŤá áŚáł áá¨á, áááŞáŤáá˝á áŤá¨ááá áŠáŁááŤáá˝ áľá, ááá°. á áĽá áááłáŁ áá
áŤáľá á¨áá áŤá á TextHeader ááá áĽáŤá ááᢠá áá á¨á˝áá áŤáľá áá¸áááĄ-
Short[marmousi["TextHeader"]]
"á¨áááᲠáá¨á áľáĽáľáĽ á¨á°áá á¨á á á°áá áá ... á áľááš ááĽááľ 1500 á/á° áĽá á˘á á 5500 á/á°)"
ᨠ"áąáŤáá˝" áááá á áá áá á¨á´ááľáá áąáŤáá˝á á ááľá¨áľ áľáááááá á¨ááŚáááŤá áá´á ááłá¨áľ áá˝áá (á¨áĽá á áŁá áŞáŤáľ ááľáĽ á ááą ááááš áááłá á¨áááłáá áá¸á)
ArrayPlot[Transpose[marmousi["traces"]], PlotTheme -> "Detailed"]
áá´á áááá˛
á á áá áá áĽá
á á¨áľááá
áááá˝ áá áá¨áá áĽáá˛áá ááá
áľáááłá ᣠáá
á áá á á á áľá áááŁááľ áá°ááľ á¨áá˝á áááá˝á áááľáŤáľ áŤáľá˝ááᢠá¨áĽá
á á°ááŁáŤáľ áá¨áá áá° .segy á¨ááá áĽá á á¨áá á ááá áá¨á¨áť áá á¨ááŤáŤá á°ááŁáŤáľá áŤáŤáľáłáá˘
á á°ááĽá, á¨á´á áááá˝ ááľáĽáľáĽ ááá á áá á˛á°áŠ á¨áĽá áá á°ááŁáŤáááľ áἠááŁá á¨áááŁá áá. áááá˝á áĽá á˘áá´ááśá˝á á áá áá á¨ááá°áŚá˝á áąáŤáá˝ áĽá áŤáľááá˝ áááľá¨áľ áĽáť áłááá áĽááąá ááááἠáĽá á¨á፠áá° ááá áĽáá˛á˝á áľáááá áľááᢠáĽáááš á¨ááŚááጠá á°ááŁá á á´áááŤá ááááŽá˝ á¨áá á˝áá áá°á á áá áá¸á áĽá ááááŁáľá á¨á°áᨠááá፠áááŁá¸ááá˘
á á´ááľáá ááá ááľáĽ á¨áĽááł áľáá°á á áľáááááľ
á¨á´ááľáá áá¨áá áá° Wolfram Mathematica á¨ááľááŁáľ á˝ááł ááá¨áŤ ááἠá áĽáŽ á¨á°á°áŤ á¨á˛ááá áá°áľá ááá áá áŤáľá˝ááᢠáĽáŤááłááą á¨á´ááľáá áąáŤ á°á¨áłáłá ááá áľááááá áĽááąá áááĽááľ á¨áá ááłáŞáŤáá˝ ááľáĽ á ááą á¨áĽááł áľáá°á ááᢠá¨á´ááľáá áá¨áá áľáááá˝ áľáĽáĽá ááá°áá°á á¨ááŤáľááááľ á áľá áááłáá˝ ááŤá¨á áááłá á¨áá¨á°ááľá áá°á¨á áĽáá˝áááá˘
- á¨á°ááŤáŠ á áááľ áááśá˝ á á°ááŤá¨ áľáááá˝ á ááĽá á°ááá°á ááłááá. áá á áá áááśá˝á áááááľ áĽá á¨áŁáá ááĽááľ áááśá˝á ááááłáľ áŤáľá˝áááłá.
- áĽáá° porosity áĽá saturation áŤá á¨áŽá áŁá áŞáŤáľ á¨áľáááá˝ áľáĽáĽá áá á°á˝áĽá ááŤáłáľáŠ áá˝ááᢠáá á áŁá áĽáŠ áŁá áŞáŤáľ áŤáá¸áá áľáááŽá˝ áááá¨áľ áŤáľá˝áá.
- á¨á°ááŤá¨ ááá¨áľ áŤáá¸á ááĽááĽáŽá˝ á á°ááŤá¨ áľáááá˝ ááá ááľáĽ áŤáá°áááą áááŽá˝á áŤáľá¨áľáá.
áŚáľá°áá ááĽáĽ á áá á˝áá á ááľ ááľáĽ ááá ááᢠá¨áłá˝ á¨á°ááŤá¨ ááá¨áľ áŁáá ááĽááĽá ááľáĽ á¨á´ááľáá áąáŤáá˝á áááľááľ á¨ááŤáľá˝á áŽáľ ááŤá á á - á¨á˝áĽáá áá´áᢠáá áá´á á¨á ááŤáł áĽáá¨áá˝ á¨ááááŁá¨á áááśá˝ áĽááľ á áĽááłá¸á á˛á°áŤá¨áĄ á¨áŁááááĽááľ á°á áĽááá˝á ááá°áá°á á á´ááľáá á á°áł áá á á°áááś á¨á°á á ááá˘
nx=200;(* Number of grid points in X direction*)
ny=200;(* Number of grid points in Y direction*)
T=2;(*Total propagation time*)
(*Velocity and density*)
modellv=Table[4000,{i,1,ny},{j,1,nx}];(* P-wave velocity in m/s*)
rho=Table[2200,{i,1,ny},{j,1,nx}];(* Density in g/cm^3, used constant density*)
Table[modellv[[150-Round[i*0.5];;,i]]=4500;,{i,1,200}];
Table[modellv[[;;70,i]]=4500;,{i,1,200}];
(*Plotting model*)
MatrixPlot[modellv,PlotLabel->Style["Model of layer",Black,20],
LabelStyle->Directive[Black,Italic]]
á¨áááá ἠááľá¨áł áá´á
á á˝áĽáá
ááľáĽ áŤáá á¨áááľ ááĽááľ 4500 á/á° ááᣠá¨á˝áĽáá
4000 m/s ááᣠáĽá áĽáááą áá 2200 á/á´áÂł áá á°áĽá ááłá°áŁáᢠááĽáá°áá
á áááľ áá´á, áá¸áĽáŤá
á
áá
áśá˝á áĽá á¨á´ááľáá áąáŤáá˝á áĽáá°ááá.
rc=Table[N[(modellv[[All,i]]-PadLeft[modellv[[All,i]],201,4000][[1;;200]])/(modellv[[All,i]]+PadLeft[modellv[[All,i]],201,4500][[1;;200]])],{i,1,200}];
traces=Table[ListConvolve[wavelet[[1;;;;1]],rc[[i]]],{i,1,200}];
starttrace=10;
endtrace=200;
steptrace=10;
trasenum=Range[starttrace,endtrace,steptrace];
traserenum=Range[Length@trasenum];
tracedist=0.5;
Rotate[Show[
Reverse[Table[
ListLinePlot[traces[[trasenum[[i]]]]*50+trasenum[[i]]*tracedist,Filling->{1->{trasenum[[i]]*tracedist,{RGBColor[0.97,0.93,0.68],Black}}},PlotStyle->Directive[Gray,Thin],PlotRange->Full,InterpolationOrder->2,Axes->False,Background->RGBColor[0.97,0.93,0.68]],
{i,1,Length@trasenum}]],ListLinePlot[Transpose[{ConstantArray[45,80],Range[80]}],PlotStyle->Red],PlotRange->All,Frame->True],270Degree]
á¨á´ááľáá á áťáŤáá˝ áá˝áĽáá
áá´á
á áá
ááľá áá á¨ááłá¨á á¨á´ááľáá áąáŤáá˝ á
á°á á°á¨á°á á¨á´ááľáá ááá ááŁáá. áĽáá°áááá¨áąáľ ᣠá¨á°áááŁá¨á áááśá˝ ááŚááľáŞ áá°á á˛á á¨á°ááá¸á áá´á áá áľááááłá°á áľáááá á ááłáá
á°á¨á áá¨ááá áá˝ááᢠáąáŤáá á á áá áááá á¨á°á°áá°á, ᨠ1 áĽáľá¨ 30 á¨áá°ááą áąáŤáá˝ á áááŤáŠá - á¨áá á¨áą áŁáŞáŤ áĽá á¨áłá˝ á áŠá áŤáá áá¸áĽáŤá
áĽááľ á ááľ á ááŁááŠá. ᨠ31 áá ááá áááŽ, áá¸áĽáŤáá˝ áŁáá áááŁáľ ááááŤá. áĽá ááá áĽááłá á á ááłáŤá ááľáĽ ᣠá¨áá¸áĽáŤá
á
áá
áśá˝ á á ááľá á ááááĄá - á¨á´ááľáá áąáŤáá˝ á¨ááľá¨áł ááá¨áľ á˛áá¨á áááá¸áá ááááŁáá˘
á¨ááľá¨áł á¨áááá áľáá á ááᎠáá¸áĽáŤá áŤááá amplitude áĽáááá¨áľ. ᨠ60 áá ááááľ áááŽ, á¨ááá¸áŁá¨á áĽááŤáŹ áá¨áá ááááŤá áĽá á 70 áá ááááľ á¨áá°á áááá. á¨áŁáŞáŤá áĽá á¨áłá˝áá á¨ááĽááĽáŽá˝ ááá á ááľáĽ áŤáá áŁááááĽááľ áĽáŤáąá á¨áááá á á áá ááááľ áá ᣠá á ááłááľ áááłáá˝ á á´ááľáá áááἠááľáĽ ááá áĽáá áŤáľá¨áľááá˘
ListLinePlot[GaussianFilter[Abs[traces[[All,46]]],3][[;;;;2]],
InterpolationOrder->2,Frame->True,PlotStyle->Black,
PlotLabel->Style["Amplitude of reflection",Black,20],
LabelStyle->Directive[Black,Italic],
PlotRange->All]
á¨á˝áĽáá
á¨áááá áŤá áá á¨á°áá¸áŁá¨áá áááľ áľááľ ááŤá
ááááą áá
á°á-áľáááá˝ á áááá áľ áá áŁáá-ááĽááľ á áľááá
á¨ááľá¨áł ááá¨áśá˝ áá ááłá¨áľ ááááŤá ᣠáĽá á á¨áá°á áľáááá˝ ááááľ ááľáĽ áŁáá-ááĽááľ á áľáá˝ ááá¨áľ áá¨á°áą ááááŤáłá ááᢠá¨áá¨á°áá á¨áŽáľ á
ááŁá˘ 35 Hzᣠ55 Hz áĽá 85 Hz áľáááá˝ áŤáá ááááľ áááĽáŤáá˘
waveletSet=Table[(1.0-2.0*(Pi^2)*(f^2)*(t^2))*Exp[-(Pi^2)*(f^2)*(t^2)],
{f,{35,55,85}}];
ListLinePlot[waveletSet,PlotRange->Full,PlotStyle->Black,Frame->True,
PlotLabel->Style["Set of wavelets",Black,20],
LabelStyle->Directive[Black,Italic],
ImageSize->Large,InterpolationOrder->2]
ᨠ35 Hz ᣠ55Hz ᣠ85Hz áľáááá˝ áŤáá¸á á¨ááá ááááśá˝ áľáĽáľáĽ
á¨á´ááľáá áąáŤáá˝á á ááľááľ áĽá á¨á°áááŁá¨á á¨ááá á áľááśá˝ ááŤáá˝á á ááłá áŁáá°ááŤáŠ áľáááážá˝ á ááľ áŤáá°ááá° á¨ááľá¨áł ááá¨áľ áá áĽáá°ááłá áá¨áľ áĽáá˝áááá˘
tracesSet=Table[ListConvolve[waveletSet[[j]][[1;;;;1]],rc[[i]]],{j,1,3},{i,1,200}];
lowFreq=ListLinePlot[GaussianFilter[Abs[tracesSet[[1]][[All,46]]],3][[;;;;2]],InterpolationOrder->2,PlotStyle->Black,PlotRange->All];
medFreq=ListLinePlot[GaussianFilter[Abs[tracesSet[[2]][[All,46]]],3][[;;;;2]],InterpolationOrder->2,PlotStyle->Black,PlotRange->All];
highFreq=ListLinePlot[GaussianFilter[Abs[tracesSet[[3]][[All,46]]],3][[;;;;2]],InterpolationOrder->2,PlotStyle->Black,PlotRange->All];
Show[lowFreq,medFreq,highFreq,PlotRange->{{0,100},All},
PlotLabel->Style["Amplitudes of reflection",Black,20],
LabelStyle->Directive[Black,Italic],
Frame->True]
áá°ááŤáŠ áľáááážá˝ á¨á˝áĽáá
á¨áááá á áá á¨á°áá¸áŁá¨áá áááľ áľááľ ááŤáá˝
á¨á´ááľáá ááá¨áłáá˝ áá¤áśá˝ áľá á ááŁá አááá¨áľ áá°áá°á፠áá á¨ááľá¨áľ á˝ááł áĽá
á á áŁá á áá áá, ááááŤáąá á ááłá
ááá ááľáĽ áŤááľ áá áá á°ááŁáŤáľ ááŤá¨á á ááą á¨áá ááľááľ áááľá¨á á áŁá á°áľá á°áŞ ááĽáŚá˝á ááááá áá (áááľá, ááľá¨áł á¨á°áŤáá°áŁá¸á áŚáłáá˝). áááŤá)ᢠá á°á¨ááŞá, á ááŚáááŤá ááá ááľáĽ, áááĽá¨áľ á á°áá ᨠááá¨áľ áá á¨áá°á ááἠá¨ááŤáᣠáááŽá˝ ááአáá˝áá. áá
á¨áĽááł áľáá°á áĽááąá áááĽááľ áá¤áłá ááłáŞáŤ áŤá°ááááᢠá á áááš á áááĽáá ááá áĽáá°ááá
áŤááľá á¨ááŚáááŤá áááŽá˝ á á áá áááá áĽáááá¨áłáá.
á¨áá¨áŤ áááĽ. á¨á¨áľ á ááá¸á áĽá á ááľáŁá¸á áá áááá áĽááłáá áľ?
á á áááš ááľáĽ á¨á°á°áá°á ááłááśá˝ á áááŤáĽ áłáá¤áŞáŤ á°ááá°áá. áááᣠááá á°á áłááá áĽáá°ááŤáááᣠá¨á ááŤá˝á ááá áááľ á ááŤá˝ ááá ááᢠá¨á°ááá áááἠáááľ áŁááá ááá ááá á 60 ááš ááľáĽ á ááá ááľáĽ á°ááá¨á˘ ááá á¨ááłá ááá˝áľ ááá áá´ á¨á´ááľáá ááá áá. á¨áá á áááľ á¨áłá°áááľ ááľáá˝á áááá¨áľ á áľá°áłá˝ áá. á áľáá˝ á°á¨á ᣠáĽá á á áŁá áĽá á¨áá¨áá áĽá áááá˝á áá¨áľ áá˝áá ᣠáŤááłáá á ááľáᾠᣠá¨ááľááľ ááᎠáŚáłáá˝á áá¨áľ áá˝áá ᣠáĽá áŤááłáá áĽáľá¨ áá°áĄ á ááľáᾠᣠáĽáá˛áá á¨ááŹáľ ááááĽáἠáŤáá áľá ááááŤáá˝ ááá¨áľ áá˝áá ᢠááá¨áłáá˝ á°áŤáá°áá.
ᨠYandex áŤááłáá˝ á¨áłá°áááľ ááľá - ááŤáĽááľá á¨á°á á áŤáŁá˘
á á áá°áá ááľá áá á¨ááľááľ ááŁá á ááłá
á¨ááĽáŤáĽ áłáá¤áŞáŤ áááľ-á¨á°á¸á¨á áááśá˝ á á°áá áĽáááľ ááľáĽ áá¨á°áłá - ᨠ1 áŞ.á áĽáľá¨ 5 áŞ.á. áááľ á¨áŤá áá áá áľáááŽá˝ á Jurassic áĽá Cretaceous áá ááľáĽ á°ááĽá¨áá ᢠá¨ááŤá˛á áá ááááŁáľ á°ááłáłá áľá áŤáá ááá á áĽááá˝ áááľ ááłáááá˘
á¨ááŹá áá
á¨ááŤá˛á áá
áĽáŁááá á ááŤá˛á áá á¨ááĽáŤáĽ áłáá¤áŞáŤ áááľ á¨áŁá
á áłááť (á áááá˝ á¨á°áťáᨠááŹáľ áĽá áĽáááľ á¨ááá áŁá
á) áĽáá°áá ᨠáŤáľá°áá. á á¨áŠ ááš áľááá á á¨ááŤá áá á¨á°ááá° áááá ááľáŠ áá
á áááľáá áĽáá ááááľ áĽáá˝ááááĄ-
Jurassic áłáá¤áŞáŤ
á áá
áĽáá áá ááĽá á áľááá á¨ááá áĽááľáłáľá á áĽáá áłááá á¨á áľá°ááᣠáŤáá á¨ááá ááľá ááᢠááá áá°á áĽáá áŤáááá á¨ááŚáááŤá ááá ááᢠáĽáááłá áá á¨áááá˝ áĽáá
áľáá´ á á°áἠá¨á°á°á¨á°áŠ á¨á á¸á áľáááŽá˝ áĽáá˛á¨ááš áŤáľá˝áá¸áá, á¨ááŤá á¨ááłá
áá áŤáá፠áááá. áĽááá
á¨áá áá áŤáááŤáá˝ ááľáĽáľáĽ, ááľáĽáľáĽ á
áá˝ áááŤá¸á áá˝áá (áĽáá° ááá á áá) áĽá á°áááá ááá¨áľ á áá¸á - á áŁááŽá˝ á á
áŤá˘áŤ ááá¨áą áľáá˝ áá, ááá áá áá° á°áᥠááá¨á á
áἠááá ááŤá¨áá á áŤáŁá˘áá˝ áá¨ááŤá. áľááá
á ááŤá˛á ááľáĽ á¨á°áá áŠáľ áááá˝ á áá á áŚáľáľ áŞá ááľá áĽáááľ áá áááá áĽá á¨ááłá
áá áŤáááŤáá˝ ááá áá¸á.
á¨áá¨áŤ áááĽ. áá°áľ áĽá ááľáá
á á áááš ááľáĽ á¨ááłá¨áá á¨ááŹáľ ááááĽáἠááłááśá˝á á á°ááá¨á° áá˛áŤáá áŚáł áĽááŤá - ááá°áá°á áĽá á áá á¨áááá á¨ááἠáá á á¨áá°á á ááá - á¨áááť á¨ááŹáľ ááááĽáἠááááśá˝ áááĽáŤá áĽáť á á áááš á˝áá ááľáĽ á°áŤáľáˇáᢠáá ááááá á°á á¨áá áŤááľá áľááśá˝ áĽáá°áá áĽáá˛á°áŤ áŤáľá˝ááá.
á¨á´ááľáá áá¨á áá á áá°áŠá áľ áá á¨ááŚááááľ áá áĽááá áá áአáśááľáá áá ááá (áĽáľááłá¸á á áááľ áĽá á áá á¨ááá á ááŤáł á¨á˘ááąáľáľáŞ ááŞáá˝ á á áááłá ááľáŹá ááá ááŤá˛áá) áá á á¨á°ááŤáŠ á¨ááἠááááśá˝á ááá°áá°á áĽá ááš á¨áá á¨ááŤáá á áááá˝ á áá. ááá áĽááłá ááá áážáśá˝ á˘ááŠá áĽááá á¨áśááľáá ááááśá˝á áľáááśá˝ á áá¸á - áááłá ᣠáááá áľáá° áááŽá˝á á á°á¨áá áľáŞáśá˝ ááľáĽ áá°áá አáĽá áá áááľáłá ᣠáĽá áľááśá˝á á áŤáľ-á°á á¨ááľá¨á ááľáá˝ áĽááá áá á¨á°áá°áĄ áá¸áᢠá áĽáá°áá ááááľ áááł á¨áŽááá°á á¨ááłáĽ áľáááśá˝á áĽá á¨áá°á á°á¨á á¨ááŽááŤá ááááá˝á áá áá á áŁá ááš áááá, áá á á°á á¨á áááŞáá áá°á¨áľá áá áá áĽá á á°ááłáłá áá áĽá áá°á á áľáŤáá˝á áááľáłá. áá á Wolfram Mathematica ááľáĽ á¨á´ááľáá áá¨á áá áááľáŤáľ á¨ááŤáááá ááá ááᢠá¨ááἠáá áááľáŤáľ á¨á ááá á°ááŁáá ááá á°áᢠá áá°áá - á á á ááá á°ááŁáááľ áŤáá á áá¸áľ ááŤáá áá¨ááἠᣠá¨áááááľá áľáá° áááŽá˝ ááĽááą áá°áá á áĽá áá° ááŤá á áá¸áľ áááś ááŤá á¨á áá á áľááá ááá˘
á¨áłáá°áá áĽá
áľ á áá¨á°á áááá á¨á´ááľáá áá¨áá áĽáááááá áĽá áĽááłáŤá¸ááá
Get["GeologyIO`"]
seismic3DZipPath = "seismic3D.zip";
seismic3DSEGYPath = "seismic3D.sgy";
If[FileExistsQ[seismic3DZipPath], DeleteFile[seismic3DZipPath]];
If[FileExistsQ[seismic3DSEGYPath], DeleteFile[seismic3DSEGYPath]];
URLDownload["https://wolfr.am/FiQIuZuH", seismic3DZipPath];
ExtractArchive[seismic3DZipPath];
seismic3DSEGY = SEGYImport[seismic3DSEGYPath]
á áá ááááľ á¨áá¨áą áĽá á¨ááĄáľ áá¨ááá˝ á¨10 á 5 áŞá ááľá áááľ áá á¨á°ááááĄáľ ááááśá˝ áá¸áᢠáá¨áá á¨áááá áŁá áśáľáľ á á áŁáŤá á¨á´ááľáá á¨áłá°áł áĽááľ áá´á á áá áá á¨áá (áááśá˝ á¨á°ááááĄáľ á ááá°áĽ ááŚáááŤá ááááŤáá˝ áłááá á á ááľ áá á á á ááá á áŤáŁá˘ áá áá) á¨ááŹáľ ááááĽáἠáłáł áŠáĽ ááááľ ááťáá. áĽááá áśáľáľ á á áŁáŤá áĽááá˝ áá¸á, áἠáŤá áĽá á ááľá áááá˝ á¨ááŚáááŤá á á¨áŁá˘á áááá áĽááľ ááá áłá. á á°á áá°á ááłá, áŁá áśáľáľ á á áŁáŤá áá¨áá áĽáááááá. á¨á˝áá áŤáľá á ááłááľ áá¨ááá˝á áĽáá°áá ááááľ áĽáá˝ááá
StringPartition[seismic3DSEGY["textheader"], 80] // TableForm
C 1 áá áááŚááᎠááŹá áá¨áŤ á¨ááłáŤ ááá ááá˘
Რ2
Რ3
Რ4
á 5 áá á¨á°á áá áľáᥠWOLFRAM á°á áá
C 6 á¨áłá°áł áľáᥠá¨áá áŚáł á áłáá¤áŞáŤ
C 7 ááá ááááľ 3D á¨á´ááľáá áľáá˝
Რ8
Რ9
C10 Z áááᥠá¨ááááŞáŤá 2200á á¨áá¨á¨áť 2400á
á¨áá¨á áľáá°á áá á°á¨ááá˝á áááłá¨áľ áá á¨ááἠáľáĽáľáĽ á á áááá. á ááá ááľáĽ áŤááľ áąáŤáá˝ á á á°á á°á¨á°á áááááŁá áĽá áĽáŤááłááłá¸á á¨áá¨á°ááá ááľá áááľáá - áá á áá ááá (áĽáááľ ááá) áá á¨á°áááŁá¨á áááśá˝ áľááľ áľáááľ ááá˘
ListLinePlot[seismic3DSEGY["traces"][[100]], InterpolationOrder -> 2,
PlotStyle -> Black, PlotLabel -> Style["Seismic trace", Black, 20],
LabelStyle -> Directive[Black, Italic], PlotRange -> All,
Frame -> True, ImageSize -> 1200, AspectRatio -> 1/5]
á¨ááŹáľ ááááĽáἠááá áá¨áłá°áŤáá˝ á ááą
á á°á áá á áŤáŁá˘ á áĽáŤááłááą á á
áŁáŤ áá áŤá
á áąáŤáá˝ áĽáá°ááá ááá
ᣠáŁá áśáľáľ á á
áŁáŤá á¨ááἠáľááľá áááá¨áľ áĽá Image3D[] á°ááŁáá á áá áá ááłá¨áľ áá˝ááá˘
traces=seismic3DSEGY["traces"];
startIL=1050;EndIL=2000;stepIL=2; (*кООŃдинаŃĐ° ĐĽ наŃаНа и кОнŃĐ° ŃŃŃПки и ŃĐ°Đł ŃŃĐ°ŃŃ*)
startXL=1165;EndXL=1615;stepXL=2; (*кООŃдинаŃĐ° Y наŃаНа и кОнŃĐ° ŃŃŃПки и ŃĐ°Đł ŃŃĐ°ŃŃ*)
numIL=(EndIL-startIL)/stepIL+1; (*кОНиŃĐľŃŃвО ŃŃĐ°ŃŃ ĐżĐž ĐžĐ¸Ń ĐĽ*)
numXL=(EndXL-startXL)/stepIL+1; (*кОНиŃĐľŃŃвО ŃŃĐ°ŃŃ ĐżĐž ĐžĐ¸Ń Y*)
Image3D[ArrayReshape[Abs[traces/Max[Abs[traces[[All,1;;;;4]]]]],{numIL,numXL,101}],ViewPoint->{-1, 0, 0},Background->RGBColor[0,0,0]]
á¨ááŹáľ ááááĽáἠáłáł áŞáŠáĽ XNUMXD ááľáᢠ(áá ááá - áĽáááľ)
á¨ááááľ á¨ááŚáááŤá áá
áłáá˝ áááá á¨á´ááľáá áŤáá°áááą áááŽá˝á á¨áááĽáŠ á¨áá, ááá˝ááľ áŤáá¸á á¨áĽááł ááłáŞáŤáá˝á áá áá ááťáá. á¨áá
áá "á áľááá áŤááá" áŚáłáá˝ á¨áááłáŠ ááá áá˝áá, áá
á áŤáá°áááą áááŽá˝á áĽáť áá°áá. á Wolfram Mathematica áá
áá á áá áá áá¨ááá áá˝ááá˘
data = ArrayReshape[Abs[traces/Max[Abs[traces[[All,1;;;;4]]]]],{numIL,numXL,101}];
Graphics3D[{Opacity[0.1], Raster3D[data, ColorFunction->"RainbowOpacity"]},
Boxed->False, SphericalRegion->True, ImageSize->840, Background->None]
ááá˝ááľ[] áĽá Raster3D[] á°ááŁáŤáľá á áá áá á¨á´ááľáá áłáł áŞáŠáĽ ááľá
áĽáá° á°á á áŤá˝ ááłáᣠá ááá áŞáŠáĽ áááá˝ áá á ááľ á°á á á°áááá áĽáááł á ááłááľ á¨ááŚáááŤá áľáá áŽá˝á (ááĽááŚá˝á) ááá¨áľ áá˝ááá˘
ááĽááł áľáá°á ááá ááŁáŞáŤ ááŞá¨á á˝ááá ááᢠá áĽáą áĽááłáł á¨áĽáŤáá˛áá° áąáŤ ááá á¨áĄáľá áĄá´á áľááľ-frequency spectrum ááááá áá˝áá. ááá áá áááĄá áá° áľáááá˝ á፠áŤáľá°ááá á áá áá¨áá á áá áŤá á áá (á á¨áľáá áĽáááľ ááá áĽ) áľááááš áĽáá°ááá¨á áá ááᢠá¨ááááľ áááŚá˝á á á°ááą (áĽáááľ) ááá áá áááŤá°áľ á¨áááśá ááŞá¨á á˝ááá áĽá á¨áááľ áá áľá áľ áĽá á áá ááááᢠáá á˝áá á¨áááľ áá áľá áľá áá áááᢠá¨áááľ áľáá°á á´áááá á 90ááš ááľáĽ á á´ááľáá ááá áá á áááľ áĽá á áá ááá ááá¨á˘ á ááľáŽáľ á¨á°á¸ááá ááŞá¨á áľáŤááľáááá˝á áá áŤáá áĽá á á¨á°áťá áá áááť áĽáá°áá ááá áŤáá˘
á¨áá¨á°ááá á¨áŽáľ ááŤá á áá áá á¨á´ááľáá áąáŤáá˝ á ááąá áá° ááá°áŁá á áŤááľ áá áľá áľ áá˝áááĄ
cwd=ContinuousWaveletTransform[seismicSection["traces"][[100]]]
Show[
ListLinePlot[Re[cwd[[1]]],PlotRange->All],
ListLinePlot[seismicSection["traces"][[100]],
PlotStyle->Black,PlotRange->All],ImageSize->{1500,500},AspectRatio->Full,
PlotLabel->Style["Wavelet decomposition",Black,32],
LabelStyle->Directive[Black,Italic],
PlotRange->All,
Frame->True]
á¨á ááľá ááá áá° áááá˝ áá áľá áľ
á¨ááá¸áŁá¨á
ááá á á°ááŤáŠ á¨ááá á ááľá¨áť áááŤáľ áĽáá´áľ áĽáá°áá°áŤá áááááá, áľáŤáááŤá (ᨠspectrogram áá á°ááłáłáááľ áŤáá) áĽá
á áá áááá. áĽáá° á ááľ á°ááĽ, á á°ááŁá áááá áááá˝ áá°áá°á á áŤáľáááá. á á°áááś áá
á°á, ááŤá¨áá áĽá á¨áá°á áľáááá˝ áááá˝ á°ááá áá.
freq=(500/(#*contWD["Wavelet"]["FourierFactor"]))&/@(Thread[{Range[contWD["Octaves"]],1}]/.contWD["Scales"])//Round;
ticks=Transpose[{Range[Length[freq]],freq}];
WaveletScalogram[contWD,Frame->True,FrameTicks->{{ticks,Automatic},Automatic},FrameTicksStyle->Directive[Orange,12],
FrameLabel->{"Time","Frequency(Hz)"},LabelStyle->Directive[Black,Bold,14],
ColorFunction->"RustTones",ImageSize->Large]
áľáŤáááŤá. á¨á°ááŁá áá¤áľ
á¨áŽáááŤá ááá ááááľ ááἠá°ááŁá áá ááá
tracesCWD=Table[Map[Hilbert[#,0]&,Re[ContinuousWaveletTransform[traces[[i]]][[1]]][[{13,15,18}]]],{i,1,Length@traces}];
á°ááŁáŠá á¨á°á áá á áá
áá¤áąá á¨áĽáŤ áŁáá°á¨áŚá˝á áá áááŤáľ ááá áá°áá áá áá á¨áĽ á¨ááá á¨ááŚááᎠáĽá áá ᨠSEGYExport[] á°ááŁá áá áá áá˝áá
outputdata=seismic3DSEGY;
outputdata["traces",1;;-1]=tracesCWD[[All,3]];
outputdata["textheader"]="Wavelet Decomposition Result";
outputdata["binaryheader","NumberDataTraces"]=Length[tracesCWD[[All,3]]];
SEGYExport["D:result.segy",outputdata];
á¨áĽááá
áŠáŚá˝ ááľáĽ á áŚáľáą (áá
á°á áľáááá˝áŁ ááŤá¨áá áľáááá˝ áĽá á¨áá°á áľáááá˝ áááá˝) RGB áá°áŁáá
á á°áááś áááĄá á ááľ áá ááá¨áľ áá á
ááᢠáĽáŤááłááą á áŤá á¨áŤáą ááá - áá, á á¨ááá´, á°ááŤá ááá°áŁá. á Wolfram Mathematica áá
á°ááŁáŠá á áá áá áá¨ááá áá˝ááá˘
áá¤áąá á¨ááŚáááŤá áľááá áá°á¨ááŁá¸á á¨áá˝á ááľáá˝ áá¸á. á ááá áá á¨á°ááááĄáľ á ááŤáá˝ á¨áá áá áŤáááŤáá˝ áĽá á¨áááľ ááá˝áśá˝á á¨ááááľá áááŚáťááá˝á áááá¨áľ áŤáľá˝ááᢠáĽáá˛á áŤá ááá áĽáááľ áááá analogues ááŤá¨á ááá áĽá áľáá°á menders á áŁá á°áľá áááá˝ áááá°á áŤáľá˝ááá. á°ááŚáš áĽáŤáłá¸á á á°áἠá á°á°á¨á°áŠ á¨á á¸á áľááá áĽá áĽá áŤá áĽá ááááľ áĽáŠ á¨áá áá áŤáá፠áá¸áᢠᨠ"áłáá´á" áŤáá°áááą áááŽá˝ áá áŤá áŚáłáá˝ á¨áááá á¨ááá ááł ááá˝áśá˝ áá á°ááłáłá áá¸á. á¨ááá ááł ááá˝áśá˝ á áááááľ á¨ááá¨ááľ á á¸áá áľááá áá áĽá áá° áĽááá ááá˝ áááá áá¤áłá á ááááá˘
á¨ááἠáŞáŠáĽ RGB ááŤáᢠá ááá¨á ááľáĽ (á¨ááá¨á á áľá°á፠áľáá˝) á¨ááŤá¨áááá ááá áá¨áłá°á áá˝áá.
á¨ááἠáŞáŠáĽ RGB ááŤáᢠá á፠á áŠá á¨ááŤá¨áááá ááá áá¨áłá°á áá˝áá.
á á ááłááľ áááłáá˝ á¨á´ááľáá áá¨á áĽáŤáľ á áŁá ááá˝ á¨áá ááľáá˝á ááá
áłá. áá
á ááľá áĽáŤ áá´, á áľáá˝ á
ááł áľáá° ááá áĽá
á áá á ááá ááłáŞáŤáá˝ áá á¨á°áá°á¨á° áá. á áĽáá°áá
ááááľ áááłáá˝, á¨ááá áľáááśá˝ áááĽáŤáŽá˝ áĽáť áłááá áá á áá á¨á°áá¨á á¨áááŽ-áááá˝á ááá áá¸á.
á¨ááŹáľ ááááĽáἠáłáł áŠáĽ (á ááľá ááŤá) á¨áśáľáľ á áŤááľ RGB áľáĽáá
ᢠáĽáááľ á áááľ 2 áŞ.á.
á áłáŤáśá á á
áŤá˘áŤ á¨áááá á¨áŽáá ááá á¨áłá°áááľ ááľá
áá°áá°ááŤ
Wolfram Mathematica á¨á´ááľáá áá¨áá ááá°áá°á áĽá á¨áááľá ááá áá á¨á°áŤáŤá á¨á°á°áá አá˝ááŽá˝á ááááłáľ ááá
áľáááłá, áĽá á¨ááŚááá áጠáĽá
á áá
á áá°áľ á¨á áá ááš áŤá°áááá. á¨ááŹáľ ááááĽáἠáá¨á á áááá áľááśá˝á áááá á á áĽáŽ á¨á°á°áŠ áá´áá˝á á áá áá áá (
ááá: hab.com