이번역페이지는최신내용을담고있지않습니다。최신내용을문으로보려면여기를클릭하십시오。一个>
通讯录현식
변수
다른대부분의프로그래밍언어와마찬가지로matlab®언어에서도수학通讯录현식을제공하지만,대부분의프로그래밍언어와달리이러한@현식은행렬전체를포함합니다。
Matlab에는데이터형이나차원의크기에대한선언문이필하지않습니다。MATLAB에서는새변수이름을발견하면해당변수를자동으로생성하고적절한저장용량을할당합니다。변수가이미있는경우MATLAB에서는해당내용을변경하고필요한경우새저장용량을할당합니다。예를들면다음과같습니다。
Num_students = 25
이 경우num_students
라는1×1행렬이생성되고값25가행렬의단일소로저장됩니다。변수에대입되는행렬을보려면변수이름을입력하기만하면됩니다。
변수이름은문자로시작해야하며,그뒤에임의의개수의문자,자릿수,밑줄중하나가오는형태로구성됩니다。Matlab에서는대문자와소문자를구별합니다。따라서一个
와一个
는동일한변수가아닙니다.
변수이름의길이는상관없지만matlab에서는이름의처음N
개의문자만사용하며나머지는무시합니다。참고로,여기서N
은 함수<一个href="//www.tatmou.com/kr/kr/help/matlab/ref/namelengthmax.html">namelengthmax
로반환되는숫자입니다。따라서matlab에서변수를구분하도록하려면변수이름의처음N
개문자내에서각변수이름을고유하게지정해야합니다。
N = namelengthmax N = 63
수
MATLAB에서는수를표현하기위해일반적인십진수표기법과함께소수점과숫자앞에플러스또는마이너스기호를선택적으로사용합니다。과학@ @기법에서는문자e
를사용하여10의거듭제곱스케일링자를지정합니다。허수에는我
또는j
가접미사로사용됩니다。올바른수의몇가지예는다음과같습니다。
3 -99 0.0001 9.6397238 1.60210e-20 6.02252e23 1i -3.14159j 3e5i
Matlab내부에서는모든수를ieee®부동소수점@ @준에지정된长형식을사용하여저장합니다。부동소수점숫자는약16개유효소수점자릿수의유한정밀도와약10-308年~ 10+ 308의 유한한범위가지정되어있습니다。
双형으로指导书현되는숫자는최대정밀도가52비트입니다。52보다높은정밀도가구되는double형은정밀도의일부가손실됩니다。예를들어다음코드에서는서로다른두개의값이같은것으로표시되는데,이는두값모두잘렸기때문입니다。
X = 36028797018963968;Y = 36028797018963972;X == y ans = 1
X = uint64(36028797018963968);Y = uint64(36028797018963972);X == y ans = 0
Matlab에서는복소수의실수부와허수부를저장합니다。또한실수부의크기와허수부의크기를상황에따라다른방식으로처리합니다。예를들어,<一个href="//www.tatmou.com/kr/kr/help/matlab/ref/sort.html">排序
함수는크기에따라정렬을실행하고크기가같은경우위상각을기준으로정렬합니다。
Sort ([3+4i, 4+3i]) ans = 4.0000 + 3.0000i 3.0000 + 4.0000i
다음은위상각으로한결과입니다。
角(3+4i) ans = 0.9273角(4+3i) ans = 0.6435
“등호”관계연산자bmu= =
를사용하려면실수부와허수부가모두같아야합니다。그밖의이진관계연산자>
<
,> =
,< =
는수의허수부는무시하고실수부만고려합니다。
행렬연산자
현식에는친숙한산술연산자와순위규칙이사용됩니다。
|
덧셈 |
- |
뺄셈 |
|
곱셈 |
|
나눗셈 |
|
왼쪽나눗셈 |
|
거듭제곱 |
|
켤레복소수전치 |
|
실행순서지정 |
배열연산자
선형대수선형대수역을벗어나면행렬은2차원숫자형배열이됩니다。배열에대한산술연산은소별로수행됩니다。즉,배열과행렬에대해덧셈과뺄셈은동일하게수행되지만곱셈연산은서로다르게수행됩니다。Matlab에서는곱셈배열연산을위한기법의일부로점또는소수점을사용합니다。
연산자목록은다음과같습니다。
|
덧셈 |
|
뺄셈 |
|
소별곱셈 |
|
소별나눗셈 |
|
소별왼쪽나눗셈 |
|
소별거듭제곱 |
|
비켤레배열전치 |
배열곱셈을사용하여뒤러(丢勒)의마방진에있는각수를제곱하면
A . *
1에서16까지의정수에대한제곱을무작위순서로포함한배열이생성됩니다。
Ans = 256 9 4 169 25 100 121 64 81 36 49 144 16 225 196 1
테이블작성
배열연산은테이블을작성하는데유용하게사용할수있습니다。n
이라는열벡터가있다고가정해보겠습니다。
N = (0:9)';
그다음아래와같이실행합니다。
战俘= [n n.^2 2.^n]
그러면2의제곱과2의거듭제곱으로구성된테이블이작성됩니다。
Pows = 0 0 1 1 12 2 4 4 3 9 8 4 16 16 5 25 32 6 36 64 7 49 128 8 64 256 9 81 512
이러한기초수학함수는배열에대해소별로동작을수행합니다。따라서다음을실행하면
格式短g x = (1:0.1:2)';日志= [x log10(x)]
다음과같은로그테이블이작성됩니다。
日志= 1.0 0 1.1 0.04139 1.2 0.07918 1.3 0.11394 1.4 0.14613 1.5 0.17609 1.6 0.20412 1.7 0.23045 1.8 0.25527 1.9 0.27875 2.0 0.30103
함수
matlab에서는<一个href="//www.tatmou.com/kr/kr/help/matlab/ref/abs.html">腹肌
,<一个href="//www.tatmou.com/kr/kr/help/matlab/ref/sqrt.html">√6
,<一个href="//www.tatmou.com/kr/kr/help/matlab/ref/exp.html">经验值
,<一个href="//www.tatmou.com/kr/kr/help/matlab/ref/sin.html">罪
을비롯해매우다양한@ @준기초수학함수를제공합니다。음수에제곱근이나로그를사용해도오류가발생하지않습니다。적절한복소수결과가자동으로생성됩니다。MATLAB에서는베셀(贝塞尔)함수와감마함수를비롯해다양한고급수학함수도제공합니다。이함수들의대부분은복소수수를받습니다。기초수학함수의목록을확하려면다음을입력합니다。
帮助elfun
더많은고급수학함수와행렬함수의목록을확하려면다음을입력합니다。
帮助specfun帮助elmat
√6
와<一个href="//www.tatmou.com/kr/kr/help/matlab/ref/sin.html">罪
같은일부함수는내장되어있습니다。내장함수는MATLAB핵심의일부이므로매우효율적이지만계산세부정보에는쉽게액세스할수없습니다。그밖의함수는MATLAB프로그래밍언어에구현되어있으므로함수의세부적인계산정보에액세스할수있습니다。
내장함수와그밖의함수간에는몇가지차이점이있습니다。예를들어,내장함수의경우코드를확marketing할수없습니다。그밖의함수에대해서는코드를확하고원하는경우수정할수도있습니다。
유용한상수값을제공하는여러가지특수함수도있습니다。
3.14159265…… |
|
허수단위, |
|
|
|
부동소수점상대정밀도, |
|
최소부동소수점숫자, |
|
최대부동소수점숫자, |
|
무한대 |
|
숫자가아님(非数字) |
MATLAB에서무한대는0이아닌값을0으로나누거나명확히정의된표현식을실행할때오버플로상태,즉<一个href="//www.tatmou.com/kr/kr/help/matlab/ref/realmax.html">最大浮点数
를초과하는경우입니다。NaN은명확히정의된수학적값이없는0/0
또는正
-正
같은@ @현식을실행하려고하면생성됩니다。
함수이름은고정되어있지않습니다。따라서다음과같이새변수로함수이름을덮어쓸수있습니다。
Eps = 1.e-6
그런다음이값을이후의계산에사용합니다。다음을사용하여원래함수를복원할수있습니다。
清晰的每股收益
현식예제
이미matlab ` ` ` ` ` ` ` ` ` `현식의여러가지예제를확` ` ` ` ` `해보았습니다。다음은몇가지추가적예제와해당결과값입니다。
rho =(1+根号(5))/2 rho = 1.6180 a = abs(3+4i) a = 5 z =根号(besselk(4/3,rho-i)) z = 0.3730+ 0.3214i huge = exp(log(realmax)) huge = 1.7977e+308 toobig = pi*huge toobig = Inf