- 注册时间
- 2015-10-15
- 最后登录
- 1970-1-1
- 威望
- 星
- 金币
- 枚
- 贡献
- 分
- 经验
- 点
- 鲜花
- 朵
- 魅力
- 点
- 上传
- 次
- 下载
- 次
- 积分
- 2202
- 在线时间
- 小时
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?欢迎注册
×
本帖最后由 TSC999 于 2022-5-9 12:17 编辑
下面是一个证明两线段平行的简单程序,程序是用 mathematica 写的。
程序中 g 和 h 是两个自由变量,其余各点的复数坐标都是 g 、h 的函数。此程序中需要求出 g 的共轭复数表达式,为此由已知条件 BE // CF 和 EF 平行于实轴列出一个方程,解这个方程可以得到 \( \overline{g} \)的表达式,并且首次运行程序可以得到正确的结果。
但是不知什么原因,再次运行程序时就出错了。要想避免这个毛病,只能把首次运行结果补充到程序中去,同时把解方程语句注销掉。但是这办法显得笨笨的,也让读者不解。
有什么办法解决?
解方程这一段程序有问题:
- Clear["Global`*"];
- \!\(\*OverscriptBox[\(b\), \(_\)]\) = b = 0; \!\(\*OverscriptBox[\(c\), \(_\)]\) = c = 1; e = (g (1/2 - I h))/\!\(\*OverscriptBox[\(g\), \(_\)]\);
- \!\(\*OverscriptBox[\(e\), \(_\)]\) = ((I h + 1/2) \!\(\*OverscriptBox[\(g\), \(_\)]\))/g;
- f = (2 I h g + g - 2 I h - 2 \!\(\*OverscriptBox[\(g\), \(_\)]\) + 1)/(2 - 2 \!\(\*OverscriptBox[\(g\), \(_\)]\));
- \!\(\*OverscriptBox[\(f\), \(_\)]\) = (-2 g + 2 I h - 2 I h \!\(\*OverscriptBox[\(g\), \(_\)]\) + \!\(\*OverscriptBox[\(g\), \(_\)]\) + 1)/(2 - 2 g);
- Simplify@Solve[{(e - b)/(\!\(\*OverscriptBox[\(e\), \(_\)]\) - \!\(\*OverscriptBox[\(b\), \(_\)]\)) == (f - c)/(\!\(\*OverscriptBox[\(f\), \(_\)]\) - \!\(\*OverscriptBox[\(c\), \(_\)]\)), (e - f)/(\!\(\*OverscriptBox[\(e\), \(_\)]\) - \!\(\*OverscriptBox[\(f\), \(_\)]\)) == 1}, {\!\(\*OverscriptBox[\(g\), \(_\)]\)}]
复制代码 |
|