Mathematica学习笔记

更新时间:2023-07-08 05:50:54 阅读: 评论:0

新手最容易犯的错误
MatrixForm
多年不碰回头再用也会犯的错误:
定义列表最后不要放//MatrixForm
A = ConstantArray[t, {4, 4}] // MatrixForm;
Do[
A[[i, j]] = 0;
, {i, 1, 4}, {j, 1, 4}];
西安夜生活论坛A // MatrixForm
运行试试,错在什么地方?
多项赋值
{a[1],a[2],a[3]}={4,6,8}合法;
但是Table[a[i],{i,1,3}]={4,6,8}是不可以的
上下标
有些变量可能带有上下标,在Mathematica中如何输入呢?
上标:Ctrl+6
下标:Ctrl+-(减号)
但是这样只能输入单独的上标或下标,如果变量既有上标也有下标需要通过“面板”——“数学助手”
——“排版”中的方法了。
输入很简单,但是在Mathematica使用上下标是很麻烦的。
如果程序很短变量又不多最好别用带上下标的变量。
卫生巾怎么用的你可以给带标单变量赋值,例如
x1=9
你也可以使用带标符号做变量,例如
糯米肉圆D[x1^4,x1]
但是你不能用Clear命令清除它的值,例如
也可以给带标符号矩阵赋值,例如
M a={{1,2,3},{4,5,6}}
你可以调用其中的单元,例如
M a[[2,1]]海底世界卡通图片
但是你无法给单元再赋值,例如
M a [[2,1]]=40
如果你实在想给单元赋值,你可以这么干
_'
起义[_];
Notation Symbolize <<
意思是声明所有带下标符号为一个整体
此时,所有带标符号成为应该整体。什么意思?
声明之前:
声明之后:
也就是说,声明之前x 1在Mathematica 中实际是Subscript[x ,1],声明之后x 1Mathematica 将其看成 x⎵Subscript⎵1,这样的符号和普通的不带标符号一样,例如
x⎵1的输入方式是x ⎵[UnderBracket]Subscript\[UnderBracket]1
但是注意_'
[_];
Notation Symbolize <<;之后Subscript 创建的对象还是下标类而不是Symbol 类,例如下例
<<Notation`; Symbolize[__];
a=Subscript[q,ToExpression[#]]&["t"];
a
q  Subscript  t=5;
N[a^2]
Mathematica 不区分行向量和列向量
行向量v 可以这么定义 v= {v1,v2,v3}
列向量v 可以这么定义 v= {v1,v2,v3}或v={{v1},{v2},{v3}} MatrixForm 永远显示向量的列表达形式
Mathematica 对行向量和列向量一视同仁可能会造成一些麻烦,比如
两个Simple  list 被连接得到了另一个list ,他是行向量还是列向量,答案是不做区分。
如果用{1,2,3,4,5,6}与前面的结果123456
⎛⎫
⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭相乘,得到91,如果用123456⎛⎫ ⎪ ⎪ ⎪
⎪ ⎪ ⎪ ⎪ ⎪⎝⎭
与{1,2,3,4,5,6}相乘结果还是91,也就
糊读音是说Mathematica 会自动匹配维数。但是当转置以后原来的list 成了{{1},{2},{3},{4},{5},{6}},这时要
注意维数应该匹配,否则就会出错,例如。
是行还是列还可以通过Dimensions[]函数看出,别以为MatrixForm 的输出是123456⎛⎫ ⎪ ⎪ ⎪
⎪ ⎪ ⎪ ⎪ ⎪⎝⎭
,就认为它是列。
一维List 与列list 加减得到的是列List :
对列向量转置得到的不是行向量: a = {{1}, {2}, {3}};  b = Transpo[a]
c = Transpo[{{1, 2, 3}}]; MatrixForm /@ {a, b, c}
a 是列向量,但对a 转置不是行向量,一维列表不能转置 小例子:
a = Join[{1, 2, 3}, {4, 5, 6}]; MatrixForm[a] MatrixForm[{1, 2, 3}] Dimensions[a]
b = Transpo[{a}]; MatrixForm[b] Dimensions[b] Quit[]; 再例如
{1, 2, 3}.{{3}, {4}, {5}} {1, 2, 3}.{3, 4, 5} 运行得到 {26} 26qq密码忘记了
后一个还好操作,但遇到前一个就麻烦了,因为迭代后很可能得到{{{{{{26}}}}}}
输入142536⎛⎫
⎪ ⎪⎝⎭
1千克是多少吨的时候,可别写成{{{1},{2},{3}},{{4},{5},{6}}},应该写{{1,4},{2,5},{3,6}}
使用李泽湘工具包中的StackRows 的时候,有种情况应注意,即
在矩阵下添加一行的操作,例如在147258369⎛⎫
⎪ ⎪⎝⎭
下面添加一行()101112正确的格式是
a  =  1,4,7 , 2,5,8 , 3,6,9  ;
b  = {{10,11,12}};
c  = StackRows [a ,b ];
注意b 不能写成b ={10,11,12};
在矩阵右添加一列的操作,例如在147258369⎛⎫ ⎪
⎪ ⎪⎝⎭
右面添加一列()101112正确的格式是
a  =  1,4,7 , 2,5,8 , 3,6,9  ;
b  = {10,11,12};
c  = StackCols [a ,b ];
注意b 不能写成b ={ 10,11,12
};

本文发布于:2023-07-08 05:50:54,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1084951.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:符号   例如   变量   得到   向量   赋值   不能
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图