Как перечислить все встроенные физические константы в Mathematica 11.3?

Решение, которое сработало для меня:

Сериализованный класс и свойства будут оформлены следующим образом:

[DataContract]
public class MyDataClass
{
  [DataMember(Name = "LabelInJson", IsRequired = false)]
  public string MyProperty { get; set; }
}

IsRequired был ключевым элементом.

Фактическая сериализация может быть выполнена с помощью DataContractJsonSerializer:

public static string Serialize<T>(T obj)
{
  string returnVal = "";
  try
  {
    DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
    using (MemoryStream ms = new MemoryStream())
    {
      serializer.WriteObject(ms, obj);
      returnVal = Encoding.Default.GetString(ms.ToArray());
    }
  }
  catch (Exception /*exception*/)
  {
    returnVal = "";
    //log error
  }
  return returnVal;
}
0
задан Rohit Namjoshi 19 January 2019 в 06:25
поделиться

1 ответ

Вы можете использовать Представление знаний & amp; Доступ к функциям , таким как Entity и EntityValue . Все результаты соответствуют версии 11.3.

Сначала запросите все объекты, у которых есть "phys" в названии, как в «физическом» или «физическом».

Select[StringContainsQ["phys", IgnoreCase -> True]]@EntityValue[]
{"FamousPhysicsProblem", "PhysicalConstant", "PhysicalSystem"}

Возвращает три типа сущностей, где "PhysicalConstant" является лучшей ставкой. Свойства, доступные для этих объектов:

Все можно вернуть с помощью

EntityValue["PhysicalConstant", "Name"]

Для конкретного объекта для гравитации Земли.

EntityProperties["PhysicalConstant"]
{"AbbreviationCode", "AlternateNames", "ASCIIDescription", "Classes", 
 "ConjecturedValues", "Description", "EqualMagnitudeConstants", 
 "EquivalentForms", "ExternalLink", "LevyLeblondClass", "Name", 
 "PrimarySource", "Quantity", "SeriesExpansionValues", 
 "StandardUncertainty", "StandardYear", "Value", "Values", "Variants", 
 "VariantTable"}

Свойство "Classes" выглядит полезным.

DeleteDuplicates@Flatten@Join@EntityValue["PhysicalConstant", "Classes"]
{"Acceleration", "Cosmological", "Atomic", "CODATA", "Mass", 
"Particle", "Spectral", "Astronomical", "Distance", "IAU", "Radius", 
"Chemical", "Thermal", "Electric", "Dimensionless", "Exact", "Force", 
"Frequency", "Magnetic", "Momentum", "Pressure", "Temperature", 
"Time", "Speed", "WolframLegacyPackage", "Thermodynamic", 
"AstronomicalAlmanac", "MassRatio", "CGPM", "Quantum", 
"Gravitational", "Natural", "ForceRatio", "Coupling", "Radiation", 
"Energy", "SolidState", "Length", "Area", "Volume", 
"ParticleDataGroup", "Angle"}

"Acceleration" кажется лучшей ставкой.

a = EntityClass["PhysicalConstant", {"Classes" -> "Acceleration"}]
EntityValue[a, "EntityCount"]
3
EntityList[a]
{"AccelerationAssociatedWithCosmologicalExpansionRate", "MONDConstant", "StandardAccelerationOfGravity"}

Теперь объект можно выбрать с помощью

grav = Entity["PhysicalConstant", "StandardAccelerationOfGravity"]

, затем

[ 1112]
Quantity[196133/20000, "Meters"/"Seconds"^2]
grav["ExternalLink"]

http://physics.nist.gov/cgi-bin/cuu/Value?gn

< / blockquote>

Надеюсь, это поможет.

0
ответ дан Edmund 19 January 2019 в 06:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: