الرياضيات: التخلص من "س ->" في نتائج FindInstance

StackOverflow https://stackoverflow.com/questions/1616091

  •  06-07-2019
  •  | 
  •  

سؤال

لنفترض لدي النتائج التالية:

a=FindInstance[2*b^2 + b^3 == b^4 + t && t < 10 && t > -1, {b, t}, 
  Integers, 20]
{{b -> -1, t -> 0}, {b -> 0, t -> 0}, {b -> 1, t -> 2}, {b -> 2, 
  t -> 0}}

وكيف يمكنني التخلص من "ب>" ومجرد الحصول على مجموعة من الإجابات (ب)؟ يمكنني الحصول على منتصف الطريق مع:

a[[All,1]]
{b -> -1, b -> 0, b -> 1, b -> 2}

ولكن كيف يمكنني الحصول على للتو:

{-1, 0, 1, 2}

والشكر

هل كانت مفيدة؟

المحلول

وأنا قد يكون في عداد المفقودين شيء من الجواب dreeves، ولكن الطريقة التي كنت دائما يعتقد أن تفعل هذا كان ببساطة عن طريق كتابة:

b /. a

وهناك مثال على ذلك في قسم "أمثلة الأساسية" من وثائق وظيفة Solve ، والذي يستخدم نفس أسلوب الانتاج.

نصائح أخرى

وعلى الرغم من أن الإجابة ويل هي الطريقة المتعارف عليها للقيام بذلك، وسوف توفر بدائل قليلة لمجرد التسلية.

In[37]:= ans={{b -> -1, t -> 0},{b -> 0, t -> 0},{b -> 1, t -> 2},{b -> 2, t -> 0}};

In[38]:= Cases[ans, (b -> a_) :> a, Infinity]

Out[38]= {-1, 0, 1, 2}

In[39]:= ans[[All, 1]][[All, 2]]

Out[39]= {-1, 0, 1, 2}

In[40]:= ans /. {b -> a_, _} :> a

Out[40]= {-1, 0, 1, 2}

In[41]:= (ans /. Rule -> List)[[All, 1, 2]]

Out[41]= {-1, 0, 1, 2}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top