概述
如何用matlab求方程的所有整数解?其解决方案,可以通过下列途径解决:
方法一、利用三循环语句和判断语句,求解其所有整数解
方法二、整数线性规划分支定界法,求解其所有整数解
下面按第一种方法求解,其过程为
m=50;n=50;l=50;
disp('满足条件:2x+3y+4z=100的解')
for i=1:m
for j=1:n
for k=1:l
x=i;y=j;z=k;
xyz=100-(2*x+3*y+4*z);
if xyz==0
disp(['x=',num2str(i),' y=',num2str(j),' z=',num2str(k)])
end
end
end
end
运行结果
这里提供一个利用网格矩阵解二维不定方程整数解的方法:
已知6<x<30,15<y<36,求不定方程
2x+5y=126的整数解。
MATLAB程序如下:
x=5:29;y=14:35;
[x,y]=meshgrid(x,y);
z=2*x+5*y;
k=find(z==126);
x(k),y(k)
输出为:
ans=
8
13
18
23
28
ans=
22
20
18
16
14
即方程有5组解:(8,22),(13,20),(18,18),(23,16),(28,14).
最后
以上就是留胡子大叔为你收集整理的如何用matlab求方程的整数解的全部内容,希望文章能够帮你解决如何用matlab求方程的整数解所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复