2013-04-27 68 views
0

考虑,我得到这个输出最大值:在maxima排序解决方案?

b : solve([ans,ans2],[x,y]);  
float(b); 
    [[x=0.0,y=%r11],[x=-5.0,y=0.0],[x=1.0422311,y=0.537285*%i],[x=-0.940313,y=0.537285*%i],[x=-5.1019178,y=0.537285* 
    %i],[x=1.0422311,y=-0.537285],[x=-0.940313,y=-0.537285],[x=-5.1019178,y=-0.537285],[x=1.0422311,y=-0.537285*%i],[x=- 
    0.940313,y=-0.537285*%i],[x=-5.1019178,y=-0.537285*%i],[x=1.0422311,y=0.537285],[x=-0.940313,y=0.537285],[x=-5.1019178,y 
    =0.537285]] 

我怎样才能解决方案进行排序,并在域-2 < X < 2,和-2 <ÿ< 2只获取的呢?

我已经找了很多这个解决方案,这将是非常有用的,因为我可以找到我正在寻找什么没有任何“噪音”。

难道这是我在“解决”命令括号中写的东西吗?

非常感谢!

回答

1

您可以使用sublist

b: [[x=0.0,y=%r11],[x=-5.0,y=0.0],[x=1.0422311,y=0.537285*%i],[x=-0.940313,y=0.537285*%i],[x=-5.1019178,y=0.537285* 
    %i],[x=1.0422311,y=-0.537285],[x=-0.940313,y=-0.537285],[x=-5.1019178,y=-0.537285],[x=1.0422311,y=-0.537285*%i],[x=- 
    0.940313,y=-0.537285*%i],[x=-5.1019178,y=-0.537285*%i],[x=1.0422311,y=0.537285],[x=-0.940313,y=0.537285],[x=-5.1019178,y 
    =0.537285]]; 

filter(s):= block([x: assoc(x, s), y: assoc(y, s)], 
    featurep(x, real) and featurep(y, real) and x>-2 and x<2 and y>-2 and y<2); 

sublist(b, 'filter); 

返回:

(%o9) [[x = 1.0422311, y = - 0.537285], [x = - 0.940313, y = - 0.537285], 
       [x = 1.0422311, y = 0.537285], [x = - 0.940313, y = 0.537285]]