求问mathematica里面要把变量限制在一个集合中选择要如何输入? 比如要求x^2+y^2=5然后x为3,4,5,6,7时
y的值?Solve[x^2+y^2=5&&x属于{3,4,5,6,7},{x,y}]这样不行啊求方法...
y的值?
Solve[x^2+y^2=5&&x属于{3,4,5,6,7},{x,y}]这样不行啊
求方法 展开
Solve[x^2+y^2=5&&x属于{3,4,5,6,7},{x,y}]这样不行啊
求方法 展开
1个回答
展开全部
你需要纯函数和Map:
Solve[#^2 + y^2 == 5, {y}] & /@ {3, 4, 5, 6, 7}
具体请参看帮助中对 Function 和 Map 的说明。这是 Mathematica 程序设计中最重要的指令之二。
还有,请注意 = 和 == 是不一样的。
Solve[#^2 + y^2 == 5, {y}] & /@ {3, 4, 5, 6, 7}
具体请参看帮助中对 Function 和 Map 的说明。这是 Mathematica 程序设计中最重要的指令之二。
还有,请注意 = 和 == 是不一样的。
追问
你这样是不是先定义x,然后Solve指令里面直接提取之前的定义?=和==我知道,打错了,方便的话加个qq吧··45991750 想具体问一下,非常感谢啊
追答
不,这是所谓函数式编程,其实你看软件的自带帮助的话,里面写的很清楚的。这里的
Solve[#^2 + y^2 == 5, {y}] &
是一个纯函数,# 是这个函数的自变量,& 则是纯函数的标识,它的完整形式可以是
Function[Solve[#^2 + y^2 == 5, {y}]]
/@ 是指令 Map 的简写形式,它表示,将后续列表中的元素分别代入前面的函数中,整个指令的完整形式其实是
Map[Function[Solve[#^2 + y^2 == 5, {y}]], {3, 4, 5, 6, 7}]
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询