level 8
例如
L1 = {{1, 1}, {2, 4}};
L2 = {{2, 2}, {0, 4}};
求直线L1和L2的交点
我虽然做了出来,但觉得实现很罗嗦,期待比较好的解法
2012年12月09日 08点12分
1
level 8
我做的先发上来吧,最开始做的比这个更罗嗦
L1 = {{1, 1}, {2, 4}};
L2 = {{2, 2}, {0, 4}};
t = Solve[(y == k x + b /. Thread[{x, y} -> #] &) /@ #, {k, b}] & /@ {L1, L2};
Solve[y == k x + b /. t // Flatten, {x, y}]
2012年12月09日 09点12分
5
吧务
level 15
Solve[(
#[[1]] - #
[[2]])[[2]] (x -
#[[1, 1]]) == (y - #
[[1, 2]]) (
#[[1]] - #
[[2]])[[1]] & /@ {L1, L2}, {x, y}]
依旧啰嗦嗯……
2012年12月09日 10点12分
6
吧务
level 15
改进版:
Solve[Cross[
#[[1]] - {x, y}].(#
[[2]] - {x, y}) == 0 & /@ {L1, L2}, {x, y}]
2012年12月09日 10点12分
7
吧务
level 15
再改进版:
Solve[Cross[
#1 - {x, y}].(#
2 - {x, y}) == 0 & @@@ {L1, L2}, {x, y}]
2012年12月09日 10点12分
8
level 10
{x, Fit[L1, {1, x}, x]} /.
Solve[Fit[L1, {1, x}, x] == Fit[L2, {1, x}, x], x]
2012年12月09日 13点12分
9
吧务
level 9
Solve[y == InterpolatingPolynomial[#, x] & /@ {L1, L2}]
求更短的
2012年12月09日 13点12分
10
Solve[Cross[
# - {x, y}].(#
2 - {x, y}) == 0 & @@@ {L1, L2}],虽然加了空格可能看不大出来,但其实这个要短两个字符……
2012年12月09日 13点12分
主要是 InterpolatingPolynomial函数名太长了!
2012年12月09日 13点12分
回复 草红样 :
2012年12月09日 14点12分
给定三条线的表达式,怎么求组成的区域面积的表达式啊?
2018年02月11日 06点02分