Matlab과 Hysys를 연결하면 단위가 맞지 않을 수 있다.

 

Matlab에서 100의 값을 주면 Hysys에서는 단위가 변환되면서 다른 값으로 받아들인다.

 

그러므로 Matlab에서 인식하는 단위를 알아야 변환이 가능하다.

예를들어 Matlab에서 Hysys 기압을 바꾸기 위해 200의 값을 주면 kPa에서 kg/cm2_g로 변환되기 때문에 Hysys는 1로 인식된다.

아래의 Hysys 유닛은 현재 사용하고 있는 유닛들이다.

Mat & Hysys Unit Diff.xlsx
0.01MB

 

Matlab

Hysys

 

Matlab

Hysys

Temperature

C

C

Specific Volume

m3/kg

m3/kg

Pressure

kPa

kg/cm2_g

Compressibility

1/kPa

1/kPa

Molar Flow

kgmole/s

kgmole/h

Volumetric Enthalpy Flow

kJ/m3-s

kJ/m3-s

Mass Flow

kg/s

kg/h

Mass Transfer Coefficient

kgmol/m2-s-Pa

kgmol/m2-s-Pa

Liq. Vol. Flow

m3/s

barrel/day

Diffusivity

m2/s

m2/s

Energy

kJ/s

kcal/h

Mass Reaction Rate

kgmol/kg-s

kgmol/kg-s

Molar Density

kgmole/m3

kgmole/m3

Molar Yield From Reaction

kgmol/kg

kgmol/kg

Heat Capacity

kJ/kgmole-C

kcal/kgmol-K

Mass Yield From Reaction

kg/kg

kg/kg

Molar Entropy

kJ/kgmole-C

kcal/kgmol-K

Mass Enthalpy Flow

kJ/kg-s

kcal/kg-s

Thermal Cond.

W/m-K

Kcal/m-hr-C

Cost Index

Cost

Cost

Viscosity

cP

cP

Cost Index per Time

Cost/s

Cost/s

Surf Tension

dyne/cm

dyne/cm

Cost Index per Energy

Cost/kJ

Cost/kcal

SG

 

 

Dynamics Cv

USGPM(60F,1psi)

USGPM(60F,1psi)

SG Air

rel_to_air

rel_to_air

Dynamics k - Turbulent

kg/s/sqrt(kPa-kg/m3)

kg/hr/sqrt(kPa-kg/m3)

Mass Cp

kJ/kg-C

kcal/kg-K

Dynamics k - Laminar

sqrt(kg/s/(kPa-kg/m3))

sqrt(kg/s/(kPa-kg/m3))

Mass Density

kg/m3

kg/m3

Surge Control Para. A

m

m

UA

kJ/C-s

kcal/C-h

Surge Control Para. C

m/(m6/s2)

m/(m6/s2)

Actual Liquid Flow

m3/s

m3/s

Quick Opening Rate

%/s

%/s

Std. Gas Flow

STD_m3/s

STD_m3/h

Rotational Inertia

kg-m2

kg-m2

Act. Gas Flow

ACT_m3/s

ACT_m3/h

Friction Power Loss Factor

kg-m2/s

kg-m2/s

Molar Enthalpy

kJ/kgmole

kcal/kgmole

Small Area

m2

mm2

Length

m

m

Force

newton

newton

Small Length

m

mm

Actual Mass Density

kg/m3

kg/m3

Delta Temp.

C

C

Electrical Flow

kW-h/h

kW-h/h

Molar Volume

m3/kgmole

m3/kgmole

Emissions

mg/mile

mg/mile

Ht. Tran. Coeff

kJ/s-m2-C

kcal/h-m2-C

Energy (Lrg)

kJ

kJ

Large Heat Flow

kJ/s

Mkcal/h

Electrical Fuel Oil Factor

teFOE/kW-h

teFOE/kW-h

Standard Density

kg/m3

kg/m3

Fuel Oil eqv Factor

teFOE/te

teFOE/te

Mass Entropy

kJ/kg-C

kcal/kg-K

Fuel Oil eqv Mass Flowrate

