Maple Professionel
Maple Académique
Maple Edition Étudiant
Maple Personal Edition
Maple Player
Maple Player for iPad
MapleSim Professionel
MapleSim Académique
Maple T.A. - Suite d'examens de classement
Maple T.A. MAA Placement Test Suite
Möbius - Didacticiels de mathématiques en ligne
Machine Design / Industrial Automation
Aéronautique
Ingénierie des véhicules
Robotics
Energie
System Simulation and Analysis
Model development for HIL
Modélisation du procédé pour la conception de systèmes de contrôle
Robotics/Motion Control/Mechatronics
Other Application Areas
Enseignement des mathématiques
Enseignement de l’ingénierie
Enseignement secondaire et supérieur (CPGE, BTS)
Tests et évaluations
Etudiants
Modélisation financière
Recherche opérationnelle
Calcul haute performance
Physique
Webinaires en direct
Webinaires enregistrés
Agenda des évènements
Forum MaplePrimes
Blog Maplesoft
Membres Maplesoft
Maple Ambassador Program
MapleCloud
Livres blancs techniques
Bulletin électronique
Livres Maple
Math Matters
Portail des applications
Galerie de modèles MapleSim
Cas d'Etudes Utilisateur
Exploring Engineering Fundamentals
Concepts d’enseignement avec Maple
Centre d’accueil utilisateur Maplesoft
Centre de ressources pour enseignants
Centre d’assistance aux étudiants
関数型演算子
説明
Maple における関数型演算子は手続きの特殊な形です。関数型演算子は、次のような「矢印」記法を使って表します。
vars -> result
ここで、vars は変数名の並び(または,1つの変数)であり、result はその手続きを vars に作用した結果です。
たとえば、
x -> x^2
は、その引数を2乗する関数を表しています。
多変数関数やベクトル値関数も許されます。vars や result が式列になる場合には、必ずそれらを括弧でくくる必要があります。たとえば、次のような関数の表現は、正しい構文です。
(x,y) -> x^2 + y^2 x -> (2*x, 3*x^4) (x,y,z) -> (x*y, y*z)
関数型演算子を生成する別の方法として、unapply 関数を利用する方法もあります。(トピック ?unapply を参照して下さい。)
その内部的なデータ構造は手続きと同じなので、関数型演算子は数式で与えた関数を「手続き化」するプロセスだと解釈するとよいでしょう。
の意味は次の手続きと同じです。 proc(vars) option operator, arrow; result end
Maple は関数型演算子(より正確には、オプション演算子を持つ手続き)に対して、いくつかの簡単化を自動的に実行します。たとえば、x -> sin(x) は sin になってしまいます。
数値定数 numeric に対する定数演算子 () -> numeric は簡単化されて、単に numeric になってしまいます。
任意の変数名 x に対して、恒等演算子は x -> x と表されます。
例
f := x -> 3*x + 5;
f(2);
g := (x,y) -> sin(x)*cos(y) + x*y;
g(Pi/2, Pi);
h := x -> (2*x, x^3);
h(3);
参照
type[operator], unapply, @, @@, D, operators[D], operators[example]
Download Help Document