主要内容

肾小球囊性肾病

最大公约数

描述

例子

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

例子

(G,U, V)=肾小球囊性肾病(A、B)还返回Bezout系数,UV,满足:一个。* U + B。* V = G。Bezout系数求解丢番图方程是有用的。这个语法支持双、单和带符金宝app号整数输入。

例子

全部折叠

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

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

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

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

找到最大公约数和一双Bezout系数30.56

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

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

重写Bezout的身份,让它看起来更像原始方程。通过乘以吗4。使用= =验证方程两边相等。

(30 *你* 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返回作为nondouble类型。

Bezout系数,作为真正的整数数组返回值满足方程,一个。* U + B。* V = G。的数据类型UV相同类型的吗一个B。如果一个B然后,不同类型的吗UV返回作为nondouble类型。

算法

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

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

引用

[1]Knuth, d”算法和x”计算机编程的艺术,卷24.5.2节。阅读,addison - wesley, 1973年。

扩展功能

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

版本历史

之前介绍过的R2006a

另请参阅