- 注册时间
- 2015-10-15
- 最后登录
- 1970-1-1
- 威望
- 星
- 金币
- 枚
- 贡献
- 分
- 经验
- 点
- 鲜花
- 朵
- 魅力
- 点
- 上传
- 次
- 下载
- 次
- 积分
- 2202
- 在线时间
- 小时
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?欢迎注册
×
有一个椭圆 \( \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) 求最大值,如何写程序代码?
我写了一个,如下。勉强能用,计算很慢不说,给出的结果从形式上也很难看。
- Clear["Global`*"];
- FullSimplify@
- Maximize[{y, (x Cos[\[Theta]] + y Sin[\[Theta]])^2/
- a^2 + (-x Sin[\[Theta]] + y Cos[\[Theta]])^2/b^2 == 1,
- a >= b > 0, Sin[\[Theta]] > 0, y > 0}, {x}]
复制代码
不知如何改进上面这个代码? |
|