国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

關(guān)于二元不定方程整數(shù)解的MATLAB解法

2020-01-17 09:50張志恒
黑龍江科學(xué) 2020年9期
關(guān)鍵詞:式子整數(shù)語句

張志恒

(鄭州財稅金融職業(yè)學(xué)院,鄭州 450048)

0 引言

不定式的方程是指由多個未知數(shù)組成且未知數(shù)取值為整數(shù)的方程,本研究的主要目標(biāo)是二元不定式,即方程中含有兩個未知數(shù)。定數(shù)方程的定義式為:xn+yn=zn,n≥2。現(xiàn)階段,不定式方程并沒有一個統(tǒng)一的解題方法,需根據(jù)不定式的基本原則對不定式方程進(jìn)行求解,然后再根據(jù)這一原則利用高等數(shù)學(xué)、初等數(shù)學(xué)中所學(xué)的知識進(jìn)行解題。本研究將以二元不定方程整數(shù)解的MATLAB解法為例來介紹如何通過MATLAB軟件求取不等式的解。

1 基本定義介紹

1.1 二元不定方程定義

形如xn-Dy2=c的方程為二元n(n≥2)次不等式,其中D是一個不等于0的正整數(shù),c是一個不等于0的整數(shù)。需要注意的是,當(dāng)出現(xiàn)n=2,c=±1時,此方程式就為二元一次不定式。

1.2 MATLAB相關(guān)編程定義

MATLAB軟件是由美國MathWork公司研發(fā)而成的一款數(shù)學(xué)軟件,該軟件主要用于數(shù)據(jù)的可視化、數(shù)據(jù)分析、數(shù)學(xué)運(yùn)算等,是一款高級計算語言軟件。該軟件的產(chǎn)生為科學(xué)研究者、工程設(shè)計者帶來了很多方便,為他們提供了更加全面的問題解決方案,MATLAB軟件的研發(fā)出品具有非常重要的意義。

MATLAB與Mathematica、Maple并稱為三大數(shù)學(xué)軟件,其中MATLAB的基本數(shù)據(jù)單位與Mathematica、Maple的基本數(shù)據(jù)單位截然不同,其基本數(shù)據(jù)單位為矩陣,因此它的數(shù)學(xué)運(yùn)算能力更加突出。①for循環(huán):for循環(huán)是指對循環(huán)的結(jié)果進(jìn)行輸出,for循環(huán)主要包括以下幾個單詞:index、increment、endvalue。它們在for循環(huán)語句中所代表的含義:index是指循環(huán)變量;increment是指增量;endvalue是指對運(yùn)行的循環(huán)進(jìn)行中止判斷。②if與 else或elseif的連用:if與else或elseif的連用是對前面邏輯問題的選擇,如果對前面的邏輯條件選擇認(rèn)同,那么就使用if else語句。如果對前面的邏輯條件選擇否認(rèn),那么就使用if elseif。③函數(shù)floor(x):函數(shù)floor(x)是指x向左進(jìn)行整數(shù)取值。例如:floor(-2.6) =-3,floor(3.7)=3。④函數(shù)sqrt(x):函數(shù)sqrt(x)是指進(jìn)行x平方根的取值。例如:sqrt(16)=4。⑤函數(shù)power(x,1/n):函數(shù)power(x,1/n)是指進(jìn)行x的n次方根的取值。例如:power(9,1/2)=3。⑥“==”表示當(dāng)對兩個式子進(jìn)行計算時,如果兩個式子的值相等,那么程序?qū)⒆詣臃祷氐?進(jìn)行運(yùn)算。如果兩個式子的值不相等,那么程序?qū)⒆詣臃祷氐?進(jìn)行運(yùn)算。

2 編程求解二元不定方程整數(shù)解的MATLAB設(shè)計思路

step1:對x0、y0這兩個重要變量進(jìn)行定義,然后對y取值范圍進(jìn)行設(shè)定,本程序?qū)τ趛的取值范圍規(guī)定為y≤50 000。

