1. p20 y1=2*sin(0.3*pi)/(1+sqrt(5))
2. sym和syms, 在声明一个变量时,二者没有区别,两者可以互用
a=sym('a') 创建名称为“x”的符号变量并存储
(但是为什么要声明变量呢,matlab里直接a=2,和sym a;a=2有差吗?试了一下a=sym('a'),a=0.333,b=0.333, a^10和b^10 大小一样啊)
S = sym(A,标志)将数字标量或矩阵转换为符号形式。
转换浮点数的技术由指定
可选的第二个参数,可能是'f','r','e'或'd'。
'f':表示“floating-point”所有的数值都用N*2^e或-N*2^e这种形式表示
'r':表示“rational”(有理数形式)所有的浮点数都被表示成形如p/q(分数形式)、p*pi/q、2^q、10^q、sqrt(p)等形 式 (p、q都是符号型的有理数)
'e':表示“estimate error”这种形式会在'r'的基础上添加一个由包含eps的符号表达式表示的误差值。
'd':表示“小数”(十进制)
默认值是'r'。
sym(0.3,'r')(就是sym(0.3)) ans=3/10; sym(0.3,'f') ans='1.3333333333333'*2^(-2)(不懂这个什么意思) ;
sym(0.3,'d') ans=0.29999999999999998889776975374843 ; sym(0.3,'e') ans= 3/10-eps/20;
syms可以成批创建多个变量
3.class查找变量类型
>> a=0.888;
>> b=2;
>> c=3/10;
>> disp([class(a) ' ' class(b) ' ' class(c)]) (为什么b也是double的??,怎么才能定义为整形数据)
double double double
>> b=sym(2,'d');
>> disp([class(a) ' ' class(b) ' ' class(c)])
double sym double (sym也是一种类似于double的格式吗)
>> b=sym(2,'f');
>> disp([class(a) ' ' class(b) ' ' class(c)])
double sym double
4.