어느 날 퇴근길 생각의 흐름 어? 지금 나오는 곡 뭐지? 템포가 딱 좋은데? 박자 맞춰서 걷기 딱 좋은 템포잖아? 이거 bpm이 얼마쯤 되는거지? Stayin' alive보다 빠르니까 100보다는 확실히 높을거 같은데?110쯤 되려나? 어떻게 측정하지? 아이폰에서 bpm 측정하는 앱이 있나?뭔가 있네. 앱 이름이 bpm이네. ㅋㅋ 오호. 109 bpm이네.이거랑 비슷한 bpm의 곡들을 모아서 플리를 만들까?뭐가 있지? 일단 타샤니의 경고가 비슷할 것 같고.Emotional oranges 노래들도 대충 비슷할거 같은데?그러고보니 예전에 100 bpm 근처의 곡들을 모아둔 적이 있는데, 그거랑 합쳐야겠다.일할 때 듣는 플리 이름이 work song이니, 이건 walk song으로 하면 되겠지? ㅋㅋ근데 이 ..
이 글은 정규식 삽질의 기록이며, 나중에 내가 같은 패턴을 쓸 일이 있을 때 찾아보기 위함이다. 애증의 정규식 1탄애증의 정규식 2탄애증의 정규식 3탄 과제 1. 마크다운 헤딩이 2단계일 때에도 잘 변환해야 한다.- Heading level 1은 숫자가 안 들어가므로 추가해줘야 한다.- 그 이하의 level은 숫자가 들어가므로 그대로 두어도 된다. 예시)>[간단한 출력: disp]>[포맷팅 출력: fprintf]>>[2.1 formatSpec]>>[2.2 변환 문자]>>[2.3 이스케이프 문자]>[format으로 출력 표시 형식 지정] 를 아래처럼 바꿔야 한다. >[1. 간단한 출력: disp]>[2. 포맷팅 출력: fprintf]>>[2.1 formatSpec]>>[2.2 변환 문자]>>[2.3 이스..
이 글은 정규식 삽질의 기록이며, 나중에 내가 같은 패턴을 쓸 일이 있을 때 찾아보기 위함이다. 애증의 정규식 1탄애증의 정규식 2탄 게으른 매트랩 인덱싱 파트를 쓰던 도중, 애증의 정규식 1탄에서 걱정했던 일이 발생했다. 마크다운에서 헤딩 텍스트에 한글이 들어가면 링크에서는 없애야 한다. 정확히는, 1. 숫자와 알파벳, 즉 alphanumeric는 그대로 남긴다.2. 그 외의 문자는, alphanumeric 사이에 있는 것들은 묶어서 하이픈 하나로 바꾼다.3. Trailing 하이픈은 모두 없애버린다. 이게 말로 하면 좀 어려운데, 쉽게 말해 아래처럼 바꾼다. 123가나다abc → 123-abc1가2나3다 → 1-2-3가나다a123bc → a123bc 즉, 남길 문자 사이에 non-alphanumer..
매트랩으로 시각화 예제를 만들면서 이미지를 회전시켜야 할 일이 있었다. 하나의 Axes 위에 다른 객체는 그대로 놔두고 Image object만 회전시켜야 했는데, 정보 손실이 없어야 해서 imrotate는 사용하기 어려운 상황이었다. 찾아보니 rotate라는 함수가 Image object도 회전시킨다고 나왔다. 그런데 막상 해보니까 안되는 거다. 그래서 어쩔 수 없이 Axes를 2개 만들어서 Image를 올린 Axes만 회전시켰다. 해당 이슈를 매트랩 단톡방에 공유했고, 도움말에 오류가 있는 것으로 판명이 났다. 정식으로 이슈 등록되었고, Answers에 Support team의 글도 올라왔다. 요컨대 Image object에는 ZData가 없기 때문에 안된다고 한다. 지금은 rotate 함수의 설명에..
꼬앵이 체중관리표를 보다가 문득 이런 생각이 들었다. 매일 똑같이 먹고 똑같이 움직이면 체중은 수렴할까? 그래서 아래와 같은 문제를 만들어보았다. 철수네 강아지 해피가 살이 너무 쪄서 체중관리에 들어가기로 했다. • 현재 해피 체중은 20 kg이다.• 사료는 1 g 당 3 kcal의 열량을 갖는다.• 현재 체중 기준, 먹은 사료 중 50%는 똥으로 나오고, 나머지 50%는 에너지로 전환 및 흡수된다. - 사료의 에너지 전환율은 체중이 1 kg 감소할 때마다 1%씩 증가한다. 예를 들어, - 20 kg일 때는 먹은 사료 중 50%가 에너지로 전환되지만, - 19 kg일 때는 먹은 사료 중 51%가 에너지로 전환된다.• 운동은 매일 1시간을 하는데, 현재 체중 기준, 300 kcal의 에너지를 ..
콰인은 자기 자신의 코드를 출력하는 코드이다. 즉, 실행 결과가 자신의 코드와 동일해야 한다. 생각보다 간단하지 않다. 무지성으로 아래처럼 짜면 disp('disp') 출력은 disp만 되므로, 다시 아래처럼 고쳐야 하고, disp('disp(''disp'')') 이렇게 해봤자 다시 코드가 늘어났으므로 다시 코드를 늘려야 한다. 아래는 chatGPT가 알려준 매트랩 콰인이다. quine = 'fprintf(''%s%s%s'', char(10), ''quine = '';, quine, char(10), quine);';fprintf('%s%s%s', char(10), 'quine = ', quine, char(10), quine); 그런데 틀렸다. 따옴표 2개는 따옴표 1개로 바뀌기 때문이다. 다시 물어..
어디서 줏었는지 기억이 나지 않는다. 아마 고등~대학 물리학, 수학 단톡방이 아니었을까 싶다. 50원짜리 5개를 모아서 250원을 만드는 것인데, A, B, C, D가 갖고 있는 동전 개수가 다르다. 동전을 내지 않는 사람이 있어도 된다. 따라서• A가 5개 내도 되고• A가 3개, B가 2개 내도 되고• A가 1개, B가 1개, C가 1개, D가 2개 내도 된다. 결국 이 문제는 아래를 묻는 것이다. "AAAAAABBBBCCCDD"에서 문자 5개를 고르는 경우의 수 ${}_{15}C_5$는 아니다. 중복된 문자들이 있기 때문이다. 생각하기 귀찮았던 나는(...) 이딴 코드를 짜고 있었다. coins = 'ABCD';t = table2array(combinations(coins, coins, coins,..
이 글은 정규식 삽질의 기록이며, 나중에 내가 같은 패턴을 쓸 일이 있을 때 찾아보기 위함이다. (1탄 보러가기) 0. 요약 • 어떤 텍스트가 '숫자4개_숫자4개' 꼴인지 보려면?~isempty(regexp(str, '^\d{4}_\d{4}$', 'once'))• 여기서\d는 숫자 하나\d{4}는 숫자 4개캐럿은 문자열이 그걸로 시작하는지 확인딸라는 문자열리 그걸로 끝나는지 확인이다. • isempty를 써야 하는 이유는? regexp의 결과로 빈 배열이 나올 수 있기 때문 1. 하려고 했던 것 • 파일명 쓰기 귀찮아서 아무 파일명으로 저장한 이미지 파일들을 일괄로 변경하고 싶었다.• 예를 들어 2024년 6월 1일에 수정한 파일이라면 '2024_0601.png'로 바꾸고 싶다.• 챗gpt가 이런 건 ..
MATLAB R2024a Prerelease가 나왔습니다. Release note를 보고 자주 또는 종종 사용할 것 같은 것만 몇 가지 추려봤습니다. 1. 자유로워진 로컬 함수의 위치 로컬 함수를 코드 중간에서 정의할 수 있게 됩니다. 다만 if, for와 같은 conditional context 내에서는 정의할 수 없습니다. 2. Check spelling 기능 툴스트립-VIEW의 오른쪽 끝에 있습니다. 라이브 에디터의 텍스트, M-파일의 주석에서 파란색 밑줄로 보여줍니다. 3. createArray 함수 createArray를 이용하여 특정 클래스의 행렬을 만들 수 있습니다. 예전에는 클래스마다 초기화된 행렬을 만드는 방법이 달랐습니다. 4. arguments 블록 자동완성 이 상태에서 아래의 sug..