demo_save_option
Signal Processing + Control & Dynamics 중심의 Octave 학습 예제
ex-speed/demo_save_option.m
전체 코드
전체 코드를 복사해서 Octave에서 바로 실행할 수 있습니다.
clc; clear all; close all; addpath(genpath(pwd));
pkg load signal
printf(fmt("{mfilename}\n", "#FF5733"));
n = 100000;
t = linspace(0,10,n);
[p, q, r] = deal(4, 4, 4);
[x, y, z] = speed_test5(n, p, q, r, t); # 0.806392 seconds
# tic
# save("xyz.mat", "x", "y", "z"); # 32.1839 seconds
# toc
# tic
# load("xyz.mat"); # 89.8384 seconds
# toc
tic
save("xyz.mat", "x", "y", "z", "-mat7-binary"); # 5.54991 seconds
toc
tic
load("xyz.mat"); # 0.751045 seconds
toc
delete("xyz.mat");
# MAT7 바이너리 형식을 사용하면, 기본 .mat 형식보다 훨씬 빠르며, 파일 크기도 작게 유지됩니다.
# 일반 저장: 32.1839 seconds. 최적 저장: 5.54991 seconds
# 일반 로딩: 89.8384 seconds. 최적 로딩: 0.75104 seconds 코드 해설
목적
Signal Processing + Control & Dynamics 중심의 Octave 학습 예제
입력
- 입력 파일: xyz.mat
출력
- 저장 파일: xyz.mat
- 콘솔 텍스트 출력
실행 흐름
- 데이터 준비
- 출력 및 저장
핵심 함수/주제
loadsaveaddpathdealdeletefmtgenpathlinspace
실습 과제
- 샘플링 주파수나 입력 주파수를 바꿔 스펙트럼 변화를 비교해보세요.
- 질량/감쇠/강성 또는 전달함수 계수를 바꿔 응답 변화를 확인해보세요.
- 핵심 함수 load의 인자를 한 가지 바꿔 결과 변화를 기록해보세요.
학습 팁
- 입력 파일 경로가 현재 작업 디렉터리 기준인지 먼저 확인하세요.
같은 카테고리의 다른 코드
- demo_loop_speed
ex-speed/demo_loop_speed.m - speed_test1
ex-speed/speed_test1.m - speed_test2
ex-speed/speed_test2.m - speed_test3
ex-speed/speed_test3.m - speed_test4
ex-speed/speed_test4.m - speed_test5
ex-speed/speed_test5.m