본문 바로가기
728x90
반응형

Programming/Matlab, Octave, Scilab18

Octave로 Powerpoint 제어하기 Powerpoint 파일을 읽어드린 후 몇몇 셀에 수치를 입력하고 저장 후 종료하는 예제이다. 새로운 것들을 접근할 때 프로그래밍 언어마다 유사점이 있다보니 인터넷 검색으로 python, VBA 코드 형태를 참고하여 사용하면 큰 막힘없이 풀어갈 수 있다. 어떤 기능을 넣을지는 고민 중이다. 까먹지 않도록 올려놓는다. clear clc % Windows COM Package 불러오기 pkg load windows p_id = actxserver('PowerPoint.Application'); pth = 'd:\works\octave\example.pptx'; wb = p_id.Presentations.Open(pth, 0, false); wb.save; p_id.quit; 2022. 11. 17.
Octave를 이용하여 Excel 사용하기 우선 Octave에 windows라는 package 가 설치되어 있어야 한다. 링크 : https://gnu-octave.github.io/packages/ GNU Octave - Packages Extend GNU Octave's functionality by packages. Find many of them here. gnu-octave.github.io 설치되어 있지 않다면 Octave의 command line에서 하기 내용을 입력한다. pkg install " 2022. 11. 11.
[Matlab] Parallel Processing Example Code clc clear matlabpool open for n=1:100 a(n)=tic; for i=1:1024*n A(i) = sin(i*2*pi/1024); end aa(n)=toc(a(n)); b(n)=tic; parfor i=1:1024*n A(i) = sin(i*2*pi/1024); end bb(n)=toc(b(n)); end matlabpool close n=1:100; plot(n,aa,n,bb) 실행해 보면 알 수 있듯이 계산 규모가 어느 수준 이상 되어야 효과가 있다. 결과를 올리지 않는 이유는 코드를 실행시키는 컴퓨터의 사양에 따라 많은 차이를 보여서 결과는 따로 올리지 않는다. 2010. 5. 25.
[Matlab] for loop perfomance clc clear N=1000; seq = randn(1,N); % Vectorized solution tic; s = sum(seq); Vectorized = toc % For loop tic; for f = seq s = s + f; end For1 = toc % For loop w/scalar indeces tic; for i = 1:N s = s+seq(i); end For2 = toc Vectorized/For1 For2/For1 실행결과 Vectorized = 3.2509e-004 For1 = 0.0025 For2 = 2.5483e-005 Vectorized/For1 = 0.0896 For2/For1 = 0.0070 일반적으로 for루프를 돌리면 Matlab에서는 속도가 떨어진다. 그래서 코드.. 2010. 5. 16.
[Matlab] Double vs Cell array Speed. N=100000; d(1)=0; c{1}=0; % Double array tic for i = 1:N d(1) = i; end DoubleTime = toc % Cell array tic for i = 1:N c{1} =i; end CellTime = toc Speedup = CellTime/DoubleTime 실행 결과 DoubleTime = 0.0012 CellTime = 0.0273 Speedup = 21.9098 Doube array가 Cell arrary 보다 빠르다. 2010. 5. 16.
[Matlab] Webcam 을 이용해서 동영상 보기 코드 인터넷을 검색하다 보니 예제가 있어서 스크랩 했다. 스크랩하고서 그 사이트 정보를 기록했어야 했는데.. 다른 것 하다보니.. 삭제되어 버렸서 다시 확인되는 데로 업데이트 하도록 하겠다. 아래의 소스는 웹캠으로부터 동영상을 받아서 Matlab상에서 디스플레이 해주는 코드이다. % Create video input object. vid = videoinput('winvideo') % Set video input object properties for this application. % Note that example uses both SET method and dot notation method. set(vid,'TriggerRepeat',Inf); vid.FrameGrabInterval = 5; % Set.. 2010. 5. 1.
[Matlab]patch 사용해 보기 - waitbar 구현을 위해... WAITBAR 구현을 위하여 patch 기능을 알기 위해서 만든 예제 파일이다. hh=figure; bg_color = [.3 .35 .4]; %'b'; fg_color = [0 .5 0]; %'r'; h = axes('Parent',hh,'Units','pixel','Position',[1 1 300 10],'XLim',[0 1],'YLim',[0 1],... 'XTick',[],'YTick',[],'Color', bg_color,'XColor', bg_color,'YColor', bg_color); zdata=[0 0 0 0]; past_time=0; patch([0 0 1 1],[0 1 1 0],[0 0 0 0],[.3 .35 .4],'Parent',h,'EdgeColor', 'none','Eras.. 2010. 5. 1.
[Matlab] 항공기 계기를 GUI에서 동작시켜보자... 여기서 코드는 공개하지 않는다. 다만 적용할 수 있는 방법을 소개한다. 우선... 이미지 Matlab에서 이미지 회전은 imrotate라는 함수가 있어서 쉽게 구현할 수 있다. 하지만.. Matlab사의 커뮤니티에서 보면 C언어를 이용해서 좀 더 속도를 개선한 것이 있으니 참고 바란다. 항공기 계기는.... 오픈 소스 그룹인 codeproject 사이트에서 참고한다. http://www.codeproject.com/KB/miscctrl/Avionic_Instruments.aspx C# Avionic Instrument Controls The aim of this C# project is to purpose six aircraft cockpit instruments usable in forms as any.. 2010. 5. 1.
Ballard Tech.사의 ARINC429 Card 항공기에 사용되는 전자장비의 통신 규격으로 민간분야에서는 ARINC429를 사용하고 군분야에서는 MIL-1553B를 사용한다. 민간이든 군분야든 항공기 자체가 갖고있는 특성으로 인하여 두 개의 차이는 별로 없다고 할 수 있다. 최근에 관성항법장치를 분석하면서 ARINC 429에 대해 접하게 되었고.. 인터페이스를 위하여 Ballard Tech.사의 ARINC429 PCI Card를 사용해 볼 기회가 있었다. 제공되는 라이브러리는 C, Visaul Basic, NI사의 Labview가 기본적으로 제공된다. Labview와 C코드는 테스트를 해 보니 잘 동작한다. 코딩 능력이 C는 Standard 경험하고 이전 DOS 시절에 다뤘고 윈도우 환경에서 코딩 경험이 없다. 물론 기본 동작은 할 수 있지만 GUI .. 2010. 5. 1.
[Matlab] M 코드를 독립적인 실행파일로 만들기. 작업 1. Mbuild >> mbuild -setup Please choose your compiler for building standalone MATLAB applications: Would you like mbuild to locate installed compilers [y]/n? n % n을 입력한다. y를 입력하면 lcc 컴파일러로 설정할 수 있다. Select a compiler: [1] Microsoft Visual C++ 2005 SP1 [2] Microsoft Visual C++ 2008 Express [3] Microsoft Visual C++ 2008 SP1 [0] None Compiler: 3 % 설치되어 있는 컴파일러를 선택한다. The default location for Mi.. 2010. 5. 1.
[Matlab] C/C++의 함수 및 기능을 Matlab으로.. [2] [1]에서 설명한 내용에 여러가지 결과를 출력하는 경우를 가정하여 예제를 꾸며 봤다. /* ========================================================================= */ #include "mex.h" void test1(int x, int y, int *z1, int *z2, int *z3) { *z1=x+y; *z2=x-y; *z3=x*y; } /* The gateway routine. */ void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) { int x, y, *z1, *z2, *z3; x = (int)mxGetScalar(prhs[0]); y = (int.. 2010. 5. 1.
[Matlab] C/C++의 함수 및 기능을 Matlab으로.. [1] 아래의 코드는 두 개의 변수의 값(int 형)을 입력 받아서 합 연산을 한 후 그 결과(int 형)를 돌려주는 C 코드를 Matlab에서 사용이 가능하도록 만든 코드이다. 기존 적으로 "mex.h" 헤더 파일이 포함되어야 하고, 함수는 subroutine과 gateway routine으로 구분 된다. subroutine은 C에서 처리하고자 하는 것이 들어가는 영역이고 gateway routine은 C와 Matlab을 연결시켜주는 routine이다. /* ========================================================================= */ #include "mex.h" void test(int x, int y, int *z) { *z=x+y; } /* T.. 2010. 5. 1.
728x90
반응형