关于matlab中solve函数的问题。

clear;clcr=45;f=42.5;seta=40.2*pi/180;t0=acos(r/(r+f));setaL=90*pi/180;symsxyt;I=(2*r... clear;clc
r=45;
f=42.5;
seta=40.2*pi/180;
t0=acos(r/(r+f));

setaL=90*pi/180;
syms x y t;
I=(2*r*f+f*f)^0.5+r*(t-t0);

S=solve(y==r*cos(t)+I*sin(t),x==r*sin(t)-I*cos(t),tan(setaL-eps)*x-y-400==0);
[S.x S.t]
end
1、我只要t0<t<seta+pi/2的解,该怎么做?
2、运行程序后,应该有多个解的,可实际上只有一个
ans =

[ 0.0000000000030085947156042354210984881121603, -227.76106453428599606112998813552]
求大神帮忙!
展开
 我来答
匿名用户
2015-10-24
展开全部
1、这个问题无法求出解析解,求数值解可以考虑使用fsolve函数,通过指定不同的初值也许可以求出多个解。至于想要限制t的范围,或者可以尝试用fmincon优化的方式。

2、第3个方程中,x的系数tan(setaL-eps)为3.5301e15,这使得该项非常敏感,很多算法都容易失效。

3、请问这个方程组要解决的原始问题是什么?建议贴出原始问题,也许可以建立一个更便于求解的模型。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式