step2:確定本程序循環(huán)的表達(dá)式以及需要執(zhí)行的次數(shù),并將“s”定義為不定式整數(shù)解的個數(shù)。

step3:確定本程序循環(huán)中for循環(huán)的語句,然后根據(jù)不定式整數(shù)解的算法過程確定for循環(huán)執(zhí)行的次數(shù),并對循環(huán)次數(shù)x、y進(jìn)行定義。

step4:對于不定式的求解過程使用if語句來實現(xiàn),并對整數(shù)解進(jìn)行輸出,完成輸出后結(jié)束整個程序。

3 編程求解二元不定方程整數(shù)解的MATLAB設(shè)計程序

利用MATLAB軟件來求取二元不定方程整數(shù)解,本研究針對這個問題進(jìn)行了編程設(shè)計,具體程序如下:

(1)進(jìn)行二元二次不定式方程x2+Dy2=c(y≤50 000)的求解程序為:

x0=?;y0=?;

y=1∶50 000;x1=floor(sqrt(D*50 000^2+c));

x=1∶x1;s=0;

for y=1∶1∶50 000;for x=1∶1∶x1;

if x^2-D*y^2==c;

s=s+1;x0(s)=x;y0(s)=y;

end

end

end

(2)推廣:二元n次不定式方程xn+yn=c(y≤50 000)的求整數(shù)解程序為:

x0=?;y0=?;

y=1∶50 000;x1=floor(sqrt(D*50 000^n+c));

x=1∶x1;s=0;

for y=1∶1∶50 000;for x=1∶1∶x1;

if x^n-D*y^n==c;

s=s+1;x0(s)=x;y0(s)=y;

end

end

end

4 用MATLAB程序解二元不定方程的應(yīng)用

例1:求以下二元二次不定方程x2-43y2=-3(y≤50 000)的整數(shù)解。

解:將以上二元二次不定式方程所給出的已知條件帶入到以下的MATLAB程序中:

x0=?;y0=?;

y=1∶50 000;x1=floor(sqrt(43*50 000^2+1-3),1/1);

x=1∶x1;s=0;

for y=1∶1∶50 000;for x=1∶1∶x1;

if x^2-43*y^2==-3;

s=s+1;x0(s)=x;y0(s)=y;

end

end

end

通過以上的程序運(yùn)算,得出此二元二次不定式的整數(shù)解為:

x0=[13,400,90 932];y0=[2,61,13 867];S=3

例2:求取下面二元三次不定式x3-26y2=1(y≤50 000)的整數(shù)解。

解:將以上二元三次方程中的已知條件帶入到MATLAB程序中:

x0=?;y0=?;

y=1∶50 000;x1=floor(power(26*50 000^2+1,1/3));

x=1∶x1;s=0;

for y=1∶1∶50 000;for x=1∶1∶x1;

if x^3-26*y^2==1;

s=s+1;x0(s)=x;y0(s)=y;

end

end

end

通過MATLAB程序的運(yùn)算能夠快速求得x3-26y2=1(y≤50 000)的整數(shù)解,即x0=[3,313];y0=[1,1 086];S=2。

猜你喜歡
式子整數(shù)語句
用一樣的數(shù)字
重點:語句銜接
活用根表示系數(shù)巧求多參數(shù)式子的取值范圍
研究式子的常用工具
一類整數(shù)遞推數(shù)列的周期性
我喜歡
作文語句實錄
答案
求整數(shù)解的策略
正阳县| 桐梓县| 吐鲁番市| 大同县| 安顺市| 舒兰市| 灵宝市| 平凉市| 长春市| 新蔡县| 昭通市| 丁青县| 故城县| 山东省| 武平县| 巴彦淖尔市| 桐庐县| 吉首市| 普陀区| 榆树市| 得荣县| 宁化县| 唐山市| 简阳市| 营口市| 南江县| 盘山县| 防城港市| 新巴尔虎右旗| 东丽区| 双牌县| 周至县| 玉田县| 博爱县| 大理市| 瑞丽市| 华池县| 平安县| 贵阳市| 蕲春县| 武义县|