Matlab에서는 변수 유형을 알아냅니다. MATLAB 환경의 변수. 복소변수의 기능

MatLab 프로그래밍의 기초

Namestnikov S.M. / 강의 모음 : Ulyanovsk 주립 기술 대학 Ulyanovsk. - 2011년

소개

1장. 프로그램 구조. 기본 수학 연산 및 데이터 유형

1.1. MatLab 프로그램 구조

1.2. MatLab의 단순 변수 및 기본 데이터 유형

1.3. 단순 변수를 사용한 산술 연산

1.4. MatLab의 기본 수학 기능

1.5. MatLab의 벡터 및 행렬

1.6. 행렬 및 벡터에 대한 연산

1.7. MatLab의 구조

1.8. MatLab의 셀

2장. MatLab의 조건문과 루프

2.1. 조건부 if 문

2.2. 조건부 스위치 문

2.3. while 루프 연산자

2.4. for 루프 연산자

3장. MatLab에서 그래프 작업하기

3.1. 플롯 기능

3.2. 차트 디자인

3.3. 3D 그래프 표시

3.4. 비트맵 표시

4장. MatLab의 프로그래밍 기능

4.1. 함수 정의 및 호출 순서

4.2. 가변 범위

5장. MatLab에서 파일 작업하기

5.1. 저장 및 로드 기능

5.2. fwrite 및 fread 함수

5.3. fscanf 및 fprintf 함수

5.4. imread 및 imwrite 함수

소개

Mathematica, MathCad 등과 같은 기존의 많은 수학 패키지 중에서 MatLab 시스템은 다양한 수학적 알고리즘과 수학적 모델링 문제를 구현하기 위한 편리한 내장 프로그래밍 언어 덕분에 선두 위치를 차지하고 있습니다. 또한 이 패키지에는 프로그래밍에 의존하지 않고도 수학적 모델을 구축하고 탐색할 수 있는 시각적 모델링 도구인 Simulink가 추가로 포함되어 있습니다.

이 튜토리얼에서는 수학 문제를 해결하고 연구하는 데 있어 최고의 유연성, 풍부한 기능 및 편의성을 제공하는 내부 프로그래밍 언어 MatLab을 살펴봅니다. 자료를 제시할 때 가장 다양하고 사소하지 않은 수학적 알고리즘을 생성할 수 있는 것이 무엇인지 연구함으로써 가장 간단한 언어 구성을 선호했습니다.

1장. 프로그램 구조. 기본 수학 연산 및 데이터 유형

수학적 알고리즘을 만드는 첫 번째 단계는 프로그램의 구조와 프로그래밍 언어에서 사용할 수 있는 수학적 연산 집합을 연구하는 것입니다. 특히, 이 장에서는 스칼라 변수와 행렬 변수 처리와 관련된 MatLab 패키지의 수학적 연산과 기능을 살펴보겠습니다.



MatLab 프로그램 구조

일반적으로 MatLab의 각 프로그램은 함수이며 function 키워드로 시작하고 그 뒤에 이름이 오고 공백으로 구분됩니다. 예를 들어,

기능 Lab1
a = 5;
b = 2;
c = a*b;

이 프로그램은 Lab1이라는 함수에 포함되어 있으며 두 변수 a와 b의 곱을 계산합니다. 프로그램을 m-파일에 저장할 때 함수 이름과 일치하는 파일 이름을 지정하는 것이 좋습니다. 이 경우 - Lab1.

하나의 m-파일에 많은 추가 기능을 지정할 수 있다는 점에 유의하세요. 이렇게 하려면 기본 프로그램 목록 끝에 또 다른 키워드 함수를 작성하고 이름을 설정하십시오. 예를 들어,

기능 Lab1
a = 5;
b = 2;
c = a*b;
out_c(c); % 함수 호출 out_c()

function out_c(arg_c) % 함수 out_c()의 정의
disp(arg_c);

out_c() 함수는 정의되기 전에 기본 프로그램에서 호출될 수 있습니다. 이는 프로그래머가 함수 지정 순서에 대해 걱정하지 않아도 되도록 하는 MatLab 언어의 기능입니다. 주어진 예에서 out_c() 함수에는 내장 disp() 함수를 사용하여 (MatLab 명령 창에서) 화면에 인쇄되는 arg_c라는 하나의 입력 매개변수가 있습니다. 결과적으로, 위 프로그램이 실행되면 MatLab 명령창에 변수 c의 값이 출력될 것이다.

추가 기능은 별도의 m-파일로 제공될 수도 있습니다. 예를 들어, 한 m-파일에서 함수를 설명하고 다른 m-파일에서 호출해야 하는 경우 다음과 같이 구현할 수 있습니다.

첫 번째 파일(Lab1.m)

