4장. MATLAB의 기타 명령들과 파일처리 명령
본 자료는 7페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
해당 자료는 7페이지 까지만 미리보기를 제공합니다.
7페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

4장. MATLAB의 기타 명령들과 파일처리 명령에 대한 보고서 자료입니다.

목차

4장. MATLAB의 기타 명령들과 파일처리 명령

■ 디스크 화일의 조작

■ 외부 프로그램의 수행

■ 자료의 읽기와 쓰기

■화일의 열고 닫기 ( Open , Close )

■화일 내에서의 위치 제어 : fseek , ftell

■ 형식화된 문자 화일 쓰기 : fprintf

■ 형식화된 문자 파일 일기 : fscanf

■ 형식화된 문자열 읽기 쓰기 : sscanf , sprintf

■ 랜덤한 데이터를 발생하고 이 데이터를 파일에 저장하고 다시 읽어보면

■데이터 읽어 들이기

본문내용

800 4.9530 5.4740
6.0500 6.6859 7.3891
1.0000 0.9950 0.9801
0.9600 0.9211 0.8776
0.8300 0.7648 0.6967
0.6200 0.5403 0.4536
0.3600 0.2675 0.1700
0.0700 -0.0292 -0.1288
-0.2300 -0.3233 -0.4162
>> count % 총 데이터의 수
count =
63
>> fclose(fr); % 파일 닫기
■ 형식화된 문자열 읽기 쓰기 : sscanf , sprintf
▶ sprinf : 문자열로 표시
>> a = sprintf(\'%0.5g\',(1+sqrt(5))/2) 1.618
>> a = sprintf(\'%0.5g\',1/eps) 4.5036e+15
>> a = sprintf(\'%15.5f\',1/eps) 4503599627370496.00000
>> a = sprintf(\'%d\',round(pi)) 3
>> a = sprintf(\'%s\',\'hello\') hello
>> a = sprintf(\'The array is %dx%d.\',2 , 3) The array is 2x3.
>> a = sprintf(\'\\n\') 라인의 끝
>> cosine = sprintf(\'%f 의 코사인 값은 %f 이다\\n‘ ,5, cos(5))
cosine =
5.000000 의 코사인 값은 0.283662 이다
▶ sscanf : 파일 대신에 문자열로부터 입력 값을 받아들이는 함수
>> S = \'2.7183 3.1416\';
>> A = sscanf(S,\'%f\')
A =
2.7183
3.1416
앞에서 선언된 cosine 스트링 변수로부터 입력 값을 읽어 들여서 5.00000 와 0.283662의 코사인 값으로 구성된 열 터를 돌려준다.
>> sscanf(cosine, \'%f 의 코사인 값은 %f 이다\\n\')
ans =
5.0000
0.2837
sprintf 에서 설정한 문장과 일치해야 정확한 값을 얻을 수 있다. Sine value of %f is %f. 대신에 ‘%f %f.’만을 입력하면 아무것도 나타나지 않고, Sine value of %f %f.로 입력하면 0.5000만이 출력된다.
■ 랜덤한 데이터를 발생하고 이 데이터를 파일에 저장하고 다시 읽어보면
rand(\'seed\',sum(clock));
p=floor(6*rand(1));
q=floor(4*rand(1));
A=triu(tril(rand(7,5),q),-p);
p=floor(6*rand(1));
q=floor(4*rand(1));
B=triu(tril(rand(7,5),q),-p);
fid=fopen(\'randmatrix.txt\',\'wt\');
fprintf(fid,\'A=\\n\');
for i=1:7
fprintf(fid,\'%9.5f \',A(i,:));
fprintf(fid,\'\\n\');
end
fprintf(fid,\'B=\\n\');
for i=1:7
fprintf(fid,\'%9.5f \',B(i,:));
fprintf(fid,\'\\n\');
end
fclose(fid);
>>type randmatrix.txt
A=
0.47989 0.58597 0.22723 0.00000 0.00000
0.50100 0.32364 0.98789 0.61304 0.00000
0.27552 0.38432 0.45644 0.36820 0.60543
0.68468 0.19300 0.47096 0.25836 0.54335
0.00000 0.73677 0.36552 0.30464 0.15280
0.00000 0.00000 0.26576 0.15238 0.15344
0.00000 0.00000 0.00000 0.04800 0.88748
B=
0.92669 0.00000 0.00000 0.00000 0.00000
0.91368 0.22809 0.00000 0.00000 0.00000
0.25483 0.48152 0.14561 0.00000 0.00000
0.98095 0.89169 0.34427 0.80437 0.00000
0.87516 0.70031 0.22828 0.07428 0.46696
0.84029 0.16888 0.65144 0.40075 0.18087
0.00000 0.31443 0.77356 0.44683 0.80338
■데이터 읽어 들이기
fid=fopen(\'randmatrix.txt\',\'rt\');
A=zeros(7,5);
B=zeros(7,5);
fgets(fid)
A=fscanf(fid,\'%f \');
A=reshape(A,5,7)\';
fgets(fid)
B=fscanf(fid,\'%f \');
B=reshape(B,5,7)\';
C=A.*B
D=A.^B
fclose(fid);
<실행결과>
x1=input( \'시작점 x= \')
y1=input( \'시작점 y= \')
x2=input( \'종점 x= \')
y2=input( \'종점 y= \')
n=input(\'점의 수 = \');
x=linspace(x1,x2,n);
y=linspace(y1,y2,n);
[fx, fy]=fm(\'dsine\',x,y);
fm=(fx.*fx+fy.*fy).^0.5;
colormap(cool);
mesh(x,y,fm);
=============================================
function [fx, fy] = fm(fn,x,y,delta,M);
if nargin<5
M=10;
end
if nargin<4
delta=eps;
end
h=(3*delta/(8*M))^(1/3);
fx=(feval(fn,x+h,y)-feval(fn,x-h,y))/(2*h);
fy=(feval(fn,x,y+h)-feval(fn,x,y-h))/(2*h);
=============================================
function f=dsine(x,y)
f=exp(-4*x\')*sin(y);
=============================================
<실행>
시작점 x= 5
시작점 y= 5
종점 x= 20
종점 y= 20
점의 수 = 100
▶ MATLAB의 자료형과 C언어 자료형간의 비교
  • 가격8,400
  • 페이지수20페이지
  • 등록일2012.09.28
  • 저작시기2003.11
  • 파일형식한글(hwp)
  • 자료번호#754458
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니