본문 바로가기

분류 전체보기

(323)
문제_스크립트 struct을(를) 함수로 실행하는 것은 지원되지 않습니다. 문제 해결 파일의 이름이 'struct' 였다..... 이름을 StudyStruct로 변경하니 정상적으로 실행됨
Optimization_여행하는 외판원 문제: 문제 기반 참고 문서: https://kr.mathworks.com/help/optim/ug/traveling-salesman-problem-based.html 여행하는 외판원 문제: 문제 기반 - MATLAB & Simulink - MathWorks 한국 이 예제의 수정된 버전이 있습니다. 사용자가 편집한 내용을 반영하여 이 예제를 여시겠습니까? kr.mathworks.com 목적: 여러 경유지(도시)를 거쳐 원래 도시로 다시 돌아오는 최단 순회 경로를 구하는 것 위의 예제에는 200개의 경유지를 선택했지만, 사용자는 nStops 변수를 변경하여 손쉽게 문제의 규모를 정할 수 있습니다. 초기 문제를 풀면 해에 하위 경로가 있음을 확인할 수 있습니다. 즉, 문제에서 구한 최적해가 모든 점을 통과하는 하나의 연속적인..
Mastering Programming with MATLAB_Arguments(인수) 1. Name-Value Pairs function result = name_value_pairs(varargin) if mod(nargin, 2) == 1 % 입력인수의 개수가 짝수인지 확인 // 입력인수의 개수가 홀수면 빈 셀 배열을 반환 result = { }; return; end result = cell(nargin/2, 2); % name-value쌍을 저장할 셀 배열 초기화 for i = 1:2:nargin % 입력인수를 반복하며 result의 셀 배열을 채움 name = varargin{i}; value = varargin{i+1}; if ~ischar(name) % 이름이 char 벡터인지 확인 // char 벡터가 아니면 빈 셀 배열을 반환 result = { }; return; end..
return의 유무의 차이 Matlab 함수에서는 return문의 유무에 따라 동작에 차이가 있습니다. 1. return이 없는 경우: 함수가 실행되고, 모든 명령문을 실행한 뒤 함수 종료합니다. 반환값을 지정하지 않은 경우 또는 명시적으로 return 문을 사용하지 않은 경우, 함수는 아무 값도 반환하지 않습니다. 이는 함수가 결과를 생성하거나 반환하지 않는 경우에 유용합니다. function myFunction() disp('This is my function.'); % 여기에 다른 코드 작성 가능 % return; % return 문이 없는 경우 함수는 아무 값도 반환하지 않음 end 2. return이 있는 경우: return 문을 만나면 함수 실행이 즉시 종료됩니다. 그 아래에 있는 코드는 실행되지 않습니다. 이때 ret..
Mastering Programming with MATLAB_Recursion(재귀) 1. Factorial Factorial(재귀함수를 사용) function f = rfact(n) if ~isscalar(n) || n ~= fix(n) || n
Table에 새로운 Data를 삽입하고 수정이 가능하도록 함 1. Add버튼을 클릭 → 파일 불러오기 대화상자 팝업 % 대화상자 열기 getlayer = uigetfile('C:\Users\yj.jo\OneDrive - CSI-Vision\바탕 화면\Project\'); if getlayer == 0 % 만약 파일이 x면 return return; end 2. 파일을 불러온 후 .mat파일을 테이블의 형태로 변경 loaded_data = load(getlayer); % 데이터 불러오기 dataTable = struct2table(loaded_data); % 불러온 mat파일을 테이블형태로 바꿈 layername = string(dataTable.Properties.VariableNames(1)); % layer 이름 정의 3. 기존 테이블에서 Layer Name만..
문제_셀형 배열 내의 값은 숫자형, 논리형, 문자형이어야 함 문제 해결 방법 layername(string형)에 중괄호, fit(logical형)에 소괄호 처리 data = { layername{1}, '1', '0', '0', true(1) } ; data{5} = logical(data{5}); columnNames = {"Layer Name", "Thickness", "pitch", "height", "fit"}; % uit = uitable('Data', data, 'ColumnName', columnNames, app.ModelPanel, 'Editable', true); % 이전 데이터를 유지하고 새로운 데이터 추가 if isempty(app.UITable2.Data) % Table이 비어있는 경우 app.UITable2 = uitable(app.Mod..
'Delete' 버튼 클릭 시 Table에서 기존 데이터를 삭제 function DeleteMenuSelected(app, event) app.UITable2.Data = [ ] ; end