Lab1 함수가 실행되면 MatLab은 square.m 파일에서 square 함수를 호출합니다. 이 작업은 자동으로 수행됩니다. 왜냐하면... MatLab 언어의 내장 함수는 일반적으로 이름이 호출된 함수의 이름과 일치하는 파일에서 정의되고 호출됩니다. 또한 square() 함수는 두 개의 인수 a와 b를 사용할 뿐만 아니라 res 변수를 사용하여 해당 결과도 반환한다는 점에 유의하세요. 제시된 구문은 계산 결과를 기본 프로그램으로 반환해야 할 때마다 사용해야 합니다. 이 매뉴얼의 네 번째 장에서는 다양한 알고리즘을 구현하기 위한 함수 호출의 구성을 더 자세히 설명합니다.

MatLab의 단순 변수 및 기본 데이터 유형

프로그램 작성은 일반적으로 변수를 정의하고 데이터를 표현하는 방법으로 시작됩니다. 따라서 프로그램 데이터의 설명을 올바르게 정리하기 위해서는 MatLab에서 변수를 설정하는 방법과 어떤 종류의 변수가 가능한지 알아야 합니다.

가장 간단하고 일반적인 데이터 유형은 숫자입니다. MatLab에서는 고유한 이름을 가진 변수에 숫자가 저장됩니다. 예를 들면 다음과 같습니다.

a라는 변수를 정의하고 값 5를 할당합니다. 기본적으로 변수 a는 실수(double 유형)입니다. 예를 들어 분수 값을 취할 수 있습니다.

변수 a의 값을 -7.8로 설정합니다. 적절한 키워드를 사용하여 할당된 숫자의 유형을 지정하여 변수의 유형을 변경할 수 있습니다. 예를 들면 다음과 같습니다.

숫자 5를 16비트 정수 값으로 할당합니다. 이 작업의 결과로 변수 a의 유형은 int16에 해당합니다.

MatLab에서 사용할 수 있는 데이터 유형은 표에 나와 있습니다. 1.1.

표 1.1. MatLab의 기본 데이터 유형

기본 유형은 실수를 나타내는 정밀도가 가장 높은 double이므로 범용 유형입니다. 그러나 컴퓨터 메모리를 절약해야 하는 경우 원하는 유형을 직접 지정할 수 있습니다.

변수를 정의할 때 마지막으로 알아야 할 것은 이름을 결정하는 규칙입니다. MatLab에서는 변수 이름을 라틴 문자, 숫자, '_' 기호로만 지정할 수 있습니다. 또한 이름의 첫 번째 문자는 라틴 알파벳 문자와 일치해야 합니다. 또한 이름도 주목해야 합니다.

인수 = 1;
인수 = 2;
ARG = 3;

이들은 세 가지 다른 이름입니다. 각각 1, 2, 3 값을 갖는 세 가지 다른 변수. 이 예에서는 MatLab이 변수 이름에서 대소문자를 구분함을 보여줍니다.

프로그래밍할 때 변수가 나타내는 데이터를 이해하는 데 도움이 되는 의미 있는 변수 이름을 지정하는 것이 가장 좋습니다. 이는 대규모 프로그램을 구축할 때 혼란을 방지합니다.

5. 변수 이름과 함수 이름의 가시성.

지역 변수와 전역 변수. 함수에는 MATLAB 작업 공간과 격리된 자체 가변 공간이 있습니다. 따라서 MATLAB 명령 창에서 M 함수를 호출하기 전에 이름이 varName1인 변수가 정의된 경우 동일한 이름을 가진 함수 본문의 변수가 이미 있다는 사실을 믿을 수 없습니다. 어떤 가치. 이는 완전히 다른 변수(비록 varName1이라는 이름은 동일하지만)이며 시스템 메모리의 다른 메모리 영역에 있습니다.

M-함수 본문에 사용되며 이 함수의 형식 매개변수 이름과 일치하지 않는 변수를 로컬이라고 합니다. 다른 말로 그들은 M-기능 내에서만 볼 수 있다고 말합니다. 외부에서는 보이지 않습니다(접근할 수 없음). MATLAB 명령 창에 정의된 변수는 함수 내부에 표시되지 않습니다. 즉, 함수 외부에 있으며 함수 내부에 표시되지 않습니다.

마찬가지로, 함수 내의 로컬 변수는 다른 M 함수 내에서는 표시되지 않습니다.

MATLAB 명령 창에서 M 함수로, 그리고 한 함수에서 다른 함수로 정보를 전송하는 채널 중 하나는 함수 매개변수 메커니즘입니다. 또 다른 메커니즘은 전역 변수입니다.