teFOE/h

teFOE/h

Mass Enthalpy

kJ/kg

kcal/kg

Lead Level in Gasoline

kgPb/m3

kgPb/m3

Enth. Coeff. CA

kJ/kg

kJ/kg

Reciprocal FOE

1/teFOE

1/teFOE

Enth. Coeff. CB

kJ/kg-C

kJ/kg-K

Reciprocal Mass

1/kg

1/kg

Enth. Coeff. CC

kJ/kg-K^2

kJ/kg-K^2

Reciprocal Moles

1/kgmole

1/kgmole

Enth. Coeff. CD

kJ/kg-K^3

kJ/kg-K^3

Reciprocal Time

1/seconds

1/seconds

Enth. Coeff. CE

kJ/kg-K^4

kJ/kg-K^4

Reciprocal Vapour Volume

1/nm3

1/nm3

Enth. Coeff. CF

kJ/kg-K^5

kJ/kg-K^5

Steam Ratio

kgsteam/m3

kgsteam/m3

Gibbs. Coeff. CA

kJ/kgmole

kJ/kgmole

Vapour Volume

nm3

nm3

Gibbs. Coeff. CB

kJ/kgmole-C

kJ/kgmole-K

Volume Ratio

nm3/m3

nm3/m3

Gibbs. Coeff. CC

kJ/kgmol-K^2

kJ/kgmol-K^2

Volume Specific Energy

MJ/m3

MJ/m3

Kinematic Visc.

cSt

cSt

Volume Concentration

vol %

vol %

Area

m2

m2

Mass Concentration

wt %

wt %

Volume

m3

m3

Molar Concentration

mol %

mol %

Velocity

m/s

m/s

Concentration

%

%

Time

seconds

seconds

Volume Concentration ppm

vol %

ppmvol

Delta Pressure

kPa

kgf/cm2

Mass Concentration ppm

wt %

ppmwt

Heat Flux

kJ/s-m2

kcal/h-m2

Molar Concentration ppm

mol %

ppmmol

Fouling

C-m2/kW

C-h-m2/kcal

Deactivation Rate

C/(bbl/lb)

C/(bbl/lb)

Cake Loading

m/kg

m/kg

Acidity

mg KOH/g

mg KOH/g

Permeability

m3/s2

m3/s2

Electric Potential

V

V

Mass Velocity

kg/s-m2

kg/s-m2

Electrical Conductivity

S/m

S/m

Mass

kg

kg

Molar Electrical Conductivity

S-m2/kgmole

S-m2/kgmole

Rho-V-Sqr

kg/m-s2

kg/m-s2

Mass Ratio Concentration

wt %

wt/wt

AreaPerVolume

m2/m3

m2/m3

Volume Ratio Concentration

vol %

vol/vol

PressPerLength

kPa/m

kPa/m

Molar Ratio Concentration

mol %

mol/mol

VFlowPerLength

m3/s-m

m3/h-m

Cost Per FOE

Cost/teFOE

Cost/teFOE

VFlowPerArea

m3/s-m2

m3/h-m2

Cost Per Mass

Cost/kg

Cost/kg

Moles

kgmole

kgmole

Cost Per Mole

Cost/kgmole

Cost/kgmole

Reaction Rate

kgmole/m3-s

kgmole/m3-s

Cost Per Volume

Cost/m3

Cost/m3

Valve CV Mole

kgmole/s-kPa

kgmole/h-kPa

API Fire Equation Constant

kJ/s-m1.64

Btu/hr-ft1.64

Valve CV Mass

kg/s-kPa

kg/h-kPa

Radiusgy

Angstrom

Angstrom

Valve CV Volume

m3/s-kPa

m3/h-kPa

Dipmoment

Debye

Debye

Std. Vol. Flow

m3/s

m3/h

Distributed Gas Specific Productivity Index

sm3/s-Pa2-m

sm3/s-Pa2-m

Frequency

Hz

rpm

Distributed Liquid Specific Productivity Index

sm3/s-Pa-m

sm3/s-Pa-m

Percent

%

%

Gas Specific Productivity Index

