Matlab에서 함수를 정의하는 몇 가지 방법
2506 단어 matlab
예: 사용자 정의 구화 함수
사용자 정의 my_ 필요sum.m 파일로 함수 저장
function[s]=my_sum(n)
s=0;
for i=1:n
s=s+i;
end
참고: 함수 이름(my_sum)은 파일 이름(my_sum.m)과 일치해야 합니다.
함수를 호출할 때 함수 파일은 현재 작업 디렉터리 아래에 있습니다.
2. 함수 파일 + 하위 함수: 여러 개의 하위 함수를 가진 M 파일 정의
예: 최대값 함수 구하기
function son_function( ) %
%
max1=find_max(1,2,3)
max2=find_max(7,3,9)
function max=find_max(a,b,c) %
if (a>=b)&(a>=c)
max=a;
elseif (b>=a)&(b>=c)
max=b;
else
max=c;
end
주의: m 파일은 여러 개의 function을 쓸 수 있지만, 첫 번째 파일만 다른 파일에서 호출할 수 있고, 나머지 함수는 이 파일에서만 호출할 수 있습니다.
함수 이름은 주 함수 이름과 일치해야 한다
3, Inline: M 파일 없이 직접 정의
%inline 명령은 내연 함수를 정의하는 데 사용됩니다: f=inline ('함수 표현식','변수 1','변수 2',...).호출 방식: y=f(수치 목록)% 주의: 대입된 수치 목록 순서는 inline () 이 정의한 변수 이름 순서와 일치해야 합니다.
예:
f=inline('x^2+y','x','y');
z=f(2,3)
예:
inline 함수 호출 형식은 다음과 같습니다.
>> fname = inline('sum(1:n)','n')
출력:fname =
Inline function:
fname(n) = sum(1:n)
먼저 함수 핸들을 구성하고 그 다음에 fval 함수를 이용하여 계산할 수 있다.
>> calsum = feval(fname,100)
출력:
calsum =
5050
4. 익명 함수
matlab 함수 핸들 조작부호@ 를 사용하면 matlab 내장 함수와 사용자 정의 함수를 가리키는 함수 핸들을 정의할 수 있으며, 함수 핸들도 함수처럼 사용할 수 있습니다.
예:
x=-pi:0.1:pi;
fh={@cos,@sin};
plot(fh{2}(x))
fh=
@cos @sin
5.syms+subs: M 파일 없이 직접 정의
syms로 기호 표현식을 정의하고subs로 호출합니다.
syms f x %
f=1/(1+x^2); %
subs(f, ‘x’, x )
주:syms에서 정의된 기호 변수는subs에서 대체할 때 인용부호는 생략할 수 있습니다.그러나syms 이후에 다른 형식으로 재정의되면 인용부호를 붙여야 합니다. 그렇지 않으면 바꿀 수 없습니다.이런 함수 정의 방법의 특징은 기호로 바꿀 수 있다는 것이다.
Syms f x
f=1/(1+x^2);
subs(f, ‘x’,’y^2’)
ans= 1/(1+(y^2)^2)
주: 이 방법의 단점은 기호를 사용하여 내핵을 연산하면 연산 속도가 크게 떨어진다는 것이다.
6, 문자열 + subs: M 파일 없이 직접 정의
문자열을 직접 정의하고subs 명령으로 호출합니다.예:
f=’1/(1+x^2)’ %
z=subs(f,’x’,2)
g=subs(f,’x’,’y^2’)
주: 장점은 메모리를 가장 적게 사용하고 형식을 정의하는 데 자유롭다는 것이다.단점은 문자에 대한 기호 전환이 불가능하다는 것이다.대체할 기호가 호출되기 전에 수치 정의가 있으면,subs(f)를 직접 호출할 수 있습니다.예:
f=’x^2*y’;
x=2;y=3;
subs(f)
ans=12 7, @ 기호를 통해 직접 정의합니다.
예:
>> f=@(x,y)(x.^2-sin(y))
f = @(x,y)(x.^2-sin(y))
>> f(2,3) ans = 3.8589
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【MATLAB】변수를 스크립트에 저장MATLAB에서 계산 결과를 저장할 때 MAT 파일, Excel 등의 파일에 저장하는 것이 좋을 것이라고 생각하지만 변수의 유형에 따라 스크립트에 내보낼 수 있습니다. MATLAB을 사용해 10년 정도가 됩니다만, ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.