MATLAB 작업 공간과 여러 M 함수가 특정 이름의 변수를 공유하려면 global 키워드를 사용하여 전역으로 선언해야 합니다. 예를 들어 작업 공간과 FuncWithGlobVar 함수의 계산에 포함된 glVarS 변수는 전체적으로 동일한 변수(단일 메모리 위치)이므로 추가로 값을 할당하지 않고도 함수에서 사용할 수 있습니다.

전역 변수에는 "전역" 범위가 있으므로 우연히(실수로) 어딘가에서 재정의하지 않도록 이러한 변수에 더 기억하기 쉬운(더 길고 더 의미 있는) 이름을 지정하는 것이 좋습니다.

이제 함수 이름의 가시성 문제를 살펴보겠습니다. 동일한 이름과 확장자 m을 가진 파일에 특정 이름의 함수를 저장한 경우, 또한 MATLAB 시스템이 디스크에 있는 이 파일의 경로를 알고 있는 경우 이 함수는 명령 창과 명령 창 모두에서 호출할 수 있습니다. 다른 기능에서.

그러나 M 기능의 텍스트에는 여러 기능의 정의를 배치할 수 있으며 그 중 하나만 파일 이름과 동일한 이름을 가질 수 있습니다. 명령 창 및 기타 기능에서 볼 수 있는 것이 바로 이 기능입니다. 다른 모든 함수는 내부적입니다. 동일한 파일의 함수로만 호출할 수 있습니다.

예를 들어 ManyFunc.m 파일에 다음 텍스트가 포함되어 있는 경우

함수 ret1 = ManyFunc(x1, x2)

ret1 = x1 .* x2 + AnotherFunc(x1)

함수 ret2 = AnotherFunc(y)

ret2 = y .* y + 2 * y + 3;

ManyFunc 및 AnotherFunc라는 두 함수의 정의로 구성된 경우 ManyFunc 함수만 외부에서 호출할 수 있습니다. 다른 말로 하면 M 파일의 이름과 일치하는 이름을 가진 기능만 외부에서 볼 수 있다고 말할 수 있습니다. 나머지 함수는 이 함수 및 기타 내부 함수에 의해 호출되어야 합니다.