sm3/s-Pa2

sm3/s-Pa2

Unitless

 

 

Reciprocal Gas Volume Flow

s/sm3

s/sm3

Work

kW

kW

Jones Gas A

Pa2/sm6-s2

Pa2/sm6-s2

Comp. Mole Flow

kgmole/s

kgmole/h

Jones Gas B

Pa2/sm3-s

Pa2/sm3-s

Comp. Mass Flow

kg/s

kg/h

Jones Liq A

Pa-s2/sm6

Pa-s2/sm6

Comp. Vol. Flow

m3/s

m3/h

Jones Liquid B

Pa/sm3-s

Pa/sm3-s

Act. Vol. Flow

m3/s

m3/h

Liquid Specific Productivity Index

sm3/s/Pa

sm3/s/Pa

Heating Value

kJ/kgmole

kJ/kgmole

Reciprocal Liquid Volume Flow

s/sm3

s/sm3

Mass Heating Value

kJ/kg

kcal/kg

Reservoir Permeability

m2

m2

Heat Of Vap.

kJ/kgmole

kcal/kgmole

Shots

Shots/m2

Shots/m2

Mass Heat Of Vap.

kJ/kg

kcal/kg

Angle

deg

deg

Enthalpy Per Length

kJ/s-m

kcal/h-m

Std Gas Den

kg/m3

kg/m3

BWR 'A'

kPa m9/mol3

kPa m9/mol3

Fluid Potential

kJ/kg

kJ/kg

BWR 'A0'

kPa m6/mol2

kPa m6/mol2

Torque

N-m

N-m

BWR  'B'

m6/mol2

m6/mol2

Surge Control Para. B

m/(m3/s)

m/(m3/s)

BWR  'B0'

m3/mol

m3/mol

Surge Control Para. D

m/(m9/s3)

m/(m9/s3)

BWR  'C'

kPa m9 K2/mol3

kPa m9 K2/mol3

Flow To Temp Link Coeff

C/(Kg/s)

C/(Kg/h)

BWR  'C0'

kPa m6 K2/mol2

kPa m6 K2/mol2

Temp To Flow Link Coeff

(Kg/s)/C

(Kg/h)/C

BWR  'Alpha'

m9/mol3

m9/mol3

Delta Density

kg/m3

kg/m3

Power Per Flow

kW/kgmole/s

kW/kgmole/s

Per Length

1/m

1/m

Power

kJ/s

kW

Mass Emissions

kg/kJ

kg/kJ

Moles Per Mass

kgmol/kg

kgmol/kg

Water Content

mg/STD_m3

mg/Nm3

Per Volume

per m3

per m3

Small Velocity

mm/year

mm/year

Per Mass Volume

per kg-m3

per kg-m3

F Factor

sqrt(kg-m3)/s

sqrt(kg-m3)/s

Gas Oil Ratio

STD_m3/m3

STD_m3/m3

Fs

sqrt(Pa)

sqrt(Pa)

Oil Volume

m3

m3

Per Area

1/m2

1/m2

Small Delta Pressure

kPa

mbar

Design Pressure

kPag

kPag

Small Press Per Length

kPa/m

mbar/m

Head

m

m

Mechanical Stress

kPa

MPa

Petroleum Small Length

m

mm

Formation Volume Factor

m3/STD_m3

m3/STD_m3

 

 

 

 

 

Plant Engineering에서 많이 사용되는 Aspen 제품인 Hysys와 Matlab은 다음과 같은 방법으로 서로 연결이 된다.

 

Matlab으로 Hysys 서버에 연결해준다.

 

>> Server=actxserver('Hysys.Application');

 

>> FileNamePath='test0407';

