用matlab求解一个积分方程组,

求解这样一个方程组,其中M0=2400,u=1/6的重力加速度。fx fy z 是变量。求解fx fy z 的值。附上求解过程 谢谢。
>> syms fx fy z t f m u;
>> F1=fx/(m-(f*t)/2940);
>> F2=u-(fy/(m-(f*t)/2940));
>> d1=int(F1,t,0,z);
>> d2=int(F2,t,0,z);
>> d1

d1 =

-2940*fx*(log(m-1/2940*f*z)-log(m))/f

>> d2

d2 =

(u*z*f+2940*fy*log(m-1/2940*f*z)-2940*fy*log(m))/f

>> e1=sym('1692=d1');
>> e2=sym('57=d2');
>> e3=sym('fx^2+fy^2=7500^2');
>> e4=sym('f^2=7500^2');

接下来就不知道怎么解了

你给出的含积分的方程组求解是有点复杂,考虑了一下。可以用fsolve()函数来解决。解决方法的思路:

1、建立两个自定义函数,一个是自定义方程组函数,另一个是积分方程函数

2、用fsolve()函数解V,sigma,d1,d2的值。

x0=[1,-0.1,10,0.1]; 初值

x=fsolve(@func,x0);

3、求解结果

V=12.8694,σ=0.78086,P=0.0097895

如有问题可以进一步讨论或私信讨论。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-10-28

刚好回答了另外一个类似的问题(1830658703514901060,替换网页地址question后面的那串数字即可)。

 

这个问题应该很难求出解析解,应该使用fsolve求数值解。

参考代码(题中所给条件u=1/6疑为u=g/6之误):

m = 2400;
Q = 7500/2490;
g = 9.8;
a = g/6;
% Tx = x1, Ty = x2, t = x3
f = @(x) [quadl(@(t)x(1)./(m-Q*t),0,x(3))-1692;
    quadl(@(t)x(2)./(m-Q*t)-a,0,x(3))-57;
    sqrt(x(1)^2+x(2)^2)-7500];
x = fsolve(f,[5304,5304,700]);
fprintf('Tx = %.2f\nTy = %.2f\nt = %.2f\n',x)

 

求出的结果:

Tx = 6873.97
Ty = 2999.75
t = 417.17

追问

很是感谢,但是现在我们已经改了方程了,能麻烦再解一下这个方程组么?我可以追加悬赏。谢谢  那个378235改为427383,

追答

1、那几个Δ都要求等于0吗?
2、ΔH、ΔL的表达式中,对x进行积分的区间上限是x,意味着多了一个变量x待求?而且,被积函数中也并没有和x相关的项,那样照理说直接用被积函数乘以积分区间宽度就可以了?

追问

不好意思,图片除了点错误。

追答

你确定现在的公式就没问题吗?
看你的改动,一是把378235改为427383,二是把被积函数中的t改成x。
但这样又带来了问题:被积函数与t无关,0-t的定积分就是把函数乘以t,你确定是你想要的?

另外,我刚才问你的问题你并没有回答。

建议仔细梳理一下问题,减少无意义的反复,既有助于你的问题早点解决,也可以尽量避免浪费回答者的时间。

追问

把那两个式子拆成这四个应该意思就很明确了,因为有点赶时间,所以麻烦了。要是还是出错我们也就会放弃这个方法,但是还是会采纳你的答案的。那几个位移是已知的了呀。

本回答被提问者和网友采纳
第2个回答  2014-09-14
同学 你也是啊。。。追问

方程还是有问题的。

追答

唉,的确难,这次题目坑死人

相似回答