How to find double output?

2 次查看(过去 30 天)
import java.math.*;
>> p=BigInteger('11');
>> m=BigInteger('2');
>> [A,B]=m.gcd(p);
Error using java.math.BigInteger/gcd
Java methods cannot be called with multiple output arguments
How to resolve this issue? I need both A and B.
Thanking in anticipation
  7 个评论
Ammy
Ammy 2022-3-2
@Rik Thank you ver much!
I want to extract the following
[A,B] = gcd(m,p);
if A =1 then
a = mod(B,p)
otherwise a=0
I want to find a which depends on both A and B
Ammy
Ammy 2022-3-2
@AndresVar, thank you very much but I want to deal with both the outputs.

请先登录,再进行评论。

采纳的回答

Walter Roberson
Walter Roberson 2022-3-2
import java.math.*;
p = BigInteger('11');
m = BigInteger('2');
A = m.gcd(p)
A = 1
B = m.modInverse(p)
B = 6
m.multiply(B).mod(p)
ans = 1
  3 个评论
Walter Roberson
Walter Roberson 2022-3-2
import java.math.*;
p = BigInteger('11');
m = BigInteger('2');
a = inverse(m, p)
a = 6
%cross-check
cross_check = m.multiply(a).mod(p)
cross_check = 1
function a = inverse(b, p)
import java.math.*;
A = b.gcd(p);
if A == BigInteger('1')
a = b.modInverse(p);
else
a = BigInteger('0');
end
end
Ammy
Ammy 2022-3-2
Thank you very much!

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Call Java from MATLAB 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by