Ode23("로트카2",,); plot(t,y) global 명령은 ALPHA 및 BETA 변수를 전역으로 선언하므로 lotka.m 함수에서 사용할 수 있습니다. 따라서 명령줄에서 변경할 수 있으며 M 파일 lotka.m을 편집하지 않고도 새로운 솔루션을 얻을 수 있습니다. 전역 변수를 사용하려면 다음을 수행해야 합니다. 이 변수가 필요한 각 M 함수에서 변수를 전역으로 선언해야 합니다. 작업 공간 변수가 전역 변수가 되려면 명령줄에서 전역 변수로 선언해야 합니다. 각 함수에서 변수가 처음 나타나기 전에 전역 명령을 사용하십시오. M-파일 시작 부분에 전역 명령을 지정하는 것이 좋습니다. 전역 변수 이름은 일반적으로 지역 변수 이름보다 길고 더 설명적이며 대문자를 사용하는 경우가 많습니다. 이는 선택 사항이지만 MATLAB 코드의 가독성을 보장하고 실수로 전역 변수를 재정의할 가능성을 줄이기 위해 권장됩니다. 특수 변수. 일부 M 함수는 MATLAB 시스템 환경에서 작업할 때 중요한 역할을 하는 특수 변수를 반환합니다. 마지막 결과; 출력 변수가 ans로 지정되지 않은 경우 MATLAB은 ans 변수를 사용합니다. 부동 소수점 정밀도; eps는 가수의 길이에 의해 결정되며 PC의 경우 eps = 2.220446049250313e-016 컴퓨터에서 realmax로 표현할 수 있는 최대 부동 소수점 수입니다. PC의 경우 realmax = 1.797693134862316e+308입니다. 컴퓨터에서 realmin으로 표시할 수 있는 가장 작은 부동 소수점 수입니다. PC의 경우 realmin = 2.225073858507202e-308입니다. 숫자 p에 대한 특수 변수: pi pi=3.141592653589793e+000. 70 허수 i, j 단위를 나타내는 특수변수 inf 무한대 기호를 나타내는 특수변수? 정의되지 않은 NaN 값을 나타내는 특수 변수 - 0/0, inf/inf 유형의 연산 결과. 사용 중인 컴퓨터 유형을 나타내는 특수 변수입니다. PC용 - PCWIN. 부동 소수점 연산의 플롭 수를 나타내는 특수 변수입니다. 사용된 MATLAB 시스템 버전의 버전 번호를 저장하기 위한 특수 변수입니다. 이러한 특수 변수를 생성하는 해당 M 기능은 elmat 카탈로그에 있으며 온라인 도움말에서 지원됩니다. 데이터 유형 MATLAB은 각각 다차원 배열인 6가지 기본 데이터 유형을 정의합니다. 6가지 클래스는 double, char, sparse, uint8, cell 및 struct입니다. 이러한 배열의 2차원 버전을 행렬이라고 하며, 여기서 MATLAB은 MATRIX LAB이라는 이름을 얻습니다. 클래스 중 하나에 있는 특정 MATLAB 시스템 개체의 멤버십 다이어그램은 다음과 같습니다(그림 3.1). 그림 3.1 71 대부분의 경우 이러한 데이터 유형 중 두 가지만 처리해야 할 가능성이 높습니다. 정밀도 숫자(double) 및 문자 배열(char) 또는 단순한 문자열입니다. 이는 MATLAB의 모든 계산이 배정밀도로 수행되고 대부분의 함수가 배정밀도 배열 또는 문자열에서 작동하기 때문입니다. 다른 데이터 유형은 희소 행렬(sparse) 작업, 이미지 처리(uint8) 작업, 대규모 배열(셀 및 구조체) 작업과 같은 특수 응용 프로그램을 위해 만들어졌습니다. 변수 유형을 숫자 또는 배열로 설정할 수 없습니다. 이러한 유형을 가상이라고 하며 공통 속성을 가진 그룹 변수에만 사용됩니다. uint8 유형은 데이터를 메모리에 효율적으로 저장하도록 설계되었습니다. 이 유형의 데이터에는 기본 인덱싱 및 크기 조정 작업만 적용할 수 있으며 수학적 작업은 수행할 수 없습니다. 이렇게 하려면 해당 배열을 double 유형으로 변환해야 합니다. 자신만의 유형을 만들고 내장 유형에 대한 메서드를 추가하세요. 아래 표에는 일곱 번째 데이터 유형인 UserObject가 포함되어 있습니다. MATLAB 언어를 사용하면 자신만의 데이터 유형을 만들고 내장 유형과 동일한 방식으로 작업할 수 있습니다. 내장 데이터 유형의 경우 객체와 동일한 방식으로 메서드를 재정의할 수 있습니다. 예를 들어, uint8 유형의 배열에 대한 정렬 작업을 지정하려면 메서드(sort.m 또는 sort.mex)를 생성하고 이를 특수 디렉터리 @uint8에 배치해야 합니다. 다음 표에서는 데이터 유형에 대해 자세히 설명합니다. 클래스 예제 설명 배정밀도 숫자 배열(가장 일반적임 [ 1 2; 3 4] MATLAB 72의 변수 5 + 6i의 이중 유형 문자 배열(각 문자 길이는 16비트), 흔히 Char "Hello" 문자열이라고 함 배정밀도 희소 행렬(2차원에만 해당) 희소 구조는 0이 아닌 소수의 요소가 포함된 행렬을 저장하는 데 사용되므로 Sparse Speye(5)는 전체를 저장하는 데 필요한 메모리의 일부만 사용할 수 있습니다. 희소 행렬 - 결합된 행렬은 문제를 해결하기 위해 특별한 방법을 사용해야 합니다. 셀 배열에는 다른 배열이 포함되어 있습니다. 셀 배열을 사용하면 Cell(17 "hello" eye (2))이 다양한 크기의 관련 데이터를 단일 구조로 결합할 수 있습니다. 레코드 배열입니다. 여기에는 필드 이름이 포함됩니다. 하루 = 12; A.color = 필드 자체에는 배열이 포함될 수 있습니다. 구조체 "Red"와 유사합니다. A.mat = 셀 배열, 배열 Magic(3); 기록은 관련 데이터와 그에 관한 정보를 결합합니다. 73 8비트 부호 없는 정수 배열. 이를 통해 배정밀도 배열의 경우 Uint8 Uint8(magic(3))에 필요한 메모리의 1/8에 0~255 범위의 정수를 저장할 수 있습니다. 이러한 배열에는 수학 연산이 정의되어 있지 않습니다. 사용자가 정의한 데이터 유형입니다. UserObject 인라인("sin(x)"). 다이어그램에 대한 설명입니다. 다이어그램(그림 3.1)의 연결선은 특정 데이터 유형이 하나 이상의 클래스에 속하는지 여부를 결정합니다. 예. sparse 유형의 행렬에는 double 유형과 숫자 유형도 있습니다. isa(S",sparse") isa(S",double") isa(S",numeric") 연산자는 1(true) 값을 반환합니다. 즉, S는 배정밀도 희소 숫자 행렬입니다. 배열 유형은 다이어그램 상단에 있습니다. 이는 모든 MATLAB 시스템 데이터가 배열임을 의미합니다. 각 데이터 유형은 자체 함수 및 처리 연산자, 즉 메서드와 연결될 수 있습니다. 다이어그램의 상위 유형 아래에 있는 하위 데이터 유형도 상위의 메소드에서 지원됩니다. 따라서 double 유형의 배열은 숫자 유형에 사용되는 메소드에서 지원됩니다. 표에는 다음 메소드 중 일부가 나와 있습니다. 클래스 메소드 74 크기(size), 길이(length), 차원(ndims), 배열 합집합(), 전치(transpose), 다차원 배열 인덱싱(subsindex), 재정의(reshape) 및 다차원 배열 차원의 순열(permute). 곱슬 모양을 사용한 인덱싱 - 셀 셀 측 배열(e1,…,en) 및 목록 요소를 쉼표로 구분합니다. 문자열 함수(strcmp, lower), double 클래스의 메소드 적용을 위해 double 유형으로 자동 String Charical 변환. 산술 및 논리 연산, 수학 함수, 이중 수학 함수, 행렬 함수. 검색(찾기), 복소수 처리(실수, 이미지), 벡터 형성, 행, 열 선택, 배열 하위 블록, 스칼라 확장. 희소 행렬에 대한 희소 연산. 레코드 배열 field.field의 내용에 대한 액세스입니다(목록 요소의 구조 구분 기호는 쉼표입니다). 저장 작업(Uint8 PPP Image Process Toolbox와 함께 가장 자주 사용됨) UserObject 사용자 정의 빈 배열. MATLAB의 초기 버전에서는 으로 표시되는 0x0 크기의 빈 배열의 단일 형식을 허용했습니다. MATLAB은 차원 중 하나가 0인 배열, 즉 차원이 1x0, 10x0x20이거나 비어 있는 배열을 지원합니다. 대괄호는 계속해서 0x0 배열을 나타냅니다. 0, 1, 랜드 또는 눈 함수를 사용하여 다른 크기의 빈 배열을 만들 수 있습니다. 예를 들어, 크기가 0x5인 빈 배열을 형성하려면 할당 연산자 E = zeros(0,5)를 사용할 수 있습니다. 75 빈 배열의 주요 목적은 m?n 크기의 배열(행렬)에 정의된 모든 연산이 m 또는 n이 0인 경우에 대한 올바른 결과를 결정하도록 하는 것입니다. 결과 배열(행렬)의 크기는 0에서 계산된 함수의 값과 일치해야 합니다. 예를 들어, C = 연산자를 사용하려면 배열 A와 B의 행 수가 동일해야 합니다. 따라서 배열 A의 크기가 m?n이고 B의 크기가 m?p인 경우 C는 크기가 m?(n+p)인 배열입니다. 매개변수 m, n 또는 p 중 하나라도 0이면 결과가 정확합니다. MATLAB의 많은 작업은 행 벡터 또는 열 벡터를 생성합니다. 이 경우 결과는 빈 행 벡터 r = zeros(1, 0) 또는 빈 열 벡터 C = zeros(0, 1)일 수 있습니다. MATLAB 5 이상에서는 if 문과 while 문에 대한 MATLAB 4 시스템 규칙을 지원합니다. 예를 들어 if A, S1, else, S0, end와 같은 조건문은 A가 빈 배열일 때 S0 문을 실행합니다. sum, prod, min 및 max와 같은 일부 MATLAB 함수는 결과의 차원을 줄입니다. 인수가 배열이면 결과는 벡터입니다. 인수가 벡터이면 결과는 스칼라입니다. 이러한 함수의 경우 입력 배열이 비어 있으면 다음 결과가 얻어집니다. sum() = 0 ; prod() = 1 ; 최대() = ; 최소() = . 3.4 MATLAB 5 시스템의 연산자 연산자를 산술 표현식으로 결합합니다. 내장 함수 MATLAB 연산자 MATLAB 연산자는 세 가지 범주로 분류됩니다. 76개의 산술 연산자를 사용하면 산술 표현식을 구성하고 수치 계산을 수행할 수 있습니다. 관계 연산자를 사용하면 숫자 피연산자를 비교할 수 있습니다. 논리 연산자를 사용하면 논리식을 구성할 수 있습니다. 논리 연산자는 관계형 및 산술 연산자에 비해 우선순위가 가장 낮습니다. 산술 연산자. 숫자 배열로 작업할 때 산술 연산 간에 다음 우선 순위 수준이 설정됩니다. 수준 1: 요소별 전치(."), 요소별 지수화(.^), 에르미트 공액 행렬 전치("), 행렬 지수화( ^); 레벨 2: 단항 덧셈(+), 단항 뺄셈(-); 레벨 3: 배열 곱셈(.*), 오른쪽 나눗셈(./), 왼쪽 배열 나눗셈(.\), 행렬 곱셈(*), 선형 방정식 풀이 시스템, 연산(/), 연산(\); 레벨 4: 더하기(+), 빼기(-); 레벨 5: 배열 형성 연산자(:). 각 수준 내에서 연산자는 동일한 우선순위를 가지며 왼쪽에서 오른쪽 순서로 평가됩니다. 기본 순서는 괄호를 사용하여 변경할 수 있습니다. 예. 2개의 벡터 A = ; B = ; 연산자 C = A./B를 실행한 결과입니다. ^2는 C = 0.7500 9.0000 0.2000 , 연산자 C = (A./B)와 같습니다. ^2는 C = 2.2500 81.0000 1.0000과 같습니다. 보시다시피 결과는 완전히 다릅니다. 산술 연산자를 사용하면 인덱스 표현식을 사용할 수 있습니다. 예: 77 b = sqrt (A(2)) + 2*B (1) b=7 MATLAB 시스템의 산술 연산자는 일반적으로 동일한 크기의 배열을 사용하여 작동합니다. 벡터와 직사각형 배열의 경우 두 피연산자 중 하나가 스칼라인 유일한 경우를 제외하고 두 피연산자의 크기가 동일해야 합니다. 피연산자 중 하나는 스칼라이고 다른 하나는 그렇지 않은 경우 MATLAB은 스칼라가 두 번째 피연산자의 크기로 확장되고 지정된 연산이 각 요소에 적용된다고 가정합니다. 이 연산을 스칼라 확장이라고 합니다. 관계 연산자. MATLAB에는 다음 6개의 관계 연산자가 정의되어 있습니다.< Меньше <= Меньше или равно >보다 큼 > = 크거나 같음 == 같음 ~ = 같지 않음 관계 연산자는 차원이 같은 두 배열의 요소별 비교를 수행합니다. 벡터 및 직사각형 배열의 경우 두 피연산자 중 하나가 스칼라가 아닌 한 두 피연산자의 크기가 동일해야 합니다. 이 경우 MATLAB은 스칼라를 다른 피연산자의 각 요소와 비교합니다. 이 관계가 참인 위치는 값 1을 받고 거짓 - 0을 받습니다. 관계 연산자는 일반적으로 프로그램 문의 실행 순서를 변경하는 데 사용됩니다. 따라서 if, for, while 문 본문에서 가장 자주 사용됩니다. 관계 연산자는 항상 요소별로 실행됩니다. 예. 조건 A를 사용하여 두 배열을 비교해 보겠습니다.

지금까지 우리는 네 가지 유형의 데이터에 익숙해졌습니다.
MATLAB 프로그램: 부동 소수점 숫자, 문자열, 문자
표현과 함수.

긴 MATLAB 세션 중에는 정의한 모든 변수의 이름과 유형을 기억하는 것이 쉽지 않을 수 있습니다.
명령어를 입력하시면 됩니다 누구일반 이름 목록을 보려면
현재 정의된 변수의 유형 또는 클래스. 하지만 그 전에
이를 수행하는 방법은 a = pi, b = "pi", c = ("pi")로 할당한 다음
입력하다 누구. 다음은 MATLAB 세션 결과의 출력입니다.
이 장에 표시됩니다.

변수 A, X, Y, Z, a 및 d에는 숫자 값이 할당되었으며
"이중 배열"로 지정됩니다. 이것은 그들이 다음과 같은 숫자의 배열임을 의미합니다.
이중 정밀도; 이 경우 배열 a와 d의 크기는 1x1입니다. 즉,
스칼라입니다. 바이트 열에는 컴퓨터 용량이 표시됩니다.
각 변수는 메모리를 차지합니다. ans 변수도 숫자입니다.
마지막 출력이 1X2 벡터였기 때문입니다. 변수 b는 문자열입니다.
변수는 c, u, v, w이므로 char 배열(문자 배열)로 지정됩니다.
x, y는 상징적입니다. 마지막으로 두 개의 처리 배열도 볼 수 있습니다.
함수와 쌍에 해당하는 내장 객체의 두 배열
익명 함수와 내장 함수.
whos 명령은 지정된 모든 변수에 대한 정보를 표시하지만
이 명령은 변수의 값을 표시하지 않습니다. 변수의 값을 보려면,
변수 이름을 입력하고 Fnterl 키를 누르기만 하면 됩니다.

MATLAB 프로그램 명령을 입력하려면 특정 클래스가 필요합니다.
특정 명령에 필요한 데이터 클래스가 무엇인지 정확히 아는 것이 매우 중요합니다.
명령 도움말 텍스트에는 일반적으로 다음과 같은 클래스가 포함되어 있습니다.
입장시 필수. 잘못된 입력 클래스는 일반적으로 다음과 같은 결과를 낳습니다.
오류 메시지 또는 예상치 못한 결과. 예를 들어, 라인을 추가한 결과를 보려면 sin("pi ") 명령을 입력하십시오.
문자열을 허용하지 않는 함수.
Matlab에서 정의한 모든 변수를 지우려면 Clear 또는 Clear all을 입력합니다.
예를 들어, Clear x y를 입력하여만 지울 수도 있습니다.
변수 x와 y.

푸크. 2.2. 작업 공간 창이 있는 데스크탑

일반적으로 새 계산을 시작하기 전에 변수를 지워야 합니다.
그렇지 않으면 이전 계산의 값이 실수로 나타날 수 있습니다.
새로운 것에 들어가십시오. 작업 공간 창은 다음을 제공합니다.
whos 명령에 대한 그래픽 대안입니다. 를 클릭하면 이 창을 활성화할 수 있습니다.
현재 디렉터리 창에서 작업 공간 탭을 클릭하거나 명령줄에 작업 공간 명령을 입력하면 됩니다. 그림에서. 2.2 표시됨
명령 창과 작업 공간이 포함된 데스크탑
(작업 공간)에는 표시되는 것과 동일한 정보가 포함되어 있습니다.
더 높은.

따라서 위에서부터 많은 추가 정보와 대안을 살펴봐야 한다는 결론을 내릴 수 있습니다!

1. M언어의 구성요소 MATLAB

MATLAB에서 계산 프로세스를 제어하는 ​​데 사용되는 M 언어의 요소는 상수, 변수, 함수, 명령 및 제어 구조입니다. 특수 커넥터를 사용한 다양한 연결에서 이러한 요소는 명령줄과 프로그램 모두에서 사용됩니다.

1.1. 상수 BMATLAB

MATLAB의 상수는 통신 세션 전체에서 변경되지 않는 정보를 나타냅니다. 상수는 사용자 정의(사용자 정의) 또는 시스템 정의(시스템 정의)일 수 있습니다. 사용자 상수는 사용자가 지정하고 한 번만 사용됩니다. 현재 실행 가능한 명령줄에 언급되어 있습니다. 예를 들어 16, -38.654, -1.e-23, 1+2i, "이것은 기호 상수입니다."

시스템 상수는 시스템에 영구적으로 정의되며 이를 참조하는 특수 지정이 있습니다(예: pi(=3.1416), eps(=2.2204e-016), realmin(=2.2251e-308), realmax(=1.7977) e+308 ), i, j(jºi).

1.2. 변수MATLAB

MATLAB의 변수는 식별자, 유형, 컴퓨터 메모리의 위치로 정의됩니다. MATLAB에서 변수를 정의하려면 변수의 식별자(이름)(라틴 문자로 시작하고 라틴 문자, 숫자, 특수 문자로 시작)를 선택하고 값을 설정하는 명령줄 문에서 이 변수를 사용해야 합니다. 변수(간단한 할당, 특정 변수에 대한 참조 등).

  1. 숫자 변수: 일반(실수) 또는 복소수, 벡터, 행렬 및 다차원 배열. 실수에는 8바이트가 할당되고, 복소수에는 16바이트가 할당됩니다.

가) 실수

