How can i programe this function without rem or mod?

5 次查看(过去 30 天)
the matlab programe ( function, one loop or two loops ) needs to solve for the quotient remainder theorem a = dq + r
where the programe takes two integers as inputs the dividend a, and the divisor d, processes them, and calculates the quotient q and the remainder 'r' as defined by the division algorithm. q, and r need to be two formal outputs of this program forany given pair, a, and d.
The program MUST NOT use mod, rem, floor, ceil, round, fix.

回答(1 个)

Walter Roberson
Walter Roberson 2021-10-28
a = 1 : 25
a = 1×25
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
d = randi([2 15])
d = 6
t = int32(a) - int32(a) / int32(d) * int32(d);
t(t < 0) = t(t<0) + d
t = 1×25
1 2 3 4 5 0 1 2 3 4 5 0 1 2 3 4 5 0 1 2 3 4 5 0 1
int32(mod(a, d))
ans = 1×25
1 2 3 4 5 0 1 2 3 4 5 0 1 2 3 4 5 0 1 2 3 4 5 0 1
  2 个评论
haider khan
haider khan 2021-10-28
i need to write a matlab programe, uing a function, without using mod.
Walter Roberson
Walter Roberson 2021-10-28
In the above, the call to mod() I used was to cross-check the output in t in order to show that the calculation I did produces the same output as mod() -- and thus that mod() is not needed.
The work is done in the two assignments to t . You can convert that work into a function.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by