간단 한 프로그램 도구: matlab 향 농 인 코딩 실현
향 농 코딩 의 규칙 은 매우 간단 합 니 다. matlab 로 실현 하 는 것 도 매우 간단 합 니 다. 숙제 를 할 때의 계산기 라 고 생각 합 니 다.
코드 는 다음 과 같 습 니 다:
보조 함수:
function y = dectobin(num,L)
%
%num
%L
i = 0;
bin = zeros(1,L);
for k = 1:L
i = i+1;
num = num * 2;% , 2
if num >= 1%
bin(i) = 1;% 1
num = num - 1;
else
bin(i) = 0; % , 0
end
if(i >= L)%
break;
end
end
y = bin;
주 함수:
function [ s_code,ave_L ] = Shannon_code( p )
%
%p ( )
%s_code
%ave_L
px = sort(p,'descend');%
N = length(px);%
ave_L = 0;
s_code={};
for i = 1:N
%
p_sum = 0;
if (i==1)
p_sum=0;
else
for k = 1:i-1
p_sum = p_sum + px(k);
end
end
%
if (i == 1)
L = ceil(-log2(px(i))); %
y = zeros(1,L); % 0
else
L = ceil(-log2(px(i)));%L
y = dectobin(p_sum,L);% , L
end
%
ave_L = ave_L + px(i) * L;
s_code{i}=y;
end
완성 ~
이 프로그램 은 정말 간단 합 니 다. 최근 에는 하 프 만 인 코딩 matlab 를 임의로 만 드 는 프로그램 에 대한 생각 을 담 은 글 을 써 야 합 니 다!힘 들 게 썼 으 니까 자기 들 끼 리 기지 가 넘 치 는 거 야. 헤헤................................................
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
정수 반전Udemy 에서 공부 한 것을 중얼거린다 Chapter3【Integer Reversal】 (예) 문자열로 숫자를 반전 (toString, split, reverse, join) 인수의 수치 (n)가 0보다 위 또는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.