Creating a function in MATLAB
조회 수: 2 (최근 30일)
이전 댓글 표시
I need to create a function with input i and outputs j and k. So i varies from 1,2,3... and i,j and k are related as
, where j =0,1,2,... and k=0,1,2,...,
. So,
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/891385/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/891390/image.png)
for input i=1, outputs should be j=0,k=0;
i=2 ⇒ j=1,k=0;
i=3 ⇒ j=1,k=1;
i=4 ⇒ j=2,k=0;
i=5 ⇒ j=2,k=1;
i=6 ⇒ j=2,k=2;
i=7 ⇒ j=2,k=3;
and so on. How do I create such a function?
댓글 수: 0
채택된 답변
Walter Roberson
2022년 2월 11일
for I = 1 : 10
[J, K] = decode(I);
fprintf('i = %d, j = %d, k = %d\n', I, J, K);
end
function [j, k] = decode(i)
L2 = nextpow2(i);
if 2.^L2 == i
j = L2;
k = 0;
else
j = L2 - 1;
k = i - 2.^j;
end
end
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Logical에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!