找回密码
 欢迎注册
查看: 23938|回复: 0

[讨论] 如何用软件求一个最大值

[复制链接]
发表于 2021-2-9 23:38:46 | 显示全部楼层 |阅读模式

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

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

×
有一个椭圆 \( \frac{x^2}{a^2}+\frac{y^2}{b^2}=1   \),将这个椭圆逆时针向旋转 \(\theta\) 角后,这个倾斜的椭圆方程为:

\( \frac{(x\cos\theta+y\sin\theta)^2}{a^2}+\frac{(-x\sin\theta+y\cos\theta)^2}{b^2} = 1\) -----------------------(1)

问题: 当 \(x \) 取何值时 \( y \) 有最大值?

答案是当 \(x=\frac{(a^2-b^2)\sin\theta\cos\theta}{\sqrt{a^2\sin^2\theta+b^2\cos^2\theta}} \) 时\( y \) 有最大值 \(y=\sqrt{a^2\sin^2\theta+b^2\cos^2\theta} \)。

现在的问题是,如果用 mathematica 直接从公式 (1) 求最大值,如何写程序代码?

我写了一个,如下。勉强能用,计算很慢不说,给出的结果从形式上也很难看。

  1. Clear["Global`*"];
  2. FullSimplify@
  3. Maximize[{y, (x Cos[\[Theta]] + y Sin[\[Theta]])^2/
  4.      a^2 + (-x Sin[\[Theta]] + y Cos[\[Theta]])^2/b^2 == 1,
  5.    a >= b > 0, Sin[\[Theta]] > 0, y > 0}, {x}]
复制代码


不知如何改进上面这个代码?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

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

GMT+8, 2024-11-21 21:12 , Processed in 0.024187 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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