Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
提取matlab/倍频程符号表达式的特定部分?_Matlab_Octave_Symbolic Math - Fatal编程技术网

提取matlab/倍频程符号表达式的特定部分?

提取matlab/倍频程符号表达式的特定部分?,matlab,octave,symbolic-math,Matlab,Octave,Symbolic Math,如何在Matlab/Octave符号包中提取表达式的特定部分?在XCAS中,可以使用索引表达式,但在Octave/Matlab中找不到类似的表达式 例如,对于X=C*L*s**2+C*R*s+1,是否有方法通过X(2)或类似方式获得C*R*s 这将是很好的,这样做的因素太多X=(α+s)*(β**2+s**2)*(C*R*s+1),并具有X(2)给出(β**2+s**2) 谢谢 子项(,)执行此操作,但编写表达式的顺序不一定相同。在MATLAB和倍频程中,顺序也不同 扩展表达式: 在MATLAB

如何在Matlab/Octave符号包中提取表达式的特定部分?在XCAS中,可以使用索引表达式,但在Octave/Matlab中找不到类似的表达式

例如,对于
X=C*L*s**2+C*R*s+1
,是否有方法通过
X(2)
或类似方式获得
C*R*s

这将是很好的,这样做的因素太多<代码>X=(α+s)*(β**2+s**2)*(C*R*s+1),并具有
X(2)
给出
(β**2+s**2)

谢谢

子项
(,)执行此操作,但编写表达式的顺序不一定相同。在MATLAB和倍频程中,顺序也不同

扩展表达式: 在MATLAB中:

>> X1
X1 =
C*L*s^2 + C*R*s + 1

>> partsX1
partsX1 =
[ C*R*s, C*L*s^2, 1]
octave:1> X1
X1 = (sym)

      2            
  C⋅L⋅s  + C⋅R⋅s + 1

octave:2> partsX1
partsX1 = (sym 1×3 matrix)

  ⎡       2      ⎤
  ⎣1  C⋅L⋅s   C⋅R⋅s⎦
倍频程:

>> X1
X1 =
C*L*s^2 + C*R*s + 1

>> partsX1
partsX1 =
[ C*R*s, C*L*s^2, 1]
octave:1> X1
X1 = (sym)

      2            
  C⋅L⋅s  + C⋅R⋅s + 1

octave:2> partsX1
partsX1 = (sym 1×3 matrix)

  ⎡       2      ⎤
  ⎣1  C⋅L⋅s   C⋅R⋅s⎦

因式分解表达式: 在MATLAB中:

>> X2
X2 =
(a + s)*(C*R*s + 1)*(beta^2 + s^2)

>> partsX2
partsX2 =
[ a + s, C*R*s + 1, beta^2 + s^2]
octave:3> X2
X2 = (sym)

          ⎛ 2    2⎞            
  (a + s)⋅⎝β  + s ⎠⋅(C⋅R⋅s + 1)

octave:4> partsX2
partsX2 = (sym 1×3 matrix)

  ⎡                    2   2⎤
  ⎣C⋅R⋅s + 1   a + s   β + s ⎦
倍频程:

>> X2
X2 =
(a + s)*(C*R*s + 1)*(beta^2 + s^2)

>> partsX2
partsX2 =
[ a + s, C*R*s + 1, beta^2 + s^2]
octave:3> X2
X2 = (sym)

          ⎛ 2    2⎞            
  (a + s)⋅⎝β  + s ⎠⋅(C⋅R⋅s + 1)

octave:4> partsX2
partsX2 = (sym 1×3 matrix)

  ⎡                    2   2⎤
  ⎣C⋅R⋅s + 1   a + s   β + s ⎦
子项
(,)执行此操作,但编写表达式的顺序不一定相同。在MATLAB和倍频程中,顺序也不同

扩展表达式: 在MATLAB中:

>> X1
X1 =
C*L*s^2 + C*R*s + 1

>> partsX1
partsX1 =
[ C*R*s, C*L*s^2, 1]
octave:1> X1
X1 = (sym)

      2            
  C⋅L⋅s  + C⋅R⋅s + 1

octave:2> partsX1
partsX1 = (sym 1×3 matrix)

  ⎡       2      ⎤
  ⎣1  C⋅L⋅s   C⋅R⋅s⎦
倍频程:

>> X1
X1 =
C*L*s^2 + C*R*s + 1

>> partsX1
partsX1 =
[ C*R*s, C*L*s^2, 1]
octave:1> X1
X1 = (sym)

      2            
  C⋅L⋅s  + C⋅R⋅s + 1

octave:2> partsX1
partsX1 = (sym 1×3 matrix)

  ⎡       2      ⎤
  ⎣1  C⋅L⋅s   C⋅R⋅s⎦

因式分解表达式: 在MATLAB中:

>> X2
X2 =
(a + s)*(C*R*s + 1)*(beta^2 + s^2)

>> partsX2
partsX2 =
[ a + s, C*R*s + 1, beta^2 + s^2]
octave:3> X2
X2 = (sym)

          ⎛ 2    2⎞            
  (a + s)⋅⎝β  + s ⎠⋅(C⋅R⋅s + 1)

octave:4> partsX2
partsX2 = (sym 1×3 matrix)

  ⎡                    2   2⎤
  ⎣C⋅R⋅s + 1   a + s   β + s ⎦
倍频程:

>> X2
X2 =
(a + s)*(C*R*s + 1)*(beta^2 + s^2)

>> partsX2
partsX2 =
[ a + s, C*R*s + 1, beta^2 + s^2]
octave:3> X2
X2 = (sym)

          ⎛ 2    2⎞            
  (a + s)⋅⎝β  + s ⎠⋅(C⋅R⋅s + 1)

octave:4> partsX2
partsX2 = (sym 1×3 matrix)

  ⎡                    2   2⎤
  ⎣C⋅R⋅s + 1   a + s   β + s ⎦

children
会这样做,但您编写表达式的顺序将不会得到维护。这就是答案,如果您发布它,我将接受它。
children
会这样做,但您编写表达式的顺序将不会得到维护。这就是答案,如果您发布它,我将接受它。