提取matlab/倍频程符号表达式的特定部分?
如何在Matlab/Octave符号包中提取表达式的特定部分?在XCAS中,可以使用索引表达式,但在Octave/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
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
会这样做,但您编写表达式的顺序将不会得到维护。这就是答案,如果您发布它,我将接受它。