A=2 A=2.0 B=-143.298 C=1.23e-2

B) 복소수

Q=1+3i r=-4.6-7.45i S=2+5j

real(Q) – 복소수의 물질.부분,

imag(Q) – 복소수의 허수 부분,

abs(Q) – 복소수의 절대값,

conj(Q) – 켤레 복소수,

angle(Q) - 라디안 단위의 복소수의 위상(각도) 값입니다.

다) 벡터

행 벡터

a=1:3:10 b= c=linspace(13,53,5)

열 벡터

aa=a' bb= cc= 린스페이스(13,53,5)' dd=(15:45)'

복소수 구성요소를 포함하는 벡터의 경우: y가 복소수 벡터인 경우 y.'는 동일한 구성요소를 포함하는 열 벡터이고 y'는 켤레 복소수 구성요소를 포함하는 열 벡터입니다.

D) 행렬: M(i,j) – i번째 행과 j번째 열의 요소; M(k)는 열로 확장된 행렬의 k번째 요소입니다.

A= ---à 1 2

A(2,2) (=4) A(3) (=2) -à A = (1 3 2 4)

A(3,4)=10 ---à 1 2 0 0

크기(A) (=) =크기(A) (m=3, n=4)

A=A(:) -à 열로 확장 – 행렬이 벡터가 됩니다!

