Maple或Matlab怎么解不定方程?
網(wǎng)友解答: 符號(hào)計(jì)算是Matlab的一個(gè)重要組成部分。應(yīng)用符號(hào)計(jì)算功能,可以直接對抽象的符號(hào)對象進(jìn)行微積分與代數(shù)計(jì)算并獲得問題的解析結(jié)果。Matlab中的符號(hào)計(jì)算功能是以Maple V為
符號(hào)計(jì)算是Matlab的一個(gè)重要組成部分。應(yīng)用符號(hào)計(jì)算功能,可以直接對抽象的符號(hào)對象進(jìn)行微積分與代數(shù)計(jì)算并獲得問題的解析結(jié)果。Matlab中的符號(hào)計(jì)算功能是以Maple V為基礎(chǔ)開發(fā)的,集成在Matlab的符號(hào)工具箱中。用戶必須在Matlab安裝時(shí)選擇安裝符號(hào)運(yùn)算工具箱模塊,才能運(yùn)行與符號(hào)運(yùn)算有關(guān)的函數(shù)。
不定方程是指是指未知數(shù)的個(gè)數(shù)多于方程個(gè)數(shù),且未知數(shù)受到某些限制(如要求是有理數(shù)、整數(shù)或正整數(shù)等等)的方程或方程組。因?yàn)榻獠晃ㄒ簧踔潦菬o窮多個(gè),很難得到數(shù)值解。Matlab強(qiáng)大的數(shù)值計(jì)算能力常用逼近的方法來得到某一范圍內(nèi)的解。
例如:求解2*a+b=10,在a,b均屬于0~6的范圍內(nèi),可以編寫如下代碼進(jìn)行求解:
clear
range=0:0.1:6;
c=zeros(61,61);
for a=range,
for b=range,
ia=find(a==range);
ib=find(b==range);
c(ia,ib)=a+b-10;
end
end
solution=abs(c);
[y,x]=find(solution==min(min(solution)));
y=range(y);
x=range(x);
網(wǎng)友解答:我對matlab熟悉一點(diǎn),可以在符合工具箱下求解,比如如下命令syms x,solve(exp(x)-4),也可以采用數(shù)值求解,比如f=@(x) exp(x)-4,然后調(diào)用fsolve等函數(shù),fsolve(f,1)可以計(jì)算出結(jié)果。比較復(fù)雜的方程都采用數(shù)值求解。maple應(yīng)該用法都是類似的。