主要内容

肾小球囊性肾病

最大公约数

描述

例子

G=肾小球囊性肾病(A、B的元素的最大公约数一个B.中的元素G总是非负的,并且肾小球囊性肾病(0,0)返回0.此语法支持任何数字类型的金宝app输入。

例子

GU, V) =肾小球囊性肾病(A、B也返回Bézout系数,UV,满足:A.* u + b .* v = g.Bézout系数对于解丢番图方程是有用的。此语法支持双、单和有符号金宝app整数输入。

例子

全部折叠

A = [-5 17;10 0];B = [-15 3;100 0];G =肾小球囊性肾病(A, B)
G =2×25 1 10 0

肾小球囊性肾病即使输入是负的,也返回正值。

A = uint16([255 511 15]);B = uint16([15 127 1023]);G =肾小球囊性肾病(A, B)
G =1x3 uint16行向量15 1 3

解丢番图方程, 3. 0 x + 5 6 y 8 x y

求最大公约数和一对Bézout系数30.56

(g, u, v) =肾小球囊性肾病(30日56)
g = 2
u = -13
v = 7

uv满足Bézout的身份,(30*u) + (56*v) = g

重写Bézout的等式,使它更像原来的方程。是通过乘以来做的吗4.使用==来验证方程两边相等。

(30*u*4) + (56*v*4) == g*4
ans =逻辑1

计算 x y 这就解决了问题。

x = u * 4
x = -52
y = v * 4
y = 28

输入参数

全部折叠

输入值,指定为实整数值的标量、向量或数组。一个B可以是任何数字类型,并且在一定的限制范围内可以是不同的类型:

  • 如果一个B的类型是,则另一个可以是类型

  • 如果一个B属于一个整数类,那么另一个必须属于同一类,否则它必须是标量值。

一个B大小必须相同,否则其中一个必须是标量。

例子:[20 -3 13],[10 6 7]

例子:Int16 ([100 -30 200]), Int16 ([20 15 9])

例子:int16 ((100 -30 200)), 20

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

输出参数

全部折叠

最大公约数,作为实非负整数值数组返回。G大小是一样的吗一个B,以及其中的值G总是实数和非负的。G返回的类型与一个B.如果一个B是不同类型的吗G作为非双精度类型返回。

Bézout系数,作为满足方程的实整数值数组返回,A.* u + b .* v = g.的数据类型UV是同类型的吗一个B.如果一个B是不同类型的吗UV作为非双精度类型返回。

算法

g =肾小球囊性肾病(A, B)是用欧几里得算法计算的。[1]

(g, u, v) =肾小球囊性肾病(A, B)采用扩展的欧几里得算法进行计算。[1]

参考文献

[1] Knuth, D. "算法A和x "计算机程序设计的艺术,第二卷4.5.2节。阅读,马萨诸塞州:Addison-Wesley, 1973年。

扩展功能

C / c++代码生成
使用MATLAB®Coder™生成C和c++代码。

另请参阅

之前介绍过的R2006a