拜求mathematica高手帮我排除错误~

这是一个含有三个未知数a,b,c,自变量为x的方程,可利用的条件是函数曲线经过(X1,Y1),(X2,Y2),而且在[X1,X2]区间上函数曲线长度是s,于是写出三个等式... 这是一个含有三个未知数a,b,c,自变量为x的方程,可利用的条件是函数曲线经过(X1,Y1),(X2,Y2), 而且在[X1,X2]区间上函数曲线长度是s,于是写出三个等式求解。于是软件给出了一行红色的警告,然后给出了一个复杂的解法,求解释警告的意思,而且帮忙检查一下格式对不对,理论上能不能求解,详细的有加分!!! 展开
pencilpine
2012-11-24 · TA获得超过661个赞
知道小有建树答主
回答量:381
采纳率:0%
帮助的人:433万
展开全部
首先格式有误,那句警告的意思就是Solve只能有两个参数,而你里面有4个.
Solve的格式是:Solve[{等式s},{变量s}],应该写成:
Solve[{f[X[1]] == Y[1], f[X[2]] == Y[2],
Integrate[Sqrt[1 + f'[x]^2], {x, X[1], X[2]}] == s}, {a, b, c}]
求解中间的积分其实是可以算出表达式的,最好提前算出并带入而非在求解中计算.实际上,
Integrate[Sqrt[1 + f'[x]^2], x]=a Sinh[b + x/a]

于是可以把求解句写为:
Solve[{f[X[1]] == Y[1], f[X[2]] == Y[2],
a Sinh[b + X[2]/a] - a Sinh[b + X[1]/a] == s}, {a, b, c}]
但这样还是不能解出,提示

Solve::tdep: The equations appear to involve the variables to be solved for in an essentially non-algebraic way.

即是说不能将a,b,c用其他参数的初等代数函数来表达.
不过至少数值解是可以的,比如过点(0,0),(1,1),绳长度为2(没记错的话f应该是悬链线方程吧),可以写:
FindRoot[{f[0] == 0, f[1] == 1,
a Sinh[b + 1/a] - a Sinh[b + 0/a] == 2}, {{a, 1}, {b, 1}, {c, 1}}]
结果为:
{a -> 0.26132672507652827, b -> -1.3640075431717957,
c -> -0.5445360419753983}
要看曲线图可再运行
Plot[Evaluate[f[x] /. %], {x, 0, 1}]
追问
谢谢!还有两个小疑问:1.那个积分你是手算的吗?我用mathematica算出来是一个比较复杂的三角函数式 2.从函数结构分析,a的取值不会影响函数的形状,a的变化只是使图像均匀伸缩,我想验证这一点,然后使用manipulate的函数,设定了x的范围后,让{a,1,10},横坐标的范围和尺度的确没变,但是纵坐标变得很厉害,尺度不断变化,导致图像上一会只有十几,一会二十几,根本没法观察函数图像的变化规律,请指教~谢谢
追答
那个积分算出来是:
a Sqrt[Cosh[b + x/a]^2] Tanh[b + x/a]

注意到
Cosh[b + x/a]^2总是大于零的,上式实际上就是
a Cosh[b + x/a] Tanh[b + x/a]

运行一下就得到
a Sinh[b + x/a]

但是很奇怪我用
FullSimplify[a Sqrt[Cosh[b + x/a]^2] Tanh[b + x/a], Assumptions -> Element[{a, b, x}, Reals]]

却运行不出来,还没想明白原因...

第二个问题,"a的取值不会影响函数的形状",我觉得是影响的吧?从积分出来的函数式看a的大小是影响绳长的,当两端点固定时绳长不同自然悬链线的曲线也不同啊...
或者说我还没理解到你的意思?
xzcyr
2012-11-24 · TA获得超过3399个赞
知道大有可为答主
回答量:1400
采纳率:100%
帮助的人:669万
展开全部
……a,b,c要用大括号括起来:
{a, b, c}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式