求问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}]这样不行啊
求方法
展开
 我来答
xzcyr
2013-03-12 · TA获得超过3396个赞
知道大有可为答主
回答量:1400
采纳率:100%
帮助的人:647万
展开全部
你需要纯函数和Map:
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}]
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式