달력

5

« 2024/5 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
2009. 7. 1. 19:17

matlab 구조체 삽질예방/Matlab2009. 7. 1. 19:17

구조체는 다음과 같이 쓴다. 원소를 더 추가하고 싶으면
circle(2).어쩌구.. 라고 쓰면 새로이 멤버가 추가된다.
>> circle.radius = 3.4;
>> circle.color='green';
>> circle.linestyle=':';
>> circle.center = [2.3 -1.2];
>> circle

circle =

1x1 struct array with fields:
    radius
    center
    color
    linestyle


다음과 같이 일괄적으로 구조체를 생성하는 방법도 있다.
>> values1 = {2.5 'sqrt(2)' 25.4};
>> values2 = {[0 1] [2.3 -1.2] [-1 0]};
>> values3 = {'--' ':' '-.'};
>> values4 = {'red', 'green', 'blue'};
>> values5 = {'yes', 'no', 'yes'};

circle = struct('radius', values1, 'center', values2, ...
'linestyle', values3, 'color', values4, 'filled',values5);


현재 circle구조체는 멤버가 셋이며 이 경우 다음과 같은 표현을 쓸 수 있다. 스트링을 이용하여 구조체의 멤버 접근을 일반적으로 할 수 있다는 것은 언젠가 편하게 쓰일 것 같다.

>> fldstr = 'color';
>> circle.(fldstr)

ans =
red

ans =
green

ans =
blue

fieldnames(circle) % 모든 필드 이름의 리스트를 리턴한다.


:
Posted by Kwang-sung Jun
2009. 7. 1. 19:12

셀배열 삽질예방/Matlab2009. 7. 1. 19:12

문자열은 배열 그대로 쓰면 공백들이 들어가서 불편하고, 다음과 같이 셀 배열을 이용한다.

>> strary(1) = {'abc'};
>> strary(2) = {'안녕친구들'};
>> strary
strary =
    'abc'    '안녕친구들'

>> strary(1)
ans =
    'abc'

>> strary{1}
ans =
abc

다음은 2행 3열의 셀 배열을 생성해 준다.

c = cell(2,3);


대부분 값의 대입과 값의 이용시에는
c{1,1} 와 같이 접근하면 된다.
그냥 c(1,1)이라고 하면 데이터 타입이 뭔지만 알려주는 역할을 하게 되고 값은 알려주지 않는다.

p.s.
"경우에 민감한(case-sensitive) 필드를 ...라 한다."....... 번역..... 진짜 한심한 수준의 번역이다..
:
Posted by Kwang-sung Jun
2009. 5. 18. 10:32

리셋 개념2009. 5. 18. 10:32

리셋 이라는 개념은 우리의 일상생활에서 정말 중요한 개념이다.
리셋 수행시 돌아가는 지점은, 우리가 못해도 요정도까지는 장담해 줄 수 있다 라고 인식해도 되는 부분이다.

특히 어떤 '도구'나 '기계'의 형태에서 reset은 필수가 아닌가 싶다.
컴퓨터의 경우를 보자. 제아무리 컴퓨터가 꼬이고 난리가 나도 reset버튼이면, 현재작업은 멈출지 몰라도 적어도 컴퓨터를 사용할 수는 있게 해준다.

엠피쓰리의 경우도 마찬가지이다. 볼펜 끝을 이용하여 찔러눌러 이용할 수 있게 되어있는데, 작동이 멈췄을 경우 최후의 보루로 사용할 수 있는 리셋이다. 컴퓨터에 복구 시점을 설정하는 것도 마찬가지...

그것 뿐이 아니다. 내가 문제를 제기하고 싶은 부분은 여기다. 웹에서 사용하는 텍스트 에디터의 경우 궁극적으로 html로 변환시키면서 서식을 적용시키는 방식인데, reset기능이 없다. 티스토리 에디터도 마찬가지이다. 이런저런 서식을 자꾸만 적용시키다 보면 이것저것 꼬여버려서 결국 서식을 제거하기위해 메모장으로 옮겼다가 다시 텍스트만 떠오는 일을 반복해야할 때가 있다.

지메일에서는 '포멧제거'라는 기능이 있어서 텍스트 서식을 '리셋'시킬 수 있다. How useful it is!

엔지니어라면 당신이 만드는 것에는 항상 '리셋' 기능이 있어야 한다는 점을 명심하자.
:
Posted by Kwang-sung Jun