reshape(A,3,4) -à 벡터를 ​​다시 3x4 행렬로 바꿉니다.

A(,:)= -à는 행렬에서 첫 번째 행과 마지막 행을 제거합니다.

A(:,)= à 마지막 열을 제외한 모든 열을 제거합니다.

일부 특수 행렬:

eye(m,n) - 주 대각선에 있는 1이고 나머지는 0입니다. (eye(m) - 정사각형 단위 행렬 mxm)

ones(m,n) – 1로 구성된 행렬

zeros(m,n) – 0으로 구성된 행렬

rand(m,n) – 0부터 1까지의 난수로 채워진 mxn 행렬

C=round(1+100*rand(10,10)) – 1부터 100까지의 임의의 정수로 채워진 10x10 행렬입니다.

행렬을 사용한 간단한 작업:

diag(A) – 행렬 A의 주대각선에 위치한 요소의 벡터,

diag(diag(A))는 A와 같은 대각선 요소와 0이 있는 정사각형 대각선 행렬입니다.

triu(A) tril(A) – A의 위쪽 또는 아래쪽 부분이 0으로 채워진 행렬입니다.

  1. 문자변수

cvb='모스크바는 러시아의 수도이다'

문자 줄은 단일 아포스트로피(러시아 문자 "e"가 있는 키)로 제한되며 색상으로 강조 표시됩니다.

