我一整天都在尝试这样做.基本上,我有一条线和一条点.我希望线条曲线并通过该点,但我不想要平滑的曲线.我不能像我这样定义曲线中的步数(谨防粗略的mspaint绘图):

等等.我尝试了各种各样的东西,比如从初始线的中心取角度然后在角度引导的点处分割线,但是我的长度有问题.我会把初始长度除以我所处的步数,但这不太对.
谁知道这样做的方法?
谢谢.
我有以下无向图
gr={1->2,1->3,1->6,1->7,2->4,3->4,4->5,5->6,5->7};
Run Code Online (Sandbox Code Playgroud)
我想用GraphPlot以'菱形'格式绘制.我这样做如下所述(方法1)给出以下内容:

问题是这种表示具有欺骗性,因为顶点4和1或1和5之间没有边缘(边缘是4到5).我希望改变边缘{4,5}的路线,得到如下内容:

我通过包含另一条边{5,4}来做到这一点,现在我可以使用MultiedgeStyle来"移动"有问题的边缘,然后通过定义EdgeRenderingFunction来消除添加的边缘,从而不显示有问题的线条.(方法2,'解决方法').至少可以说这很尴尬.有没有更好的办法?(这是我的第一个问题!)
方法1
gr={1->2,1->3,1->6,1->7,2->4,3->4,4->5,5->6,5->7};
vcr={1-> {2,0},2-> {1,1},3-> {1,-1},4-> {0,0},5-> {4,0},6-> {3,1},7-> {3,-1}};
GraphPlot[gr,VertexLabeling-> True,
DirectedEdges-> False,
VertexCoordinateRules-> vcr,
ImageSize-> 250]
Run Code Online (Sandbox Code Playgroud)
方法2(解决方法)
erf= (If[MemberQ[{{5,4}},#2],
{ },
{Blue,Line[#1]}
]&);
gp[1] =
GraphPlot[
Join[{5->4},gr],
VertexLabeling->True,
DirectedEdges->False,
VertexCoordinateRules->vcr,
EdgeRenderingFunction->erf,
MultiedgeStyle->.8,
ImageSize->250
]
Run Code Online (Sandbox Code Playgroud) 很多时候我发现自己计算出现的次数,Tally[ ]然后,一旦我放弃原始列表,必须添加(和加入)到该计数器列出来自另一个列表的结果.
这通常发生在我计算配置,事件,执行一些离散统计等时.
所以我为Tally聚合定义了一个非常简单但方便的函数:
aggTally[listUnTallied__List:{},
listUnTallied1_List,
listTallied_List] :=
Join[Tally@Join[listUnTallied, listUnTallied1], listTallied] //.
{a___, {x_, p_}, b___, {x_, q_}, c___} -> {a, {x, p + q}, b, c};
Run Code Online (Sandbox Code Playgroud)
这样
l = {x, y, z}; lt = Tally@l;
n = {x};
m = {x, y, t};
aggTally[n, {}]
{{x, 1}}
aggTally[m, n, {}]
{{x, 2}, {y, 1}, {t, 1}}
aggTally[m, n, lt]
{{x, 3}, {y, 2}, {t, 1}, {z, 1}}
Run Code Online (Sandbox Code Playgroud)
这个功能有两个问题:
1)表现
Timing[Fold[aggTally[Range@#2, #1] &, {}, Range[100]];]
{23.656, Null}
(* …Run Code Online (Sandbox Code Playgroud) 我需要得到矩形和直线的交点.在矩形(矩形的中心)内有B点,在外面有A点.我需要在一个矩形边框上找到C点.我也得到了矩形的宽度和高度.

所有这些都将是WPF应用程序,所以如果任何构建功能我将非常高兴.
假设给你一组间隔(长度不一定是整数).如何确定给定集合中任何两个间隔之间是否存在重叠?我想知道是否有间隔数的线性解决方案.
PS:不是硬件问题.在我对一家公司的采访中提到了这一点.
我使用:
data=Import["http://weburl/","Data"]
从一个站点导入数据.在该页面上有表格.这将创建嵌套列表,您可以轻松地以表格形式获取数据.例如:
Grid[data[[1]]]
会给出这样的东西:
Player Age Shots Goals
P1 24 10 2
P2 22 5 0
P3 28 11 1
...
Run Code Online (Sandbox Code Playgroud)
现在,这是问题所在.如果html表中的一个单元格为空,例如"Age"的条目,那么在html中,这将是这样的:<td></td>.Mathematica根本不包括在列表中,甚至不包括例如"Null"值.相反,这一行只是由长度为3的列表表示,数据将被移动一列,因此您将获得"镜头"代替"年龄"和"目标"代替"镜头"和"目标" "会空的.例如,一个年龄未知的"P4"(html表中的空单元格),有10个镜头并且得分为0的目标将被导入为长度为3的列表而不是4并且移动一个:
Player Age Shots Goals
P1 24 10 2
P2 22 5 0
P3 10 0
...
Run Code Online (Sandbox Code Playgroud)
这会带来一个难题,因为如果您有一些空字段,那么您无法从列表中分辨出它属于哪一列.在Mathematica中导入时,有没有办法在html表中的空单元格上放置"Null"?例如,列表中的P4元素将如下所示:
data[[1,5]]
{"P4","Null",10,0}
而不是:
{"P4",10,0}
数学" CylindricalDecomposition实现称为圆柱代数分解的算法.Wolfram MathWorld关于圆柱代数分解的文章称,这种算法"在计算上对于复杂的不等式变得不可行".
这句话可以更精确吗?具体来说,时间和空间如何与多元多项式的变量的次数和数量相关?时间和空间是否依赖于其他参数?
algorithm wolfram-mathematica time-complexity space-complexity
警告!当Mathematica v 8.0是最酷的孩子时,我发布了这个问题.从版本9.0.1开始,该错误已得到解决

然而:
CompleteGraph[4,
EdgeWeight -> Range@6,
VertexShapeFunction -> "Name",
EdgeLabels -> "EdgeWeight"]
Run Code Online (Sandbox Code Playgroud)
结果是:

所以,没有Edge Labels ......我想这是一个bug.
我使用了一个讨厌的结构,如:
adj = {{\[Infinity], 1, 1, 1, 1}, {1, \[Infinity], 2, 2, 2},
{1, 2, \[Infinity], 2, 2}, {1, 2, 2, \[Infinity], 2},
{1, 2, 2, 2, \[Infinity]}};
WeightedAdjacencyGraph[adj,
VertexShapeFunction -> "Name",
EdgeLabels ->
MapThread[Rule,{EdgeList@#,AbsoluteOptions[#, EdgeWeight]/.{_ -> x_}-> x}],
GraphHighlight -> FindEdgeCover[#]]
&@ WeightedAdjacencyGraph[adj]
Run Code Online (Sandbox Code Playgroud)

好主意?
我是Mathematica(v8)的新手,并且正在使用它来编写命题逻辑.
我想知道运营商If和Implies运营商之间的区别.例如,
既If[p,q]和Implies[p,q]返回q的p=True(如预期).
但是当我尝试获得满意度时,我得到以下结果:
SatisfiabilityInstances[If[p, q], {p, q}]
(*
{{True, True}}
*)
Run Code Online (Sandbox Code Playgroud)
除非我要求更多实例:
SatisfiabilityInstances[If[p, q], {p, q}, All]
Run Code Online (Sandbox Code Playgroud)
SatisfiabilityInstances :: boolv:"如果[p,q]不是布尔值{False,True}.
然而:
SatisfiabilityInstances[Implies[p, q], {p, q}, All]
Run Code Online (Sandbox Code Playgroud)
返回预期的:
(* {{True, True}, {False, True}, {False, False}} *)
Run Code Online (Sandbox Code Playgroud)
造成这种差异的原因是什么?
我必须找到任意数量的给定线性方程的任何解决方案(可能存在很多或没有),其中包含任意数量的变量.在Java中.什么库和方法使用?要实施什么?我想尽可能地做到最好.