日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Extended Euclidean algorithm(扩展欧几里得算法Matlab实现)

發(fā)布時(shí)間:2024/4/18 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Extended Euclidean algorithm(扩展欧几里得算法Matlab实现) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

  • 一、解析
  • 二、思路
    • 1、Ini_XY迭代初值
    • 2、Ini_XY迭代矩陣
    • 3、流程
  • 三、效果如下
  • 四、代碼
    • 1、Mian.m
    • 2、GCD.m

一、解析

Main.m
矩陣A為一個(gè)n·2的矩陣,每一行存儲(chǔ)一對(duì)待求解的數(shù)據(jù)
Ini_XY數(shù)組為x,y的初始迭代值
GCD.m
形參:待求解數(shù)據(jù)矩陣,x,y的初始迭代值
返回值:x,y的迭代值,除數(shù)矩陣

二、思路

1、Ini_XY迭代初值

2、Ini_XY迭代矩陣

3、流程

由輾轉(zhuǎn)相除法獲取{q1,q2,…,qn}
Qi=[0 1;1 -qi]
若兩數(shù)互質(zhì)
則有Ini_XY(n+1)迭代初值=[1 0]
迭代如下:
Ini_XY(n)=Qn*Ini_XY(n+1)
Ini_XY(n-1)=Q(n-1)Ini_XY(n)

Ini_XY(1)=Q1Ini_XY(2)

三、效果如下

四、代碼

1、Mian.m

A=[42 30;1759 550;334 111]; Ini_XY=[1 0]; for i=1:3disp("========================================");disp("第"+i+"次輸入:");[X_Y,gcd]=GCD(A(i,:),Ini_XY);disp("GCD("+A(i,1)+","+A(i,2)+")="+gcd(2));if(gcd(2)==1)disp(A(i,1)+","+A(i,2)+"互質(zhì)");disp("于是有");disp("GCD("+A(i,1)+","+A(i,2)+")="+A(i,1)+"*x+"+A(i,2)+"*y");disp("解得:");disp("GCD("+A(i,1)+","+A(i,2)+")="+A(i,1)+"*"+X_Y(1)+"+"+A(i,2)+"*"+X_Y(2));disp("x="+X_Y(1)+","+"y="+X_Y(2));end end

2、GCD.m

function [X_Y,gcd] = GCD(A,Initial_XY) %gcd(a,b)=a*x+b*y %X_Y=[x y] %gcd:存儲(chǔ)除數(shù)的數(shù)組 a=A(1); b=A(2); gcd=[b]; Q_Array=[]; while(b)c=mod(a,b);Q_Array=[(a-c)/b Q_Array];a=b;b=c;gcd=[b gcd]; end %x,y迭代初值 X_Y=Initial_XY'; for i=Q_ArrayQ=[0 1;1 -1*i];X_Y=Q*X_Y; end X_Y=X_Y'; end

總結(jié)

以上是生活随笔為你收集整理的Extended Euclidean algorithm(扩展欧几里得算法Matlab实现)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。