带积分的二元方程组,未知数在积分中,能用matlab程序求解吗
带积分的二元方程组,未知数在积分中,能用matlab程序求解吗matlab小白一枚,求matlab大佬解答...
带积分的二元方程组,未知数在积分中,能用matlab程序求解吗matlab小白一枚,求matlab大佬解答
展开
1个回答
展开全部
如何用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
问题一,由于给出的被积函数含有未知变量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
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询