带积分的二元方程组,未知数在积分中,能用matlab程序求解吗

带积分的二元方程组,未知数在积分中,能用matlab程序求解吗matlab小白一枚,求matlab大佬解答

第1个回答  2021-01-24
如何用matlab求解带积分的二元方程组?分析题主给出的求解代码存在着下列几个方面的问题:
问题一,由于给出的被积函数含有未知变量x1、x2,所以用integral函数不能求其积分值,而出现出错警告;
解决思路,设置未知变量x1、x2分别为某具体值,然后再用integral函数求其积分值。
问题二,在这里使用 vpasolve函数求解变量x1、x2不是太恰当;由于方程里含有不完整的积分式,所以用 vpasolve函数无法得到解。
解决思路,使用fsolve函数求解其方程的数值解。
解决步骤:
1、创建求解带积分的二元方程组函数,f =func(x)。其内容:
f1=@(t)exp(-(1-x2).*t)./t; %定义方程
f2=@(t)exp(-x1*t)./t; %定义方程
S1=integral(f1,1,+inf); %求积分值
S2=integral(f2,1,+inf); %求积分值
f = [x1-S1,x2-(1- S2)]; %
2、用fsolve函数求解。即
sol = fsolve(@func,rand(1,2));
x1=sol(1) %x1的解
x2=sol(2) %x2的解
3、完善代码后运行可以得到
x1 = 0.52761
x2 = 0.47239追问

您好,非常感谢您的解答,根据您上面的程序提示,我运行了下,但还是会报错。

错误提示:

请问可以提供一下源代码吗,万分感谢!

追答

可以发到你的私信上。

追问

因为x1x2的初值是由rand(1,2)随机得到的,所以方程的最后结果也是随机的,那下一步的是不是要确定x1 x2的确切初值,来使方程由确切的解呢

追答

最后结果是方程的解。

追问

嗯嗯 麻烦您发我一下源代码吧,我的可能还是有错误。谢谢!

本回答被提问者和网友采纳