본문 바로가기
반응형

matlab11

[매트랩] 벡터 원소 오름차순 정렬하는 방법 벡터를 하나 생성합니다.  v = [3, 1, 4, 1, 5, 9, 2, 6, 5];sort 함수를 사용하여 오름차순으로 정렬합니다.  >> sort(v)ans = 1 1 2 3 4 5 5 6 9 2024. 5. 5.
[매트랩] 3차원 함수 그리는 방법 3차원 그래프를 그리는 예시는 아래와 같습니다. 함수 정의 부분에 원하는 함수를 넣으면 됩니다.  % x와 y 값 범위 설정x = linspace(-5, 5, 100); % -5부터 5까지 100개의 점으로 이루어진 벡터 생성y = linspace(-5, 5, 100);[X, Y] = meshgrid(x, y); % x와 y 벡터로 그리드 생성% 함수 정의Z = X .* Y;% 3D 그래프 플로팅figure;surf(X, Y, Z); % 3D 표면 그래프 그리기xlabel('X');ylabel('Y');zlabel('Z = XY');title('3D 그래프: Z = XY'); 2024. 4. 29.
[매트랩 기초] 인덱싱을 이용한 행렬(배열) 정의 인덱싱을 이용하여 아래와 같이 행렬을 정의할 수 있습니다.  >> a(1:5,1:5)=1a = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1만약 a라는 행렬이 이미 있다면 1:5,1:5 에 해당되는 부분이 수정될 것입니다. 2024. 4. 25.
[Matlab으로 파일&폴더 다루기] 3. 셀형 배열 원소 순서 정렬하기 (1 다음 2가 아니라 10이 나오는 문제 수정) 3. 셀형 배열 원소 순서 정렬하기 (1 다음 2가 아니라 10이 나오는 문제 수정) 지난시간까지 코딩한 내용은 아래와 같습니다. #파일 목록 불러오기path='C:\Users\Public\Sample'list=dir(path);name={list.name}name2 = name(3:end); 우리가 저장한 폴더제목 목록은 아래와 같습니다. >> name2name2 ={ [1,1] = 1.Apple [1,2] = 10.Johnson&Johnson [1,3] = 2.Microsoft [1,4] = 3.Amazon [1,5] = 4.Alphabet [1,6] = 5.Berkshire_Hathaway [1,7] = 6.Facebook [1,8] = 7.Alibaba [1,9] = 8.Tencent_Holdin.. 2020. 1. 14.
[Matlab으로 파일&폴더 다루기] 2. 폴더 안에 들어 있는 폴더와 파일의 목록 가져오기 2. 폴더 안에 들어 있는 폴더와 파일의 목록 가져오기 지난시간에 만든 Sample 폴더를 아래 경로에 놓아줍시다. C:\Users\Public\Sample 이 경로를 path 라는 변수에 넣어줍니다.dir함수를 path에 적용하여, List라는 변수에 저장해줍니다. path='C:\Users\Public\Sample'List=dir(path); 아래와 같이 구조체에 저장됩니다. >> ListList = 12x1 struct array containing the fields: name folder date bytes isdir datenum statinfo 저장결과는 아래와 같습니다. 인덱싱 방법을 알아봅시다. 01.Apple 이라는 이름에 접근하고 싶은 경우 아래와 같이 인덱싱해주시면 됩니다. >> L.. 2020. 1. 14.
[Matlab으로 STL파일 다루기] 11. STL 불러와서 평면과 교점구하기 11. STL 불러와서 평면과 교점구하기 5강에서 만들었던 hammer_remesh.stl을 불러와서 평면으로 자른 교점을 구해봅시다. mystl=stlread('hammer_remesh.stl'); 10강에서 만든 코드를 그대로 적용해줍니다. #한 face를 구성하는 점들을 같은 행에 저장 vertices_by_f=0;for i=1:size(mystl.faces)(1) for j=1:3 a=mystl.faces(i,j); vertices_by_f(i,(3*j-2):3*j)=mystl.vertices(a,:); end end #평면의 방정식 2x+3y-z=0PL=[2 3 -1 0]; #평면과 모서리 사이의 교점 구하기for i=1:size(mystl.faces)(1)p1=vertices_by_f(i,1:.. 2020. 1. 8.
[Matlab으로 STL파일 다루기] 10. STL과 평면의 교점구하기 10. STL과 평면의 교점구하기 7강에서 만들었던 stl을 가져옵시다. a1=[1 0 0];a2=[1 1 0];a3=[0 1 0];a4=[0 0 0];a5=[1 0 1];a6=[1 1 1];a7=[0 1 1];a8=[0 0 1]; mystl.vertices=[ %아랫면 a1;a2;a3; a1;a3;a4; %윗면 a5;a6;a7; a5;a7;a8 %앞면 a1;a2;a5; a5;a2;a6; %뒷면 a4;a3;a7; a4;a7;a8; %좌측면 a1;a5;a4; a5;a4;a8; %우측면 a2;a3;a6; a6;a3;a7; ]; mystl.faces=[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.. 2020. 1. 7.
[Matlab으로 STL파일 다루기] 9. 평면으로 STL 자른 단면 만들기 (2) 두 점과 평면의 교점을 구하는 함수 stl 위에서 triangle을 만들고 있는 인접한 두 점의 모든 조합과, 평면과의 교점을 구해야 합니다. 교점들을 연결하면 단면이 됩니다. 아래와 같은 단계로, 두 점을 이은 선분과 평면사이의 교점 존재 여부를 판별합니다. Step) 두 점 사이에 평면이 있는지 확인→ 있다면 교점 저장→ 없다면 교점 없음 두 점 사이에 평면이 있는지 여부를 판별해야 합니다. 두 점을 P1, P2, 평면의 법선벡터를 n, 평면 위의 한 점을 Q라고 놓겠습니다. 평면 위의 한 점 Q와 각 두점을 연결한 벡터 QP1 과 QP2를 만듭니다. 이 벡터를 법선벡터 n에 투영한 벡터를 벡터 Q1P1 과 Q2P2로 놓겠습니다. 이 두 벡터의 방향이 같다면 평면과의 교점이 없는 것이고, 두 벡터의 방향이 다르다면 평면과의 교점이 있는.. 2019. 12. 6.
[Matlab으로 STL파일 다루기] 7. 간단한 STL 직접 만들어보기 이번에는 간단한 stl을 직접 만들어봅시다. 아래와 같은 정육면체를 만들어볼겁니다. 먼저 점들을 정의합시다. 아래와 같은 이름으로 정의할겁니다. 8개의 점을 정의한 코드는 매트랩 코드는 아래와 같습니다. a1=[1 0 0]; a2=[1 1 0]; a3=[0 1 0]; a4=[0 0 0]; a5=[1 0 1]; a6=[1 1 1]; a7=[0 1 1]; a8=[0 0 1]; 이 점들을 이용하여 vertices를 만듭시다. 위에서 부터 3개씩 연결하여 하나의 face를 만들 것입니다. 알아보기 쉽도록 아래와 같이 쓰겠습니다. mystl.vertices=[ %아랫면 a1;a2;a3; a1;a3;a4; %윗면 a5;a6;a7; a5;a7;a8 %앞면 a1;a2;a5; a5;a2;a6; %뒷면 a4;a3;a7; .. 2019. 11. 6.
[Matlab으로 STL파일 다루기] 2. STL 불러오기 2. STL 불러오기 1) MathWorks 홈페이지에서 STL Files Reader를 다운받습니다. 2) 다운받으면 STLRead라는 폴더가 받아지는데, MyFunction이라는 폴더를 만들어서 안에 넣어줍니다. 앞으로 사용할 함수들은 MyFunction 폴더에 넣어주겠습니다. 3) 매트랩을 열고 MyStl 폴더와 MyFunction 폴더를 경로에 추가해줍니다. 4) 아래와 같은 코드를 입력합니다. Structure가 불러와집니다. 내부를 열어보겠습니다. faces에는 stl 의 각 면을 구성하는 점의 번호가 저장되어 있습니다.vertices에는 stl 점들의 좌표가 저장되어 있습니다. STL에는 하나의 정보가 더 있습니다. 각 face의 법선벡터인 normal 정보인데요. 이 정보도 함께불러오는 방.. 2018. 11. 15.
[Matlab으로 STL파일 다루기] 1. STL 생성하기 1. STL 생성하기 STL 예제로 사용하기 위해서 망치를 하나 모델링했습니다. 일반적으로 3D 설계툴(UG, 솔리드웍스 등)에서 stl을 export하면 지저분하게 패치(patch)가 생성됩니다. ㅁㅁMyStl 이라는 폴더를 만들고 hammer.stl 이라는 이름으로 저장합니다. 2018. 11. 13.
반응형