1.5 MATLAB 프로그램의 보고서 자동 생성 기능
목차에 대한 링크
MATLAB에 의한 화상 처리 · 컴퓨터 비전 입문 목차
개요
MATLAB으로 작성된 프로그램에서 실행 결과 보고서를 생성(발행)할 수 있습니다. 코드를 공유할 때 유용합니다.
보고서에는 실행 프로그램, 주석, 수식, 실행 결과 출력 및 그림 등이 포함될 수 있습니다.
보다 직관적으로 리포트 타입의 프로그램을 기술하는 경우는 라이브 스크립트 가 추천입니다.
(이 게시물도 라이브 스크립트를 사용하여 작성되었습니다)
지원 파일: I1_05_publish_butter.m
게시할 대상 확인
게시할 MATLAB 프로그램을 검토합니다.
codetype I1_05_publish_butter.m
output%% バタワースフィルタの設計とフィルタリング
% 本デモは、雑音を加えた2トーン正弦波に対して、バタワースローパスフィルタを
% かける手順と、グラフの可視化の手順を示します。一般的なデジタルフィルタの
% 伝達関数は以下の表現で表わされます。
%
% $$ H(z) = \frac{\sum^{N}_{k = 0}b_kZ^{-k}}{1 + \sum^{N}_{k = 1}a_kZ^{-k}} $$
%% 初期化
clear all, close all, clc
%% フィルタリング対象の信号生成
Fs = 1000;
t = 0:1/Fs:1; % 時間ベクトルの定義
sig1 = sin(2*pi*15*t + pi/3); % 正弦波信号1の生成
sig2 = sin(2*pi*42*t + pi/5); % 正弦波信号2の生成
noise = randn(size(t)); % 雑音信号の生成
sig = sig1 + sig2 + noise; % フィルタリング対象信号
%% フィルタ設計と特性の可視化
% フィルタの次数を7次、ナイキスト周波数で正規化されたカットオフ
% 周波数を0.1としたフィルタを設計します。Fs = 1000[Hz]の場合、
% カットオフ周波数は、1000/2 * 0.1 = 50[Hz]となります。
[b,a] = butter(7,0.1); % バタワースフィルタ設計
fvtool(b, a) % フィルタ特性の可視化
%% フィルタリング
out = filter(b,a,sig); % フィルタリング
% 入力信号と出力信号の時間軸波形可視化
subplot(2,1,1), plot(t,sig), grid
title('時間軸波形(フィルタリング前)')
subplot(2,1,2), plot(t,out), grid
title('時間軸波形(フィルタリング後)')
%% スペクトル推定
% ローパスフィルタにより、50[Hz]以下の成分が除去されている様子が
% 確認できます。
figure, periodogram(sig,[],[],Fs) % 入力信号のスペクトル
title('パワースペクトル密度推定(フィルタリング前)')
figure,periodogram(out,[],[],Fs) % 出力信号のスペクトル
title('パワースペクトル密度推定(フィルタリング後)')
% Copyright 2014 The MathWorks, Inc.
게시 실행
MATLAB 코드를 실행하여 HTML 형식의 보고서를 생성합니다.
워드 형식(.doc), LaTeX 형식(.tex), 파워포인트 형식(.ppt), XML 형식(.xml), PDF 형식(.pdf)에서도 출력할 수 있습니다.
codepublish("I1_05_publish_butter.m");
생성된 HTML의 보고서 검토
MATLAB 내장 브라우저에서 생성된 HTML 보고서를 검토합니다.
codeweb(fullfile('html','I1_05_publish_butter.html'));
MATLAB 편집기로 게시
MATLAB 편집기에서 게시를 실행할 수도 있습니다.
codeedit I1_05_publish_butter.m
게시된 HTML에서 코드 검색
생성된 HTML 코드에서 코드를 검색할 수도 있습니다.
codecode = grabcode(fullfile('html','I1_05_publish_butter.html'))
outputcode =
'%% バタワースフィルタの設計とフィルタリング
% 本デモは、雑音を加えた2トーン正弦波に対して、バタワースローパスフィルタを
% かける手順と、グラフの可視化の手順を示します。一般的なデジタルフィルタの
% 伝達関数は以下の表現で表わされます。
%
% $$ H(z) = \frac{\sum^{N}_{k = 0}b_kZ^{-k}}{1 + \sum^{N}_{k = 1}a_kZ^{-k}} $$
%% 初期化
clear all, close all, clc
%% フィルタリング対象の信号生成
Fs = 1000;
t = 0:1/Fs:1; % 時間ベクトルの定義
sig1 = sin(2*pi*15*t + pi/3); % 正弦波信号1の生成
sig2 = sin(2*pi*42*t + pi/5); % 正弦波信号2の生成
noise = randn(size(t)); % 雑音信号の生成
sig = sig1 + sig2 + noise; % フィルタリング対象信号
%% フィルタ設計と特性の可視化
% フィルタの次数を7次、ナイキスト周波数で正規化されたカットオフ
% 周波数を0.1としたフィルタを設計します。Fs = 1000[Hz]の場合、
% カットオフ周波数は、1000/2 * 0.1 = 50[Hz]となります。
[b,a] = butter(7,0.1); % バタワースフィルタ設計
fvtool(b, a) % フィルタ特性の可視化
%% フィルタリング
out = filter(b,a,sig); % フィルタリング
% 入力信号と出力信号の時間軸波形可視化
subplot(2,1,1), plot(t,sig), grid
title('時間軸波形(フィルタリング前)')
subplot(2,1,2), plot(t,out), grid
title('時間軸波形(フィルタリング後)')
%% スペクトル推定
% ローパスフィルタにより、50[Hz]以下の成分が除去されている様子が
% 確認できます。
figure, periodogram(sig,[],[],Fs) % 入力信号のスペクトル
title('パワースペクトル密度推定(フィルタリング前)')
figure,periodogram(out,[],[],Fs) % 出力信号のスペクトル
title('パワースペクトル密度推定(フィルタリング後)')
% Copyright 2014 The MathWorks, Inc.
'
요약
MATLAB 프로그램의 자동 리포트 생성(퍼블리시)에 대해 소개했습니다.
코드나 실행 결과의 공유에 매우 편리한 기능입니다.
참고
MATLAB으로 작성된 프로그램에서 실행 결과 보고서를 생성(발행)할 수 있습니다. 코드를 공유할 때 유용합니다.
보고서에는 실행 프로그램, 주석, 수식, 실행 결과 출력 및 그림 등이 포함될 수 있습니다.
보다 직관적으로 리포트 타입의 프로그램을 기술하는 경우는 라이브 스크립트 가 추천입니다.
(이 게시물도 라이브 스크립트를 사용하여 작성되었습니다)
지원 파일: I1_05_publish_butter.m
게시할 대상 확인
게시할 MATLAB 프로그램을 검토합니다.
codetype I1_05_publish_butter.m
output%% バタワースフィルタの設計とフィルタリング
% 本デモは、雑音を加えた2トーン正弦波に対して、バタワースローパスフィルタを
% かける手順と、グラフの可視化の手順を示します。一般的なデジタルフィルタの
% 伝達関数は以下の表現で表わされます。
%
% $$ H(z) = \frac{\sum^{N}_{k = 0}b_kZ^{-k}}{1 + \sum^{N}_{k = 1}a_kZ^{-k}} $$
%% 初期化
clear all, close all, clc
%% フィルタリング対象の信号生成
Fs = 1000;
t = 0:1/Fs:1; % 時間ベクトルの定義
sig1 = sin(2*pi*15*t + pi/3); % 正弦波信号1の生成
sig2 = sin(2*pi*42*t + pi/5); % 正弦波信号2の生成
noise = randn(size(t)); % 雑音信号の生成
sig = sig1 + sig2 + noise; % フィルタリング対象信号
%% フィルタ設計と特性の可視化
% フィルタの次数を7次、ナイキスト周波数で正規化されたカットオフ
% 周波数を0.1としたフィルタを設計します。Fs = 1000[Hz]の場合、
% カットオフ周波数は、1000/2 * 0.1 = 50[Hz]となります。
[b,a] = butter(7,0.1); % バタワースフィルタ設計
fvtool(b, a) % フィルタ特性の可視化
%% フィルタリング
out = filter(b,a,sig); % フィルタリング
% 入力信号と出力信号の時間軸波形可視化
subplot(2,1,1), plot(t,sig), grid
title('時間軸波形(フィルタリング前)')
subplot(2,1,2), plot(t,out), grid
title('時間軸波形(フィルタリング後)')
%% スペクトル推定
% ローパスフィルタにより、50[Hz]以下の成分が除去されている様子が
% 確認できます。
figure, periodogram(sig,[],[],Fs) % 入力信号のスペクトル
title('パワースペクトル密度推定(フィルタリング前)')
figure,periodogram(out,[],[],Fs) % 出力信号のスペクトル
title('パワースペクトル密度推定(フィルタリング後)')
% Copyright 2014 The MathWorks, Inc.
게시 실행
MATLAB 코드를 실행하여 HTML 형식의 보고서를 생성합니다.
워드 형식(.doc), LaTeX 형식(.tex), 파워포인트 형식(.ppt), XML 형식(.xml), PDF 형식(.pdf)에서도 출력할 수 있습니다.
codepublish("I1_05_publish_butter.m");
생성된 HTML의 보고서 검토
MATLAB 내장 브라우저에서 생성된 HTML 보고서를 검토합니다.
codeweb(fullfile('html','I1_05_publish_butter.html'));
MATLAB 편집기로 게시
MATLAB 편집기에서 게시를 실행할 수도 있습니다.
codeedit I1_05_publish_butter.m
게시된 HTML에서 코드 검색
생성된 HTML 코드에서 코드를 검색할 수도 있습니다.
codecode = grabcode(fullfile('html','I1_05_publish_butter.html'))
outputcode =
'%% バタワースフィルタの設計とフィルタリング
% 本デモは、雑音を加えた2トーン正弦波に対して、バタワースローパスフィルタを
% かける手順と、グラフの可視化の手順を示します。一般的なデジタルフィルタの
% 伝達関数は以下の表現で表わされます。
%
% $$ H(z) = \frac{\sum^{N}_{k = 0}b_kZ^{-k}}{1 + \sum^{N}_{k = 1}a_kZ^{-k}} $$
%% 初期化
clear all, close all, clc
%% フィルタリング対象の信号生成
Fs = 1000;
t = 0:1/Fs:1; % 時間ベクトルの定義
sig1 = sin(2*pi*15*t + pi/3); % 正弦波信号1の生成
sig2 = sin(2*pi*42*t + pi/5); % 正弦波信号2の生成
noise = randn(size(t)); % 雑音信号の生成
sig = sig1 + sig2 + noise; % フィルタリング対象信号
%% フィルタ設計と特性の可視化
% フィルタの次数を7次、ナイキスト周波数で正規化されたカットオフ
% 周波数を0.1としたフィルタを設計します。Fs = 1000[Hz]の場合、
% カットオフ周波数は、1000/2 * 0.1 = 50[Hz]となります。
[b,a] = butter(7,0.1); % バタワースフィルタ設計
fvtool(b, a) % フィルタ特性の可視化
%% フィルタリング
out = filter(b,a,sig); % フィルタリング
% 入力信号と出力信号の時間軸波形可視化
subplot(2,1,1), plot(t,sig), grid
title('時間軸波形(フィルタリング前)')
subplot(2,1,2), plot(t,out), grid
title('時間軸波形(フィルタリング後)')
%% スペクトル推定
% ローパスフィルタにより、50[Hz]以下の成分が除去されている様子が
% 確認できます。
figure, periodogram(sig,[],[],Fs) % 入力信号のスペクトル
title('パワースペクトル密度推定(フィルタリング前)')
figure,periodogram(out,[],[],Fs) % 出力信号のスペクトル
title('パワースペクトル密度推定(フィルタリング後)')
% Copyright 2014 The MathWorks, Inc.
'
요약
MATLAB 프로그램의 자동 리포트 생성(퍼블리시)에 대해 소개했습니다.
코드나 실행 결과의 공유에 매우 편리한 기능입니다.
참고
type I1_05_publish_butter.m
%% バタワースフィルタの設計とフィルタリング
% 本デモは、雑音を加えた2トーン正弦波に対して、バタワースローパスフィルタを
% かける手順と、グラフの可視化の手順を示します。一般的なデジタルフィルタの
% 伝達関数は以下の表現で表わされます。
%
% $$ H(z) = \frac{\sum^{N}_{k = 0}b_kZ^{-k}}{1 + \sum^{N}_{k = 1}a_kZ^{-k}} $$
%% 初期化
clear all, close all, clc
%% フィルタリング対象の信号生成
Fs = 1000;
t = 0:1/Fs:1; % 時間ベクトルの定義
sig1 = sin(2*pi*15*t + pi/3); % 正弦波信号1の生成
sig2 = sin(2*pi*42*t + pi/5); % 正弦波信号2の生成
noise = randn(size(t)); % 雑音信号の生成
sig = sig1 + sig2 + noise; % フィルタリング対象信号
%% フィルタ設計と特性の可視化
% フィルタの次数を7次、ナイキスト周波数で正規化されたカットオフ
% 周波数を0.1としたフィルタを設計します。Fs = 1000[Hz]の場合、
% カットオフ周波数は、1000/2 * 0.1 = 50[Hz]となります。
[b,a] = butter(7,0.1); % バタワースフィルタ設計
fvtool(b, a) % フィルタ特性の可視化
%% フィルタリング
out = filter(b,a,sig); % フィルタリング
% 入力信号と出力信号の時間軸波形可視化
subplot(2,1,1), plot(t,sig), grid
title('時間軸波形(フィルタリング前)')
subplot(2,1,2), plot(t,out), grid
title('時間軸波形(フィルタリング後)')
%% スペクトル推定
% ローパスフィルタにより、50[Hz]以下の成分が除去されている様子が
% 確認できます。
figure, periodogram(sig,[],[],Fs) % 入力信号のスペクトル
title('パワースペクトル密度推定(フィルタリング前)')
figure,periodogram(out,[],[],Fs) % 出力信号のスペクトル
title('パワースペクトル密度推定(フィルタリング後)')
% Copyright 2014 The MathWorks, Inc.
MATLAB 코드를 실행하여 HTML 형식의 보고서를 생성합니다.
워드 형식(.doc), LaTeX 형식(.tex), 파워포인트 형식(.ppt), XML 형식(.xml), PDF 형식(.pdf)에서도 출력할 수 있습니다.
code
publish("I1_05_publish_butter.m");
생성된 HTML의 보고서 검토
MATLAB 내장 브라우저에서 생성된 HTML 보고서를 검토합니다.
codeweb(fullfile('html','I1_05_publish_butter.html'));
MATLAB 편집기로 게시
MATLAB 편집기에서 게시를 실행할 수도 있습니다.
codeedit I1_05_publish_butter.m
게시된 HTML에서 코드 검색
생성된 HTML 코드에서 코드를 검색할 수도 있습니다.
codecode = grabcode(fullfile('html','I1_05_publish_butter.html'))
outputcode =
'%% バタワースフィルタの設計とフィルタリング
% 本デモは、雑音を加えた2トーン正弦波に対して、バタワースローパスフィルタを
% かける手順と、グラフの可視化の手順を示します。一般的なデジタルフィルタの
% 伝達関数は以下の表現で表わされます。
%
% $$ H(z) = \frac{\sum^{N}_{k = 0}b_kZ^{-k}}{1 + \sum^{N}_{k = 1}a_kZ^{-k}} $$
%% 初期化
clear all, close all, clc
%% フィルタリング対象の信号生成
Fs = 1000;
t = 0:1/Fs:1; % 時間ベクトルの定義
sig1 = sin(2*pi*15*t + pi/3); % 正弦波信号1の生成
sig2 = sin(2*pi*42*t + pi/5); % 正弦波信号2の生成
noise = randn(size(t)); % 雑音信号の生成
sig = sig1 + sig2 + noise; % フィルタリング対象信号
%% フィルタ設計と特性の可視化
% フィルタの次数を7次、ナイキスト周波数で正規化されたカットオフ
% 周波数を0.1としたフィルタを設計します。Fs = 1000[Hz]の場合、
% カットオフ周波数は、1000/2 * 0.1 = 50[Hz]となります。
[b,a] = butter(7,0.1); % バタワースフィルタ設計
fvtool(b, a) % フィルタ特性の可視化
%% フィルタリング
out = filter(b,a,sig); % フィルタリング
% 入力信号と出力信号の時間軸波形可視化
subplot(2,1,1), plot(t,sig), grid
title('時間軸波形(フィルタリング前)')
subplot(2,1,2), plot(t,out), grid
title('時間軸波形(フィルタリング後)')
%% スペクトル推定
% ローパスフィルタにより、50[Hz]以下の成分が除去されている様子が
% 確認できます。
figure, periodogram(sig,[],[],Fs) % 入力信号のスペクトル
title('パワースペクトル密度推定(フィルタリング前)')
figure,periodogram(out,[],[],Fs) % 出力信号のスペクトル
title('パワースペクトル密度推定(フィルタリング後)')
% Copyright 2014 The MathWorks, Inc.
'
요약
MATLAB 프로그램의 자동 리포트 생성(퍼블리시)에 대해 소개했습니다.
코드나 실행 결과의 공유에 매우 편리한 기능입니다.
참고
web(fullfile('html','I1_05_publish_butter.html'));
MATLAB 편집기에서 게시를 실행할 수도 있습니다.
code
edit I1_05_publish_butter.m
게시된 HTML에서 코드 검색
생성된 HTML 코드에서 코드를 검색할 수도 있습니다.
codecode = grabcode(fullfile('html','I1_05_publish_butter.html'))
outputcode =
'%% バタワースフィルタの設計とフィルタリング
% 本デモは、雑音を加えた2トーン正弦波に対して、バタワースローパスフィルタを
% かける手順と、グラフの可視化の手順を示します。一般的なデジタルフィルタの
% 伝達関数は以下の表現で表わされます。
%
% $$ H(z) = \frac{\sum^{N}_{k = 0}b_kZ^{-k}}{1 + \sum^{N}_{k = 1}a_kZ^{-k}} $$
%% 初期化
clear all, close all, clc
%% フィルタリング対象の信号生成
Fs = 1000;
t = 0:1/Fs:1; % 時間ベクトルの定義
sig1 = sin(2*pi*15*t + pi/3); % 正弦波信号1の生成
sig2 = sin(2*pi*42*t + pi/5); % 正弦波信号2の生成
noise = randn(size(t)); % 雑音信号の生成
sig = sig1 + sig2 + noise; % フィルタリング対象信号
%% フィルタ設計と特性の可視化
% フィルタの次数を7次、ナイキスト周波数で正規化されたカットオフ
% 周波数を0.1としたフィルタを設計します。Fs = 1000[Hz]の場合、
% カットオフ周波数は、1000/2 * 0.1 = 50[Hz]となります。
[b,a] = butter(7,0.1); % バタワースフィルタ設計
fvtool(b, a) % フィルタ特性の可視化
%% フィルタリング
out = filter(b,a,sig); % フィルタリング
% 入力信号と出力信号の時間軸波形可視化
subplot(2,1,1), plot(t,sig), grid
title('時間軸波形(フィルタリング前)')
subplot(2,1,2), plot(t,out), grid
title('時間軸波形(フィルタリング後)')
%% スペクトル推定
% ローパスフィルタにより、50[Hz]以下の成分が除去されている様子が
% 確認できます。
figure, periodogram(sig,[],[],Fs) % 入力信号のスペクトル
title('パワースペクトル密度推定(フィルタリング前)')
figure,periodogram(out,[],[],Fs) % 出力信号のスペクトル
title('パワースペクトル密度推定(フィルタリング後)')
% Copyright 2014 The MathWorks, Inc.
'
요약
MATLAB 프로그램의 자동 리포트 생성(퍼블리시)에 대해 소개했습니다.
코드나 실행 결과의 공유에 매우 편리한 기능입니다.
참고
code = grabcode(fullfile('html','I1_05_publish_butter.html'))
code =
'%% バタワースフィルタの設計とフィルタリング
% 本デモは、雑音を加えた2トーン正弦波に対して、バタワースローパスフィルタを
% かける手順と、グラフの可視化の手順を示します。一般的なデジタルフィルタの
% 伝達関数は以下の表現で表わされます。
%
% $$ H(z) = \frac{\sum^{N}_{k = 0}b_kZ^{-k}}{1 + \sum^{N}_{k = 1}a_kZ^{-k}} $$
%% 初期化
clear all, close all, clc
%% フィルタリング対象の信号生成
Fs = 1000;
t = 0:1/Fs:1; % 時間ベクトルの定義
sig1 = sin(2*pi*15*t + pi/3); % 正弦波信号1の生成
sig2 = sin(2*pi*42*t + pi/5); % 正弦波信号2の生成
noise = randn(size(t)); % 雑音信号の生成
sig = sig1 + sig2 + noise; % フィルタリング対象信号
%% フィルタ設計と特性の可視化
% フィルタの次数を7次、ナイキスト周波数で正規化されたカットオフ
% 周波数を0.1としたフィルタを設計します。Fs = 1000[Hz]の場合、
% カットオフ周波数は、1000/2 * 0.1 = 50[Hz]となります。
[b,a] = butter(7,0.1); % バタワースフィルタ設計
fvtool(b, a) % フィルタ特性の可視化
%% フィルタリング
out = filter(b,a,sig); % フィルタリング
% 入力信号と出力信号の時間軸波形可視化
subplot(2,1,1), plot(t,sig), grid
title('時間軸波形(フィルタリング前)')
subplot(2,1,2), plot(t,out), grid
title('時間軸波形(フィルタリング後)')
%% スペクトル推定
% ローパスフィルタにより、50[Hz]以下の成分が除去されている様子が
% 確認できます。
figure, periodogram(sig,[],[],Fs) % 入力信号のスペクトル
title('パワースペクトル密度推定(フィルタリング前)')
figure,periodogram(out,[],[],Fs) % 出力信号のスペクトル
title('パワースペクトル密度推定(フィルタリング後)')
% Copyright 2014 The MathWorks, Inc.
'
MATLAB 프로그램의 자동 리포트 생성(퍼블리시)에 대해 소개했습니다.
코드나 실행 결과의 공유에 매우 편리한 기능입니다.
참고
감사의 말
이 기사는 @eigs 님의 livescript2markdown 을 사용하겠습니다.
목차에 대한 링크
MATLAB에 의한 화상 처리 · 컴퓨터 비전 입문 목차
Reference
이 문제에 관하여(1.5 MATLAB 프로그램의 보고서 자동 생성 기능), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tohruk/items/0dca7cbc13b8793d250f
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
MATLAB에 의한 화상 처리 · 컴퓨터 비전 입문 목차
Reference
이 문제에 관하여(1.5 MATLAB 프로그램의 보고서 자동 생성 기능), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tohruk/items/0dca7cbc13b8793d250f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)