게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
매틀랩 함수관련 질문드립니다 ㅠㅠ!!!
게시물ID : programmer_9185짧은주소 복사하기
작성자 : 평양고추
추천 : 0
조회수 : 2010회
댓글수 : 3개
등록시간 : 2015/04/07 15:18:38
옵션
  • 본인삭제금지
코사인 square wave 함수에 대한 푸리에 급수를 구하는 Matlab함수
t가 0부터 1pi/4 까지 1, 1pi/2부터 3pi/4까지 -1, 그 이후 2pi까지 1인 코사인 스퀘어 함수(주기가 2파이)
 
function [A] = sqcosin(N)
for n=1:1:N/4
    A(n)=1;
    A(n+N/4)=-1;
    A(n+N/2)=-1;
    A(n+3*N/4)=1;
end
 
이렇게 제가 설계를 했고
푸리에 급수의 함수는 파일이
 
function [X] = fourier(A);
N = length(A); %one period
fo = 1/N;
t = 0:1:N-1;
%FS approximation
for k=1:1:N,
   X(k) = fo*sum(A.*exp(-j*2*pi*(k-1)*fo.*t));
end
 
이렇게 주어졌습니다.
주기를 2*pi로 설정하라고 하고 그 2pi를 N=256 포인트로 나눠서 나타내야 하는데
N을 256을 입력 받아 코사인 스퀘어 함수를 정의하면
A(1)~A(64) = 1
A(64)~A(192)= -1
A(192)~A(256)= 1
인 A가 생성되는데..

여기서 length(A)를 하게 되면 지금은 256이 나오잖아요?
length(A)가 2pi가 나오게 하는 방법은 없나요?
제가 저 for문에서 n=1:2*pi/N:2*pi/4 라고 하면 정수를 넣으라고 오류가 뜨고 ㅠㅠ
 
그리고 이렇게 생성된 A를 fourier(A) 함수에 이용하려고 하면
double입력 변수에 정의되지 않은 함수라고 하는데..
아예 ㅁ잘못하고 있는것 같아서요 ㅠㅠ
말이 좀 횡설수설 하는 것 같은데요,
주기가 2파이인 코사인 스퀘어 함수를 256포인트로 나눠서 나타내는 방법?
그 함수를 저 푸리에 함수에 적용하는 방법 알려주시면 감사하겠습니다 ㅠㅠ
 
본삭금해놓고 물어보겠습니다 ㅠㅠ 도저히 이해가 안되어서요 ㅠ
 
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호