如何用matlab求方程的整数解
如何用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中legend位置
- 下一篇: matlab怎么求矩阵的范数