Gnuplot에서 절차 (또는 C와 유사한 기능)를 사용할 수 있습니까? 정말 간단하고 간단한 것을 필요로합니다 :Gnuplot의 절차
function func1()
{
var1 = "string1";
var2 = var1."string2";
return var2;
}
내 gnuplot 스크립트를 조금 더 간결하게 만듭니다.
Gnuplot에서 절차 (또는 C와 유사한 기능)를 사용할 수 있습니까? 정말 간단하고 간단한 것을 필요로합니다 :Gnuplot의 절차
function func1()
{
var1 = "string1";
var2 = var1."string2";
return var2;
}
내 gnuplot 스크립트를 조금 더 간결하게 만듭니다.
의 gnuplot 지원 인수 (단순) 기능 :
func1(x)=x."string2"
당신의 gnuplot 4.4 사용하는 경우
더 복잡 "인라인"기능을 생성 할 수 있습니다 :이 양식에서
func1(x)=(var1=x, var2=var1."string2", var1.var2) #returns x.x."string2"
, 마지막 함수의 일부가 리턴 된 것 (var1.var2
)이고 명령문은 왼쪽에서 오른쪽으로 평가됩니다.
더 매개 변수를 허용하지 기능을 가지고 싶다면, 당신은 (자주)를 사용할 수 있습니다 매크로 :
set macro
funcmacro='"string1"."string2"'
print @funcmacro
예. 당신은 첫 번째 줄은 함수 정의입니다
strcat(str1,str2) = sprintf("%s%s",str1,str2)
str3 = strcat("string1","string2"); print str3
처럼 뭔가의 gnuplot에서 문자열을 연결할 수 있으며, 두 번째 줄은 사용의 단지 예입니다. gnuplot documentation의 "사용자 정의 변수 및 함수"섹션에서 자세한 내용을 볼 수 있습니다 ("표현식"섹션 아래에 있으며 'fi'로 인해 '사용자 정의'문자열 검색에 어려움이있을 수 있습니다. LaTeX에 의해 생성 된 문자).
나는이 목적을 위해'sprintf'에 대해 생각하지 않았습니다 ... 흥미 롭습니다. 나는 연산자의 검증을 여전히 선호한다고 생각한다 :'strcat (s1, s2) = s1.s2', 그러나 나는 별다른 차이를 만들지 않는다. +1은 gnuplot에 이미 C의 많은 함수가 내장되어 있음을 지적합니다. – mgilson
@andyras : 저는 보통 문자열을 연결하기 위해'.' 점을 사용합니다. 제 질문은 gnuplot 스크립트에서 프로 시저 또는 "비 수학"함수를 만들 수있는 방법이 있는지에 관한 것입니다. – Avio
@mgilson : 나는 또한 '.' 연산자,하지만 나는 그것에 대해 잊어 버렸다! 나를 상기시켜 줘서 고마워. – andyras
Pyxplot 플로팅 패키지 http://pyxplot.org.uk을 살펴볼 수 있습니다.이 패키지는 gnuplot과 유사한 구문을 가지고 있지만 스크립팅 언어의 많은 기능을 가지고 있습니다. 서브 루틴이 있습니다. 서브 루틴은 여러분이 요구하는 것과 정확히 일치해야합니다.
감사합니다. 네, gnuplot 4.4를 사용하고 있습니다. "인라인"과 매크로를 모두 시험해 보겠습니다. – Avio