找回密码
 欢迎注册
查看: 2083|回复: 12

[求助] Mathematica 代码求助

[复制链接]
发表于 2022-12-1 17:48:30 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?欢迎注册

×
求助高人,如下的代码:

ClearALl["Global`*"];
a = x I; a' = -a; b = b' = 0; c = c' = x; d = x (1 + I);
d' = x (1 - I); e = x + y I; e' = x - y I;
Duichendian[p_, a_, b_] := (a' b - a b' + p' (a - b))/(a' - b');
Duichendian'[p_, a_, b_] := (a b' - a' b + p (a' - b'))/(a - b);
k[a_, b_] := (a - b)/(a' - b');
g = Duichendian[d, a, e]; g' = Duichendian'[d, a, e];
sol = Solve[{k[g, b] == k[g, f], k[c, f] == -1}, {f, f'}];
Print["f=", f /. Last[sol], ", f'=", f' /. Last[sol]];

为什么第一次运行显示:
f=(((1-I) ((1+I) x^3 y-x^2 y^2-(1+I) x^2 y (0&)+x y^2 (0&)+(1+I) x^2 y x^\[Prime]-x y^2 x^\[Prime]))/(4 x^2 y-2 x y^2-2 x^2 (0&)+2 x y (0&)-y^2 (0&))), f'=-((-2 x^3 y+(1+I) x^2 y^2+2 x^3 (0&)-4 x^2 y (0&)+(2-I) x y^2 (0&)-2 x^2 y x^\[Prime]+(1+I) x y^2 x^\[Prime]+2 x^2 (0&) x^\[Prime]-2 x y (0&) x^\[Prime]+y^2 (0&) x^\[Prime])/(4 x^2 y-2 x y^2-2 x^2 (0&)+2 x y (0&)-y^2 (0&)))

再运行一次则显示:
f=((1-I) x ((1+I) x-y))/(2 x-y), f'=-(((1+I) x ((-1+I) x+y))/(2 x-y))

Mathematica 版本:12.3
平台:win10

2022-12-01_174634.png
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2022-12-1 18:07:26 | 显示全部楼层
换成上划线也是一样的:
2022-12-01_180649.png

点评

强烈反对说废话!  发表于 2022-12-2 09:05
nyy
强烈反对没注释、没缩进、多层嵌套、一行的任何语言的代码!  发表于 2022-12-2 08:47
nyy
换位思考很重要!!!!!!! 你写的代码那么差,一句注释都没有,也没缩进,谁想看你的代码? 要让我看你的代码,我就直接把你的代码扔到垃圾桶里面去。 代码连一点说明也没有。  发表于 2022-12-2 08:47
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2022-12-1 18:45:18 | 显示全部楼层
经查,将 b = b' = 0; c = c' = x; 换成 b' = b = 0; c' = c = x; 就好使了。

即改成:
ClearAll["Global`*"];
a = x I; a' = -a; b' = b = 0; c' = c = x; d = x (1 + I);
d' = x (1 - I); e = x + y I; e' = x - y I;
Duichendian[p_, a_, b_] := (a' b - a b' + p' (a - b))/(a' - b');
Duichendian'[p_, a_, b_] := (a b' - a' b + p (a' - b'))/(a - b);
k[a_, b_] := (a - b)/(a' - b');
g = Duichendian[d, a, e]; g' = Duichendian'[d, a, e];
sol = Solve[{k[g, b] == k[g, f], k[c, f] == -1}, {f, f'}];
Print["f=", f /. Last[sol], ", f'=", f' /. Last[sol]];

那位达人能告诉我是怎么回事吗?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2022-12-1 18:45:25 | 显示全部楼层
uk702 发表于 2022-12-1 18:07
换成上划线也是一样的:

我这里是这样的:

1,第一次运行,与你的"第一次运行显示"相同

2,对(1)再运行一次,与你的"再运行一次则显示"相同

3,对“第一次运行显示”作“化简”,也可以有“再运行一次则显示”

也有可能是需要对“文件”作“退出”“保存”“重启”。

我不行,想起网友 Mathematica是高手,可惜跑了。




点评

Mathematica还真算不上高手,本坛Wayne和chy才是。  发表于 2022-12-2 01:54
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2022-12-12 13:39:45 | 显示全部楼层
不要使用附标(下标、上横线、撇)定义变量。
因为那些东西根本不是变量,而是表达式。
你会遇到各种各样神奇的bug,没人想解决这些问题。

点评

应该是这个原因,这些天确实遇上一些这样的神奇问题,还不一定能重现。非常感谢!  发表于 2022-12-12 14:39
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2022-12-12 15:49:14 | 显示全部楼层
基础语法问题 一大堆,不止四处。我就不一一罗列了。
感觉最好还是 先快速走一遍 速成教程

点评

要先看宏观的概念,理解一些 心法,再看基础语法 去验证 前面的心法/概念,可能效果很快  发表于 2022-12-12 21:13
承教。买过一本书,但感觉用处不大。国内的资料似乎很难找,英文太差,它带的帮助很少看。  发表于 2022-12-12 16:45
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-4-20 04:09 , Processed in 0.045824 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表