这个含有定积分的方程组怎么解?

其中Xc=2.206,L横=4,画横线的四个为未知数,怎么用matlab编程求解,这个方程组怎么用MATLAB求解?我编写的方程求解不出来,... 其中Xc=2.206,L横=4,画横线的四个为未知数,怎么用matlab编程求解,这个方程组怎么用MATLAB求解?我编写的方程求解不出来, 展开
 我来答
lhmhz
高粉答主

2021-10-09 · 专注matlab等在各领域中的应用。
lhmhz
采纳数:7264 获赞数:17014

向TA提问 私信TA
展开全部

题主给出的含有定积分的方程组怎么解?这个问题我们可以这样考虑求解:

第一步,使用函数体,创建自定义函数,即func(x)。其主要思想是

eq1=0 %使得方程1等于0

eq2=0 %使得方程2等于0

eq3=0 %使得方程3等于0

eq4=0 %使得方程4等于0

fun1=@(theta)1/sqrt(cos(theta_A)-cos(theta));

fun2=@(theta)-1/sqrt(1-cos(theta)+theta_C^2);

y3=sqrt(cos(theta_A)-cos(theta_B))+sqrt(1-cos(theta_B)+theta_C^2);

fun3=@(theta)cos(theta)/sqrt(cos(theta_A)-cos(theta));

fun4=@(theta)cos(theta)/sqrt(1-cos(theta)+theta_C^2);

y1=integral(fun1,theta_A,theta_B);

y2=integral(fun2,theta_B,0);

y4=integral(fun3,theta_A,theta_B)+integral(fun4,0,theta_B);

eq1=y1-R1*L1/2;

eq2=y2-pi*R1/2;

eq3=y3-1/R1;

eq4=y4-R1*Xc;

第二步, 使用fmincon或lsqnonlin函数求其数值解,并使得其误差小于±1e-10。即

x0 =[1 1.1 1.5 0.4]; %初始值

lb=[0,0,0,0];ub=[2,2,3,2];

[x,fval,flag] = fmincon(@func,x0)

第三步,还原θA, θB, θC, R值,即

theta_A=x(1);

theta_B=x(2);

theta_C=x(3);

R1=x(4);

第四步,计算方程组的误差,即

y=func(x)

disp('误差')

disp(['方程1:',num2str(y1)])

disp(['方程2:',num2str(y2)])

disp(['方程3:',num2str(y3)])

disp(['方程4:',num2str(y4)])

运行结果如下。

追问
目标函数是什么?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式