QUICK_REFERENCE.md 6.1 KB

IJS 快速参考指南

🎯 基本语法

函数调用

FunctionName[arg1, arg2, ...]

列表和范围

{1, 2, 3, 4, 5}              // 列表
{x, 0, 10}                   // 范围:变量 x 从 0 到 10
{x, 0, 10, 0.5}              // 带步长的范围

变量赋值

x = 5
f = x^2 + 3*x

📊 绘图函数

函数 语法 示例
Plot Plot[func, {var, min, max}] Plot[Sin[x], {x, -10, 10}]
ParametricPlot ParametricPlot[{xFunc, yFunc}, {var, min, max}] ParametricPlot[{Cos[t], Sin[t]}, {t, 0, 2*Pi}]
PolarPlot PolarPlot[rFunc, {var, min, max}] PolarPlot[1+Cos[t], {t, 0, 2*Pi}]
ListPlot ListPlot[list] ListPlot[{1, 4, 9, 16, 25}]

🧮 微积分

函数 说明 示例
D 求导 D[x^3, x]
Integrate 积分 Integrate[x^2, x]
Limit 极限 Limit[Sin[x]/x, x -> 0]
Series 级数展开 Series[Exp[x], {x, 0, 5}]
Sum 求和 Sum[i^2, {i, 1, 10}]
Product 求积 Product[i, {i, 1, 5}]

🔢 代数

函数 说明 示例
Solve 解方程 Solve[x^2 - 4 == 0, x]
Expand 展开 Expand[(x+1)^3]
Factor 因式分解 Factor[x^2 - 4]
Simplify 化简 Simplify[Sin[x]^2 + Cos[x]^2]
Together 通分 Together[1/x + 1/y]
Apart 部分分式 Apart[1/(x^2-1), x]

📐 矩阵

函数 说明 示例
Det 行列式 Det[{{1,2},{3,4}}]
Inverse 逆矩阵 Inverse[{{1,2},{3,4}}]
Transpose 转置 Transpose[{{1,2},{3,4}}]
Eigenvalues 特征值 Eigenvalues[{{1,2},{3,4}}]

🔬 变换

函数 说明 示例
FourierTransform 傅里叶变换 FourierTransform[Exp[-x^2], x, w]
LaplaceTransform 拉普拉斯变换 LaplaceTransform[Sin[t], t, s]
InverseLaplaceTransform 逆拉普拉斯变换 InverseLaplaceTransform[1/(s^2+1), s, t]

🎲 数论

函数 说明 示例
GCD 最大公约数 GCD[12, 18]
LCM 最小公倍数 LCM[12, 18]
FactorInteger 质因数分解 FactorInteger[60]
PrimeQ 判断素数 PrimeQ[17]
Prime 第n个素数 Prime[10]
Fibonacci 斐波那契数 Fibonacci[10]
Binomial 组合数 Binomial[5, 2]

🔄 格式转换

函数 说明 示例
TeXForm 转换为 LaTeX TeXForm[Sin[x]^2 + Cos[x]^2]
InputForm 输入格式 InputForm[expr]
FullForm 完整形式 FullForm[expr]
JavaForm Java 代码 JavaForm[expr]
N 数值化 N[Pi, 50]

📋 数据生成

函数 说明 示例
Table 生成表格 Table[i^2, {i, 1, 10}]
Range 生成数列 Range[1, 10]

🎯 优化

函数 说明 示例
Maximize 求最大值 Maximize[x^2 - 4*x + 3, x]
Minimize 求最小值 Minimize[x^2 - 4*x + 3, x]

💡 特殊命令

命令 说明
help 或 ? 显示帮助
clear 或 cls 清空输出
reset 重置所有变量
history 显示命令历史
vars 显示已定义变量
clear <var> 清除特定变量
plugins 打开插件管理

⌨️ 快捷键

快捷键 功能
Enter 执行命令
↑ 上一条历史命令
↓ 下一条历史命令
Tab 自动补全函数名

📝 常用示例

绘制美丽的曲线

// 心形线
ParametricPlot[{2*Cos[t]-Cos[2*t], 2*Sin[t]-Sin[2*t]}, {t, 0, 2*Pi}]

// 螺旋线
ParametricPlot[{t*Cos[t], t*Sin[t]}, {t, 0, 6*Pi}]

// 圆
ParametricPlot[{2*Cos[t], 2*Sin[t]}, {t, 0, 2*Pi}]

// 五函数同坐标系
Plot[{Sin[x], Cos[x], x/3, x^2/8, Sin[2*x]/2}, {x, 0, 2*Pi}]

// 散点图
ListPlot[{{1,1},{2,4},{3,9},{4,16}}]

MCP 服务器

# 默认端口 8734,自动启动
curl -X POST http://127.0.0.1:8734/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
       "params":{"name":"evaluate",
                 "arguments":{"expression":"D[x^3,x]"}}}'

# RikkaHub 配置
{"mcpServers":{"ijs":{"type":"streamable-http",
  "url":"http://127.0.0.1:8734/mcp",
  "commonOptions":{"name":"IJS - Symja","enable":true,"headers":[]}}}}

# 输入 mcp 命令查看完整配置 + 服务器状态

插件开发

// inline 模式:弹窗输入 + 执行按钮
function calculate(inputs, IJS) {
  IJS.Symja.print("计算中...");
  return IJS.Symja.differentiate(inputs.func, inputs.var);
}

// fullscreen 模式:全屏 Canvas 游戏
function calculate(inputs, IJS) {
  var ctx = IJS.canvas.create();  // 自动填满屏幕
  var W = IJS.canvas.width();
  IJS.canvas.fill("#1a1a2e");
  // ... Canvas 2D 绘图 ...
  IJS.input.onTouchEnd(function(e) {
    var pos = IJS.input.xy(e);   // 统一坐标转换
    // 处理触摸...
  });
}

内置应用

power2     // 打开 "The Power of Two" — 用数字 2 构造任意值!
imusic     // 打开 "无理数音乐" — 将 π、e 等转为音乐播放!

// 螺旋线 ParametricPlot[{t*Cos[t], t*Sin[t]}, {t, 0, 10}]


### 求解数学问题

mathematica // 求导数 D[x^3 + 2*x^2 - 5*x + 1, x]

// 求积分 Integrate[x*Sin[x], x]

// 解方程 Solve[x^3 - 6*x^2 + 11*x - 6 == 0, x]

// 因式分解 Factor[x^4 - 1]

// 泰勒展开 Series[Sin[x], {x, 0, 7}]


### 矩阵运算

mathematica // 定义矩阵 A = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}

// 计算行列式 Det[A]

// 求特征值 Eigenvalues[A]

// 矩阵乘法 {{1,2},{3,4}}.{{5,6},{7,8}}


### 数值计算

mathematica // 高精度计算 π N[Pi, 100]

// 计算平方根 N[Sqrt[2], 50]

// 数值积分 NIntegrate[Exp[-x^2], {x, 0, Infinity}] ```

🔗 更多资源


提示:所有函数名首字母大写,使用方括号 [] 表示参数!