精华内容
下载资源
问答
  • 将符号变量转换为 Matlab 方程字符串,... 仅所有输入变量都具有单个值时才有效。 即向量和数组将不起作用。 注2:eval() 不能直接作用于元胞数组。 使用“Cell_array{index}”让 eval() 保持愉快
  • Matlab中sym无法使用

    千次阅读 多人点赞 2020-12-13 18:08:19
    Matlab中sym失效1 问题:今日使用matlab符号库,发现sym已经不能正常使用了2 解决方案:使用str2sym即可3 更进一步3.1 废弃字符向量创建符号3.2 pi的属性 1 问题:今日使用matlab符号库,发现sym已经不能正常使用了 ...

    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 =
    pi
     
    ans =
        'sym'
    
    ans = 
        "variable"
    
    ans =
    2.0*pi
    

    pi是常量符号

    a = sym(pi)
    class(a)
    symType(a)
    vpa(2*a)
    
    a = 
    pi
     
    ans =
        'sym'
    
    ans = 
        "constant"
     
    ans =
    6.283185307179586476925286766559
    
    展开全文
  • 描述f = sym2fun( __ ) 将符号语句 fsym 转换为匿名函数句柄 f,其输入参数列 vars 。 输入对 symVec 和 repVec 包含符号向量和相应的数值向量表示。 输入参数的数据类型是: f:匿名函数句柄fsym:一个 NxM ...
  • matlab开发-sym2str

    2019-08-27 09:00:17
    matlab开发-sym2str。使用数组运算将符号变量转换为matlab字符串。
  • matlab中sym与syms的对比

    万次阅读 多人点赞 2019-01-08 12:19:28
    sym x x=1.5 最终结果都是x为double型的常量,注意:经过x=1,5这句后,就是常量了。 2.若写成下列形式,效果不一样。 syms x x=1.5 及 x=sym(‘1.5’) 前者x变为double型,后者x仍然为sym型,但变量被赋值1.5 ...

    1.若都写成下列形式,效果一样:

    syms x
    x=1.5

    sym x
    x=1.5
    最终结果都是x为double型的常量,注意:经过x=1,5这句后,就是常量了。

    2.若写成下列形式,效果不一样。

    syms x
    x=1.5

    x=sym(‘1.5’)
    前者x变为double型,后者x仍然为sym型,但变量被赋值1.5

    注意:没有x=syms(‘1.5’)这种形式,会报错,仅有x=sym(‘1.5’)
    3.总结:
    在刚用syms或sym定义好x后,x都是sym型的(没有syms型变量这一型)。
    即sym可以在创建变量同时赋值,赋值后仍然为sym型;而syms不能在创建同时赋值,如在后一行语句中赋值,如x=1.5,则x变为double型了。
    即sym所定义的x可以有一个具体的常数值,且保持syms型;而syms只能定义成变量,不能再赋值,若赋值,则不能保持sym型。
    若只需要用到变量x而不需要给他赋值时,可以用syms x,而若需要赋值,则用x=sym(‘常数’)

    个人见解,如有错误,欢迎讨论。

    展开全文
  • Matlab——sym和syms

    万次阅读 多人点赞 2019-04-25 18:54:45
    sym():使用的时候是一个函数; syms:我自己理解成一个关键字;(貌似存在当做函数的语法时候,不过使用极少) 参考Mathworks文档:sym——https://ww2.mathworks.cn/help/symbolic/sym.html?s_tid=srchtitle ...

    主要区别:

    sym():使用的时候是一个函数;

    syms:我自己理解成一个关键字;(貌似存在当做函数的语法时候,不过使用极少)

    参考Mathworks文档:sym——https://ww2.mathworks.cn/help/symbolic/sym.html?s_tid=srchtitle

                                        syms——https://ww2.mathworks.cn/help/symbolic/syms.html?s_tid=srchtitle

    区别详情:

    1> sym

                                                             

                 

    上图是官网给出的使用语法以及改进,可见sym()是作为函数在使用的,函数的话必然涉及到参数或者是返回值。

    因此,使用sym()需注意参数和返回值。参数可以是字符串也可以是数值,但是返回值一定是sym类型(符号类型)。切记   ---   一定是对接收sym()返回值的变量进行操作。

    sym使用实例

             解释结果:1、sym x    % 错误:已经取消这种用法,而且时刻记住sym()是作为函数来使用的。

                               2、sym('x')    % 正确,但是没有接收它返回值的变量,操作的时候一定是使用这个接收返回值的变量

                               3、最后一个是正确的操作,有参数有返回值。

    返回值类型

    2> syms

    syms使用相对来说就简单些了,看官网文档就可以理解的。

    不过需要注意一点:syms 是可以直接声明符号函数 f(x),并且可以对函数的形式进行赋值改变,但是sym()却不可以。

     

    如果想绘制符号函数可以使用 ezplot()  或者 ezsurf()

    展开全文
  • matlab中sym

    2021-09-08 09:43:12
    2、a = sym(‘y’) b= sym(‘7’) whos的结果是a和b symvar(a)和symvar(b)的结果是y和7 3、如果直接用syms定义符号变量,那么名字和内容是一样的 syms x y z 那么whos一下,结果是x y z ,symvar一下,结果也是 x y z...

    1、总是会混淆变量名和变量值的关系,有点晕啊

    2、a = sym(‘y’)
    b= sym(‘7’)
    whos的结果是a和b
    symvar(a)和symvar(b)的结果是y和7

    3、如果直接用syms定义符号变量,那么名字和内容是一样的
    syms x y z
    那么whos一下,结果是x y z ,symvar一下,结果也是 x y z

    展开全文
  • function hhh %初值(0.000016 0.000002 0.0125 11252 359 0.9 0.595 0.593 0.937 0.003 2.2125 300) DDR=1.6; TS=333; ms=0.01454; us=1069.6; Ps=99763; As=0.000015588;...eq1=sym('MS-MV'); eq2=sy
  • matlab中syms与sym有什么区别

    万次阅读 2015-03-31 15:16:32
    当然上面的也可以x=sym('x'),y=sym('y') sys('a+b')%就是将a+b转化为符号表达式 两者有不同的使用场合 比如符号变量涉及的个数比较少,但是使用频率比较高,那么就是使用syms 但是如果个数多,但是...
  • matlab的符号变量sym,syms

    万次阅读 多人点赞 2016-09-08 21:06:16
    当用sym生成多个符号变量时,MATLAB要报错 syms函数的功能比sym函数更为强大,它可以一次创建任意多个符号变量.而且,syms函数的使用格式也很简单,使用格式如下:  syms var1 var2 var3...  如:  syms x y z ...
  • 结合新疆X地区勘探实践,利用MATLABSym4小波对声波进行利用火成岩GR曲线重构和反演。研究表明:测井曲线重构将GR曲线的高频信息融合到声波曲线,能提高火成岩的识别精度;Sym4小波能减少对信号分析和重构时的相位...
  • matlab开发-SYMPOLY2SYM

    2019-08-26 16:26:58
    matlab开发-SYMPOLY2SYM。类似于poly2sym,但可以处理符号系数和不确定变量。
  • 基于MATLABSym4小波的测井曲线重构与火成岩反演应用.pdf
  • str2syms 计算 symstr,其中 symstr 是表示符号表达式的字符串。 除了 str2sym 之外,str2syms 调用者工作区中将未知变量声明为符号变量。 例子: SYMS XY y = x; z = str2syms('a + y') 创建符号变量 a z = +一
  • matlab求导代码sym_arrow 用于符号区分的C ++库。 Sym_arrow仅提供基本的代数功能,而专注于尽可能快地计算表达式的符号导数。 代码示例 一个完整的C ++程序,用于计算(未规范化)拉盖尔多项式和关联的拉盖尔多项式...
  • 将传递函数对象转换为符号对象。
  • 首先用sym将一个多项式存储F里面 1-f = sym(‘符号表达式’) % 定义符号表达式,并将它赋值给变量f 不行用str2sym 2.求反函数  调用函数:finverse  函数功能:求得符号函数的反函数  调用格式:finverse(f,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,564
精华内容 1,425
关键字:

在matlab中sym

matlab 订阅