请教一个命令函数
用reduce求出一个含有2个未知数的方程的整数解以后,怎么把其中一个变量的所有可能值存到一个集(set)合中?举个例子,输入
m = 13; g=Reduce[ s^2 + 3 a^2 == 37 m^4 && 0 < s && a > 0, {a, s}, Integers]
得出
(a == 26 && s == 1027) || (a == 294 && s == 893) || (a == 338 &&
s == 845) || (a == 546 && s == 403) || (a == 586 && s == 163)
怎么让它自动把26,294,338,546,586存到{}里?
我记得a./g可以的,但是试了不行.不知道错在哪了 a/.g是不符合语法的。
因为ReplaceAll函数 /.要求第二个参数是Rule类型的。而g是逻辑表达式。
需要将逻辑表达式g转换成Rule类型的,参考代码如下:a /. List]其实Mathematica的每一种表达式都非常有趣的,楼主琢磨一下这种方式,
也是异曲同工的:g[] /. Or -> List Mathematica8里的Solve函数也支持丢番图方程的:m = 13; g = Solve然后是 a/.g
不过,返回结果是用ConditionalExpression表达的。
试试g[]
页:
[1]