主要内容

MATLAB에서Python숫자형변수사용하기

이예제에서는MATLAB®에서Python®숫자형을사용하는방법을보여줍니다。

MATLAB에서Python숫자형사용하기

숫자형입력인수를받는Python함수를호출할경우MATLAB은双형값Python을언어에서가장잘나타낼수있는유형으로변환합니다。예를들어Python数学모듈에서삼각함수를호출하려면MATLAB双형값을전달하십시오。

Pynum = py.math.radians(90)
Pynum = 1.5708

Python浮动형을반환하는함수의경우,MATLAB은이유형을双형으로자동변환합니다。

类(pynum)
Ans = 'double'

정수형을반환하는Python함수의경우,MATLAB은이유형을int64형으로자동변환합니다。예를 들어bit_length함수는정수를이진수로` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` `int형값으로반환합니다。

py.int .bit_length (intmax)
ans =int6431

숫자형可迭代的Python메서드호출하기

Pythonmath.fsum함수는可迭代的입력수에있는부동소수점값을합산합니다。이함수에matlab벡터를전달할수있습니다。예를들어matlabpatients.mat데이터파일을열고숫자형배열高度를읽어보겠습니다。

负载patients.mat类(高度)
Ans = 'double'
大小(高度)
ans =1×2100年1

Python에이인수를전달할때,MATLAB은숫자형값을Python숫자형값으로자동변환하고Python은이벡터값을대상으로반복작업을수행합니다。

py.math.fsum(高度)
Ans = 6707

MATLAB에서Python数组유형사용하기

다음과같은double형Pythonarray.array를반환하는Python함수가있다고가정하겠습니다。

P = py.array.array(' d '1:5)
P =带有属性的Python数组:itemsize: 8 typecode: [1×1 py. py.]Str]数组('d', [1.0, 2.0, 3.0, 4.0, 5.0])

P를matlab함수总和에전달하려면P를双형의MATLAB배열로변환하십시오。

总和(双(P))
Ans = 15

MATLAB에서Python정수数组유형사용하기

다음과같은Python배열이있다고가정하겠습니다。배열에대해Python反向함수를호출한다음그결과를matlab배열로변환합니다。

Arr = py.array.array(“我”, (int32 (5), int32 (1) int32 (5)))
arr =带有属性的Python数组:itemsize: 4 typecode: [1×1 py.]数组('i', [5,1, -5])
加勒比海盗。逆A = int32(arr)
一个=1×3 int32行向量-5 1 5

디폴트숫자형

기본적으로matlab에서숫자는형입니다。기본적으로Python에서(소수부가없는)숫자는정수형입니다。이차이로tmp해숫자를Python함수에전달할때혼동을일으킬수있습니다。

예를들어다음MATLAB숫자를Pythondatetime함수에전달하면Python은이숫자를浮动형으로읽어들이고오류를@ @시합니다。

D = py.datetime.date(2014,12,31)

Python错误:TypeError: integer参数期望,得到浮点数

오류를수정하려면각숫자를정수형으로명시적으로변환하십시오。

D = py.date .date(int32(2014),int32(12),int32(31))
d = Python date with properties: day: 31 month: 12 year: 2014 2014-12-31

숫자를나타낼때속성이@ @시되는이유

MATLAB은모든Python유형을객체로표시하며,이객체에는객체속성의목록이포함됩니다。숫자형의경우,matlab은사용자가기대한출력값을마지막라에시합니다。

py.int (5)
ans = Python int属性:分母:1 imag: 0分子:5 real: 5 5 5