Rand_Harm_Sigs

Control & Dynamics 중심의 Octave 학습 예제

ex-recv/03/03_pjm/Rand_Harm_Sigs.m

코드 인덱스로 돌아가기

카테고리

Submission Archive

학습 소스 그룹

코드 길이

32

lines

작성자

-

날짜 정보 없음

패키지

none

pkg load 기준

함수 시그니처

function [sig] = Rand_Harm_Sigs(time, m)

전체 코드

전체 코드를 복사해서 Octave에서 바로 실행할 수 있습니다.

function [ sig ] = Rand_Harm_Sigs( time, m )
######  m개의 주파수 성분 조합으로 이루어진 시간 신호 생성
######  2025. 04. 07. pjm, 5th, ECO

####  Output
####  sig ( 1D array )

##  Inputs
##  time ( 1D array )
##  m ( scalar ) : Number of Frequency Components

  dt = time(2)-time(1);
  Fs = 1/dt;
  Fn = Fs/2;

  t_rsh = reshape(time,1,[]);
  sig = zeros( size(t_rsh) );

  Amplitude = Frquency = Phase = Frquency_tmp = zeros(m,1);
  Frquency_tmp = Fn*rand(m,1);
  Amplitude = rand(m,1);
  Frquency = sort(Frquency_tmp);
  Phs_Sinu = 360*rand(m,1);

  fprintf('\n  m  Amplitudes  Frequency  Phase\n')
  for ii = 1:m
    fprintf( '% 3d  % 10.2f  % 9.2f  % 5.f\n',ii,Amplitude(ii),Frquency(ii),Phase(ii))
  end

  sig = sum( Amplitude .*cosd( 360*Frquency.*t_rsh + Phase ), 1);
end

코드 해설

목적

Control & Dynamics 중심의 Octave 학습 예제

입력

  • 파라미터: time
  • 파라미터: m

출력

  • 반환값: sig

실행 흐름

  1. 코드 상단부터 순차 실행

핵심 함수/주제

randtimefprintfzerosAmplitudecosdFrquencyPhase

실습 과제

  • 질량/감쇠/강성 또는 전달함수 계수를 바꿔 응답 변화를 확인해보세요.
  • 핵심 함수 rand의 인자를 한 가지 바꿔 결과 변화를 기록해보세요.

학습 팁

같은 카테고리의 다른 코드