각 문자는 2바이트를 차지하며 문자 행 벡터의 별도 요소로 처리됩니다. 따라서 전치 연산 cvb'를 지정하면 31개의 요소가 있는 열 벡터를 얻게 됩니다.

기호 변수를 숫자로 변환하거나 그 반대로 변환할 수 있습니다.

일반적으로 결과, 그래프, 레이블 및 메시지를 표시하는 데 사용됩니다.

변수 제어.

방법 1 - 작업 공간 창에서

방법 2 - who 명령 - 특정 시점에 정의된 변수 목록을 제공합니다.

방법 3 - whos 명령 - 변수에 대한 더 완전한 정보 제공(이름 크기 바이트 클래스)

메모리 청소.

Clear – 모든 변수(또는 변수 지우기)를 완전히 지웁니다.

clear var1,var2,… - 개별 변수 var1,var2,…을 지웁니다.

1.3. 기능MATLAB

MATLAB의 함수는 데이터에 대해 몇 가지 일반적인 작업을 수행하는 프로그램입니다. 이러한 작업을 수행하고 필요한 결과를 얻으려면 함수 이름을 지정하고 가능하면 일부 초기 데이터를 지정하는 것으로 충분합니다. 따라서 여기서 함수의 개념(다른 언어에서와 마찬가지로)은 함수 이름, 입력 데이터 세트(varargin) 및 출력 데이터 세트(varargout)의 3가지 개념과 연관됩니다. 또한 입력 매개변수 개수(nargin)와 출력 매개변수 개수(nargout) 개념이 정의됩니다.

