Matlab中sym失效

  • 1 问题:今日使用matlab符号库,发现sym已经不能正常使用了
  • 2 解决方案:使用str2sym即可
  • 3 更进一步
    • 3.1 废弃字符向量创建符号
    • 3.2 pi的属性

1 问题:今日使用matlab符号库,发现sym已经不能正常使用了

下面是创建一个exp(x)的符号,发现已经不能正常使用了
注意:笔者matlab是2020a。

>> y1 = sym('exp(x)')
Error using sym>convertChar (line 1537)
Character vectors and strings in the first argument can only specify a variable or number. To evaluate character vectors
and strings representing symbolic expressions, use 'str2sym'.Error in sym>tomupad (line 1253)S = convertChar(x);Error in sym (line 220)S.s = tomupad(x);

2 解决方案:使用str2sym即可

根据提示使用str2sym()即可

>> y1 = str2sym('exp(x)')

或者

>> y1 = exp(sym('x'))

下面解释

3 更进一步

我已经在帮助文档中,找到了答案

  1. 从matlab 2018a开始废弃字符向量创建符号
  2. 从matlab 2020a开始更改pi的属性

3.1 废弃字符向量创建符号

如下,以前创建下面的符号方程,是没有问题的。

equ = sym('a+b+c')

可是,细究一下,你会发现,已经提前默认a,b,c是符号了!!!
新版本,否定了这样的做法,用str2sym替代

equ = str2sym('a+b+c')

或则,用通用的方法,也就是提前定义好符号变量a,b,c

syms a b c;
equ = a+b+c

总之,新版本中推荐,变量应该先定义好后使用的原则,这也符合大多数编程语言的习惯
注意,符号方程也改变了些

>> syms a b c;
>> equ = a+b+c==0

这里用的,两个等号。。。这和octave的手法一致哦
当然,下面也是可以的,只需要把sym改成str2sym即可

equ = str2sym('a+b+c=0')

3.2 pi的属性

在2020a,可以把pi视作常量符号,而不是变量符号。
pi是变量符号

a = sym('pi')
class(a)
symType(a)
vpa(2*a)
a =
pians ='sym'ans = "variable"ans =
2.0*pi

pi是常量符号

a = sym(pi)
class(a)
symType(a)
vpa(2*a)
a =
pians ='sym'ans = "constant"ans =
6.283185307179586476925286766559

Matlab中sym无法使用相关推荐

  1. 关于matlab中help无法使用的解决办法(点开后是空白)

    关于matlab中help无法使用的解决办法(点开后是空白) 点击matlab"主页",在上面一排图标中找到"预设" 在出现的页面中最左边一栏点击"帮 ...

  2. matlab中sym(3 4),Matlab中sym 的用法

    Matlab中sym有6种用法,"sym x;"是不正确的用法. 1.S = sym(A) 将非符号对象(如,数字,表达式,变量等)A转换为符号对象,并存储在符号变量S中. 2.x ...

  3. matlab中sym看不到值和属性,matlab 用sym定义了x,但是输入函数却显示“未定义函数或变量 'x'”?...

    答:亲,是syms x,或者是sym('x')来定义x是符号变量 答:matlab2018a中出现未定义函数或"ploy2sym",怎么改要分情况 情况一:符号变量 必须要定义,定 ...

  4. matlab中sym与syms的对比

    1.若都写成下列形式,效果一样: syms x x=1.5 及 sym x x=1.5 最终结果都是x为double型的常量,注意:经过x=1,5这句后,就是常量了. 2.若写成下列形式,效果不一样. ...

  5. matlab符号表达式vpa,对MATLAB中符号和数值型数据以及sym(),sym(''),sym(,'d'),vpa()的理解【更新版】...

    对MATLAB中符号和数值型数据以及 sym(),sym(''),sym(,'d'),vpa()的理解 [说明:正文中命令部分可以直接在matlab中运行,作者用的是MA TLAB R2009a(7. ...

  6. matlab double to int,如何将matlab中的sym数据类型转换为double型

    满意答案 a19850429 推荐于 2016.11.30 采纳率:47%    等级:8 已帮助:862人 一般来说用dec2hex及hex2dec就可以. ss='010600001388849C ...

  7. Matlab中巧用LaTex

    http://blog.csdn.net/zd0303/article/details/7536967 众所周知,大多数科研工作者(大Boss或者象我们一样的学术打工仔)都会用到Matlab生成图片, ...

  8. img=img%3e128 matlab,Matlab中一般的数值计算和使用

    前言 Matlab中的计算可以分为符号计算和数值计算 前面所讲的都是数值计算,今天我们来讲关于符号计算 符号计算的第一步就是 定义符号 syms a,b,c %定义多个符号变量a,b,c sym(a) ...

  9. MATLAB中的微积分运算(数值符号)

    显然这个函数是单词differential(微分)的简写,用于计算微分.实际上准确来说计算的是差商. 如果输入一个长度为n的一维向量,则该函数将会返回长度为n-1的向量,向量的值是原向量相邻元素的差, ...

最新文章

  1. 公司又有人被开除了,这次真的是...
  2. C++显式隐式构造函数
  3. 6,bash入门,for 循环, 编写最简单的脚本
  4. linux route命令的使用详解
  5. Leetcode 124.二叉树中的最大路径
  6. 在 VS 类库项目中 Add Service References 和 Add Web References 的区别
  7. 均值与标准差函数MATLAB
  8. 通过PS营造艺术的碎片效果人像
  9. 佐治亚理工学计算机硕士,美国计算机专业硕士留学推荐:佐治亚理工学院
  10. 电大管理英语4计算机期末考试,2021国家开放大学电大本科《管理英语4》期末试题及答案(试卷号:1389)...
  11. android框架百大排行榜
  12. dell 台式电脑设置每天定时开机和关机
  13. TDB Can't open database at location /path/to/db as it is already locked by the process with PID
  14. mysql cbrt函数_Hive FUNCTIONS函数
  15. matlab层模型弹塑性分析,matlab弹塑性时程分析法编程
  16. [Hive举例]-- hive获取今天、昨天、明天和前一个小时、后一个小时的日期
  17. linux hosts的allow和deny
  18. 基于51单片机的智能门禁控制系统(仿真+源码+全套资料)
  19. 电脑管理android手机版下载失败怎么办,腾讯手机管家PC版轻松解决Android文件管理难题...
  20. 名悦集团:女司机第一辆车买手动挡还是自动挡?

热门文章

  1. python夯实基础日记-for循环、优化技巧、函数
  2. C++二维数组的初始化赋值及示例
  3. Windows批处理脚本的定时操作
  4. 最不该减负的,是孩子
  5. 2014 SuperMap GIS自主创新与应用研讨会资料集
  6. 厉害了,我的中国造@主动发力还是借力打力?——思华科技18年自主创新经验谈(上篇)...
  7. [AcWing] 104. 货仓选址(C++实现)贪心---绝对值不等式例题
  8. 使用nid修改dbname和dbid
  9. 掌财社:新手学习嵌入式用什么语言编程?
  10. vue + 微信获取用户信息