>> Document=Server.SimulationCases.Open([cd,strcat('\',FileNamePath,'.hsc')]);

 

파일 이름을 입력해주고 Document에 오픈된 시뮬레이션을 저장한다.

켜져 있는 Hysy파일을 보려면 

 

>> Document.Visible=1

 

끄고 싶으면 

 

>> Server.Visible=0

 

을 실행시켜주면 된다.

 

Document 구조안에 Flowsheet를 불러온다.

 

>> Flowsheet = Document.Flowsheet;

 

Flowsheet안에는 Operations, MaterialStreams, EnergyStreams 등이 있어 필요한 것을 불러올 수 있다.

Operations는 장치들이고, MaterialStreams는 흐름 관련 아이콘이고, EnergyStreams는 에너지 관련 아이콘 이름과 정보를 불러온다.

필요한 Operations와 MaterialStreams를 불러온다.

 

>> Streams = Flowsheet.MaterialStreams;

>> Operations = Flowsheet.Operations;

 

Flowsheet안의 Operations들을 저장한다. Operations는 Flowsheet안에 있는 작동하는 장치들을 말한다.

이 장치들의 정보를 알고 싶으면 다음과 같은 코드를 사용한다.

 

>> get(Operations.Item('Itemname(ex, E-101)'))

 

get을 사용하여 아이템이 가진 속성들을 볼 수 있고 그 속성들의 값을 알고 싶으면 구조체 형식으로 사용한다.

 

예를 들어 열교환기의 정보를 가져오려면 다음과 같다.

Operations.Item('E-100').DeltaTValue 를 입력하면 열교환기의 DeltaT 값을 가져올 수 있다.

이 정보의 이름은 get(Operations.Item('Itemname(ex, E-101)')) 여기서 얻을 수 있다.

 

그 속성 중에는 변화시킬 수 있는 것도 있고, 없는 것도 있다. 그걸 확인하는 방법은 다음과 같다.

먼저 열교환기의 DeltaT 값을 Matlab에서 변화시킬 수 있는지 확인한다.

 

Operations.Item('E-100').DeltaT.CanModify

라고 입력하면

 

>> Operations.Item('E-100').DeltaT.CanModify

 

ans =

 

  logical

 

   0

 

logical이 0이라고 뜬다.

 저장된 Hysys에서 계산된 값들은 Matlab에서 수정할 수 없고, Hysys에서 입력해준 곳만 수정 가능하다. 여기서 Delta T는 In, Out 스트림에서 온도가 입력되어 계산된 값이기 때문에 고칠 수 없다.

 

하지만 스트림에서 inlet, outlet 중 하나의 온도를 없애버린다면 열교환기의 Delta T는 입력 가능하게 변한다.

 

 

 

위와 같이 스트림의 온도를 없애버리면 Delta T값이 필요하게 된다. 이때 다시 

Operations.Item('E-100').DeltaT.CanModify 를 사용해 보자.

>> Operations.Item('E-100').DeltaT.CanModify

 

ans =

 

  logical

 

   1

 

이렇게 logical이 1로 바뀌면서 입력이 가능한 상태가 된 것을 확인할 수 있다.

 

그러면 이제 스트림에 넣어보자.

2번 스트림의 온도를 직접 입력해 볼 수도 있다.

 

앞서 저장한 Streams에서 스트림 이름을 가져온다.

>> get(Streams.Item('2'))

그러면 무수히 많은 스트림의 정보들이 뜨게 될 것이다 

여기서 온도만 변화시켜 보자.

 

>> Streams.Item('2').TemperatureValue=200

 

Streams =

 

    Interface.HYSYS_10_Type_Library_Streams

 

다음과 같이 온도 Value에 200을 넣으면 값이 들어갔다고 뜨고, Hysys안에서도 값이 바뀌어져 있는 것을 확인할 수 있다.

 

하지만 Matlab에서 Hysys를 직접 바꾸는 게 안 되는 경우가 몇 가지 있다.

  1. Component를 직접 선택하거나 바꿔줄 수 없다.

  2. Properties를 바꿀 수 없다. 방정식이나 Pseudo Comp를 설정할 수 없다.

  3. 스트림의 조성을 직접 바꿀 수 없다.

이 세 가지가 Matlab와 Hysys 연결에서 제한적인 다.

하지만 세 번째 스트림에서 조성을 바꾸는 직접적인 방법은 없지만 간접적으로는 바꿀 수 있다.

 

Hysys안의 SpreadSheet를 이용하는 방법이다.

먼저 Spreadsheet를 생성한 뒤 다음과 같이 B 열의 값을 A열의 값으로 불러오게 한다.

 

 

그런 다음 

 

SpreadSheet에 있는 B열을 스트림 Composition으로 끌어서 놓아준다. 그러면 A에 입력한 값이 B로 이동하게 되고, B로 이동된 값이 Composition으로 이동하게 될 것이다.

 

이 방법은 편법이지만 매우 쓸만한 방법이며 Spreadsheet를 이용하여 Matlab에서 Hysys로 값을 주는 게 더 편리하고, 단위변환에 신경을 쓰지 않아도 된다.

 

미분방정식의 풀이

 

Matlab에서는 다양한 상미분 방정식 풀이함수를 제공한다. 대부분 ode45 함수를 가장 많이 사용한다.

 

풀이 함수 풀이 방법
ode23 Runge-Kutta lower-order(2차 및 3)
ode45 Runge-Kutta higher-order(4차 및 5)
ode113 Adams-Bashforth-Moulton

 

Matlab의 상미분 방정식 풀이함수(solver)는 다음과 같이 사용한다.

 

[t,y]=solver(odefun,tspan,y0) 또는 [t, y] = solver(odefun,tspan,y0,options)

 

위에서 solver는 풀이함수 이름, odefun은 미분방정식 함수 파일 이름, tspan은 독립변수 구간, y0는 초기값이다.

 

풀이함수가 다음과 같을때 ode45 solver를 이용하여 미분방정식을 풀어보자.

 

아래와 같은 풀이함수를 script로 저장한다.

 

function dy = dfun (t,y)

dy = exp(-t);

end

 

명령창에 다음과 같이 입력한다.

@dfun으로 함수를 불러온다.

 

>> tspan = [0 1]; y0 = -1;

>> [t y] = ode45(@dfun, tspan, y0);

>> plot(t,y), grid, xlabel('t'), ylabel('y(t)')

 

dsolve를 이용하여 미분방정식 풀이

 

dsolve 명령어를 이용하여 미분방정식을 풀 수 있다.

 

>> dsolve('D3x+3*D2x+Dx-2*x=1+exp(3*t)','x(0)=1','Dx(0)=0','D2x(0)=1')

 

ans =

exp(3*t)/5 - (7*exp(-2*t))/10 + exp(t*(5^(1/2)/2 - 1/2))*(exp(t/2 - (5^(1/2)*t)/2)*(5^(1/2)/10 - 1/2) + exp((7*t)/2 - (5^(1/2)*t)/2)*((4*5^(1/2))/55 - 1/11)) - exp(-t*(5^(1/2)/2 + 1/2))*(exp(t/2 + (5^(1/2)*t)/2)*(5^(1/2)/10 + 1/2) + exp((7*t)/2 + (5^(1/2)*t)/2)*((4*5^(1/2))/55 + 1/11)) - exp(t*(5^(1/2)/2 - 1/2))*((4*5^(1/2))/55 - 12/11) + (4*5^(1/2)*exp(-t*(5^(1/2)/2 + 1/2))*(3*5^(1/2) + 1))/55 + 1/2

기호 객체

 

기호객체는 수식을 나타내는 문자열을 저장하는 데이터 구조이다.

기호객체를 만들기 위해서는 sym, 또는 syms를 사용한다. 예를 들어 a = syms('x') x로 출력되는 기호변수 a를 생성한다.

  여러 개의 기호변수를 생성하는 경우에는 syms 명령어를 이용한다. 예를 들어 x, y를 기호변수로 지정하고자 할 때에는 syms x y 와 같이 하면 된다

 

>> syms x y
>> z = 2*x^3 - 4*x*y^2
 
z =
 
2*x^3 - 4*x*y^2
 
>> z^2
 
ans =
 
(- 2*x^3 + 4*x*y^2)^2
 
>> expand(ans)
 
ans =
 
4*x^6 - 16*x^4*y^2 + 16*x^2*y^4

 

expand는 괄호를 푸는 명령어이다.

 

 

라플라스 변환

 

Matlab 함수 laplace는 라플라스 변환을 수행한다.

 

>> syms a t
>> laplace(exp(-a*t))
 
ans =
 
1/(a + s)

 

코사인의 라플라스 변환은 다음과 같다.

 

>> syms t w
>> laplace(cos(w*t))
 
ans =
 
s/(s^2 + w^2)

 

 

역 라플라스 변환

 

역 라플라스 변환은 ilaplace 명령어를 이용하여 수행할 수 있다.

 

>> syms s
>> F = 2*s / (s^2 + 4*s + 1);
>> f = ilaplace(F) 
 
f =
 
2*exp(-2*t)*(cosh(3^(1/2)*t) - (2*3^(1/2)*sinh(3^(1/2)*t))/3)

 

 

데이터 분석함수

 

함수 기능
max 가장 큰 성분
min 가장 작은 성분
mean 평균값
median 중앙값
std 표준편차
var 분산
sort 오름차순으로 정렬
sum 원소들의 합
prod 원소들의 곱
cumsum 원소들의 누적합
sumprod 원소들의 누적곱
diff 원소들의 차

 

>> A=[1 2 3;5 6 7;9 10 14];

>> sum(A)

ans =

    15    18    24

 

sum(A)는 행렬 A의 합으로 열의 합을 보여준다.

 

>> sum(A(:,1))

ans =

    15

 

하나의 열을 더할때는 sum()에 하나의 열에 해당하는 A(:,1)을 넣어주면 된다.

 

>> mean(A)

ans =

     5     6     8

 

평균 역시 열에 해당하는 평균을 보여준다.

 

>> min(A)

ans =

     1     2     3

 

>> max(A)

ans =

     9    10    14

 

>> max(max(A))

ans =

    14

 

행렬에서 가장 크거나 작은 값을 구하고 싶다면, max() 명령어 안에 다시 max()를 넣어주면 큰 값중에 큰값 또는 작은값 중에 작은값을 구하는 명령어이므로 행렬에서 가장 크거나 작은 값을 구 할 수 있다.

 

>> B=[1 -2 -3;2 1 -3;4 5 2];
>> [m,i]=min(B)

m =

     1    -2    -3


i =

     1     1     1

 

여기서 m은 최소 값을 나타내고 i는 최소 값의 위치를 나타낸다.

한 열에 최소값이 두 개면 첫 번째 작은 값의 위치를 나타낸다.

 

NaN 값 처리

 

>> x=[2 1 NaN -1 6]

x =

     2     1   NaN    -1     6

>> mean(x)

ans =

   NaN

>> x=x(~isnan(x))

x =

     2     1    -1     6

 

x에 NaN 값이 포함되어 있다면 위의 명령어들이 실행되지 않을 것이다.

 

명령어를 바르게 실행하기 위해서는 NaN 값들의 제거는 필수적이다.

 

~isnan(x) 명령어는 x에서 NaN 값이 아닌 위치를 나타낸다. 반대로 isnan(x)는 NaN의 위치를 반환한다.

 

x(~isnan(x))는 x행렬에서 NaN 값이 아닌 모든 값들을 가져온다는 의미이다.

 

 

 

 

 

'Matlab' 카테고리의 다른 글

[Matlab 기초] 미분방정식 풀이  (0) 2020.02.18
[Matlab 기초] 라플라스 변환  (0) 2020.02.17
[Matlab 기초] 행렬 생성함수  (0) 2020.02.16
[Matlab 기초] 내장 수학 함수  (0) 2020.02.16
[Matlab 기초] 논리 연산자  (1) 2020.02.12

행렬 생성함수

 

함수 기능
zeros 0 배열 행렬 생성
ones 1 배열 행렬 생성
eye 단위행렬
repmat 배열을 복제하고 붙임
rand 균일분산된 불규칙 수
randn 정규분포 불규칙 수
linspace 선형적으로 구분 배열된 벡터
logspace 로그 눈금으로 구분 배열된 벡터
meshgrid 3D 그래프를 위한 X 및 Y 배열

>>zeros>> zeros(3)

ans =

     0     0     0
     0     0     0
     0     0     0

 

zeros(3)은 0으로 이루어진 행렬 3x3 을 생성한다.

 

>> rand(5)

ans =

    0.0975    0.1576    0.1419    0.6557    0.7577
    0.2785    0.9706    0.4218    0.0357    0.7431
    0.5469    0.9572    0.9157    0.8491    0.3922
    0.9575    0.4854    0.7922    0.9340    0.6555
    0.9649    0.8003    0.9595    0.6787    0.1712

 

rand(5)는 무작위로 추출된 값들로 이루어진 행렬 5x5 을 생성한다.

 

>> A=[1 2;3 4];
>> repmat(A,2,3)

ans =

         2     1     2     1     2
         4     3     4     3     4
     1     2     1     2     1     2
     3     4     3     4     3     4

 

repmat(A,2,3)은 행렬 A를 행으로는 2번 열방향으로는 3번 복사하여 새로운 행렬을 생성한다.

'Matlab' 카테고리의 다른 글

[Matlab 기초] 라플라스 변환  (0) 2020.02.17
[Matlab 기초] 데이터 분석함수  (0) 2020.02.16
[Matlab 기초] 내장 수학 함수  (0) 2020.02.16
[Matlab 기초] 논리 연산자  (1) 2020.02.12
[Matlab 기초] 데이터 교환  (0) 2020.02.11

내장 수학 함수

 

구분 내장함수
삼각함수

cos, sin, tan,scs, sec, cot, cosd, sind, tand, cscd, secd, sotd

역 삼각함수

acos, asin, atan, atan2, asec, ascsc, acot, acosd, asind, atand, asecd, ascsd, acotd

하이버폴릭 cosh, sinh, tanh, sech, csch,coth
역 하이퍼볼릭 acosh, asinh, atanh, asech, acsch, acoth
지수함수 log, log2, log10, log1p, exp, expm1, pow2, nestpow2, nthroot
반올림 ceil, fix, floor, round
복소수 abs, angle, conj, imag, real
나머지 mod, rem, sign
수학함수 airy, bessel, beta, ellipj, ellipke, erf, expint, gamma, legendre, psi
수 이론 factor, gcd, isprime, lcm, primes, perms, rat, rats
좌표변환 cart2sph, cart2pol, pol2cart, sph2cart

 

'Matlab' 카테고리의 다른 글

[Matlab 기초] 데이터 분석함수  (0) 2020.02.16
[Matlab 기초] 행렬 생성함수  (0) 2020.02.16
[Matlab 기초] 논리 연산자  (1) 2020.02.12
[Matlab 기초] 데이터 교환  (0) 2020.02.11
[Matlab 기초] M파일 생성  (0) 2020.02.10

관계연산자

 

Matlab은 논리 연산자를 지니고 있으며 logic이 1이면 참을, 0이면 거짓임을 나타낸다.

연산자 의미
== 같음
~= 같지 않음
< 작은
>
<= 작거나 같은
>= 크거나 같은
& and
&& 단락 and
| or
|| 단락 or
~ not
xor 배타적 or
all 벡터의 모든 원소들이 0이 아니면 참
Any 벡터의 임의 원소가 0이 아니면 참

예제

>> 2>3

ans =

  logical

   0

예제

>> A = [1 1;2 2];
>> B = [1 2;4 2];
>> A == B

ans =

  2×2 logical 배열

   1   0
   0   1

예제

>> x = [1 2 3]; y = [3 2 3];
>> any(x>0) && any(y>0)

ans =

  logical

   1

 

이러한 논리 연산자는 반복문에서 많이 사용되니 알아두는 것이 좋다.

'Matlab' 카테고리의 다른 글

[Matlab 기초] 행렬 생성함수  (0) 2020.02.16
[Matlab 기초] 내장 수학 함수  (0) 2020.02.16
[Matlab 기초] 데이터 교환  (0) 2020.02.11
[Matlab 기초] M파일 생성  (0) 2020.02.10
[Matlab 기초] 그래프 그리기  (0) 2020.02.09

+ Recent posts