MATLAB의 함수는 사용자 정의(정의, 사용자가 개발)와 시스템(정의, 시스템에 정의, 프로그래밍이 필요하지 않음)으로 구분됩니다. 프로그래밍 주제를 다룰 때 사용자 정의 함수를 생성하는 방법도 다룰 것입니다. 생성 및 디버깅 후에는 사용자 기능이 시스템 기능과 다르지 않습니다.

시스템 기능은 내장 기능과 라이브러리 기능으로 구분됩니다. 라이브러리 함수는 M 언어 프로그램의 형태로 시스템에 저장되며, 함수 이름과 이름이 같고 확장자는 *.m인 파일로 작성됩니다. 이러한 프로그램의 텍스트는 사용자가 볼 수 있습니다(MATLAB 설치 위치의 \toolbox\matlab\ 디렉터리). 예를 들어, 십진수 로그 값을 계산하는 함수(\toolbox\matlab\elfun\log10.m)를 사용하여 m-파일을 열 수 있습니다. 실행될 때 이러한 프로그램의 명령문은 먼저 컴퓨터 실행 시스템의 명령으로 변환(해석)된 다음 실행됩니다. 내장 함수는 컴파일된 형식으로 시스템에 저장되고 번역이 필요하지 않으며 이로 인해 라이브러리 함수보다 빠르게 실행됩니다. 이러한 기능에 대한 시스템 디렉터리에는 라이브러리 파일과 비슷한 이름의 파일이 저장되지만 기능 사용에 대한 설명만 포함됩니다. 예를 들어 지수 계산 함수와 관련된 파일(\toolbox\matlab\elfun\exp.m)을 열 수 있습니다.

1.4. 표현식MATLAB

표현식은 표현식의 값을 계산할 때 수행되는 연산을 지정하는 연결 문자를 사용하여 서로 연결된 언어 요소(상수, 변수, 함수)를 포함하는 언어 구성입니다. 표현식에 포함된 연산을 수행한 후 얻은 결과에 따라 숫자(Nexpression), 기호(CExpression), 논리(Lexpression) 표현식이 있습니다.



질문이 있으신가요?

오타 신고

편집자에게 전송될 텍스트: