MathML学习:几个高等数学公式的MathML源码

今天我研究了下数学标记语言MathML。于是我把我大学毕业后扔掉了好久的高数书又捡了回来,找了几个公式实现了下。并记下了它们的代码,并总结了些心得体会,方便日后查阅。

一、我的方法

1)我使用了Amaya11.4.7帮我构建数学公式,点击“File”菜单下的“New”,找到“New formula...”。

MathML学习:几个高等数学公式的MathML源码_第1张图片

2)指定一个位置保存我们要编辑的mml文件,字符集选择默认的“iso-8859-1”,这是由国际标准化组织内定义的一个8位字符集。

3)编辑公式,保存文件。

4)可以用火狐浏览器(Firefox)打开保存好的mml文件预览效果。也可以使用任何文本编辑工具打开mml文件查看源码。

现在有个mml文件,源码如下:





  1
  +
  1
  =
  2

使用几个浏览器对mml文件打开后预览结果:

1)我使用的Firefox版本为“37.0.1”,用Firefox打开mml文件后,会显示如下预览结果:

MathML学习:几个高等数学公式的MathML源码_第2张图片

2)我使用的IE版本为“8.0.7601.17514”,用IE打开mml文件后,会提示“文件下载”对话框(如下图)。由于我之前设定了mml文件默认用Firefox打开,所以点击了“文件下载”对话框中的“打开”按钮后,会用Firefox打开mml文件。

MathML学习:几个高等数学公式的MathML源码_第3张图片

3)我使用的Chrome版本为“41.0.2272.118 m”,打开mml文件后,Chrome会直接指出“语法错误”

MathML学习:几个高等数学公式的MathML源码_第4张图片

综上所述,我还是选择了火狐浏览器作为mml的预览效果工具

二、公式1:勾股定理

1)Firefox下的预览效果

MathML学习:几个高等数学公式的MathML源码_第5张图片

2)公式源码





  
    a
    2
  
  +
  
    b
    2
  
  =
  
    c
    2
  

三、公式2:欧拉公式

1)Firefox下的预览效果

MathML学习:几个高等数学公式的MathML源码_第6张图片

2)公式源码





  
    e
    
  
  +
  1
  =
  0

四、公式3:重要极限(一个极值为e的极限)

1)Firefox下的预览效果

MathML学习:几个高等数学公式的MathML源码_第7张图片

2)公式源码





  
    
      lim
      
        n
        
        
      
    
    
      
        (
        1
        +
        
          1
          n
        
        )
      
      n
    
  
  =
  e
  .

五、公式4:参数方程(x=x(t); y=y(t))的曲率

1)Firefox下的预览效果

MathML学习:几个高等数学公式的MathML源码_第8张图片

2)公式源码





  K
  =
  
    
      
      
        x
        '
        (
        t
        )
        y
        '
        '
        (
        t
        )
        
        x
        '
        '
        (
        t
        )
        y
        '
        (
        t
        )
      
      
    
    
      
        [
        
          
            x
            '
          
          2
        
        (
        t
        )
        +
        
          
            y
            '
          
          2
        
        (
        t
        )
        ]
      
      
        3
        2
      
    
  

六、公式5:向量s=(m,n,p)与法向量为n=(A,B,C)的平面夹角

1)Firefox下的预览效果

MathML学习:几个高等数学公式的MathML源码_第9张图片

2)公式源码





  
    sin
    
    θ
  
  =
  
    
      
      
        A
        m
        +
        B
        n
        +
        C
        p
      
      
    
    
      
        
          A
          2
        
        +
        
          B
          2
        
        +
        
          C
          2
        
      
      
        
          m
          2
        
        +
        
          n
          2
        
        +
        
          p
          2
        
      
    
  
  .

七、公式6:以2π为周期的傅里叶级数

1)Firefox下的预览效果

MathML学习:几个高等数学公式的MathML源码_第10张图片

其中:

232335_7ycs_1425762.png

2)公式源码

上图:





  f
  (
  x
  )
  ~
  
    
      a
      0
    
    2
  
  +
  
    
    
      n
      =
      1
    
    
  
  (
  
    a
    n
  
  
    cos
    
    nx
    +
    
      
        b
        n
      
      sin
      
      nx
    
  
  )
  .

下图:





  
    a
    n
  
  =
  
    1
    π
  
  
    
      
      
        
        π
      
      π
    
    
      f
      (
      x
      )
    
  
  
    cos
    
    
      n
      x
    
  
  
    
    x
    ,
    
      b
      n
    
  
  =
  
    1
    π
  
  
    
      
      
        
        π
      
      π
    
    
      f
      (
      x
      )
    
  
  
    sin
    
    
      n
      x
    
  
  
    
    x
    .
  

八、几点心得体会

1)对于一些数学、物理上使用,但又不好找的特殊字符,如“Ĥ”、“ħ”等,可以参考英语的维基词典条目

如与字母h相关的字符,可以去下面页面查找:http://en.wiktionary.org/wiki/Appendix:Variations_of_%22h%22

其中两个“%22”中的字符,即为要找的字符,在维基词典中,可以找到字母h的若干变体:

MathML学习:几个高等数学公式的MathML源码_第11张图片

2)需要注意的是,同样的代码,扩展名不同,用Firefox打开后的结果也可能不同

比如下面是一段我从互联网上粘下来的代码:

(粘自页面:http://www.ibm.com/developerworks/cn/xml/x-mathml/)


      
        n
    
         p
      -
          1
    
  
  
  
  
  1
  
  (
  mod
  
  p
  )

我将它保存到temp.html中,用Firefox打开,预览如下:

MathML学习:几个高等数学公式的MathML源码_第12张图片

但我将它改名为temp.mml后,用Firefox就不能正确显示了:

MathML学习:几个高等数学公式的MathML源码_第13张图片

问题就出在“≡”上,必须把它改成“≡”,这才是MathML里显示字符“≡”的方式。

MathML学习:几个高等数学公式的MathML源码_第14张图片

END

转载于:https://my.oschina.net/Tsybius2014/blog/397618

你可能感兴趣的:(MathML学习:几个高等数学公式的MathML源码)