求解含参数方程组以及带入数值
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、求解含参方程组
举个简单例子,解方程组
x+A*y=10
x-B*y=1ﻫ其中x,y为变量,A,B为字母系数。
只要在Matlab中输入ﻫsyms x,y,A,B
[x y]=solve('x+A*y=10','x-B*y=1','x','y')ﻫ即可求出解ﻫx =(A + 10*B)/(A + B)
y = 9/(A + B)
我的例子
求解:
ﻩ
2
2
()()()()0 (1)
()()()()()0 (2)
s s s s s s u
u s s r u s s s r r
m s c s k X s c s k X s
m s c s k k X s c s k X s k X s
++-+=
+++-+-=
(1)(2)同时除以()
r
X s,并令()()/(),()()/()
s s r u u r
G s X s X s G s X s X s
==
则:
2
2
()()()()0 (3)
()()()()0 (4)
s s s s s s u
u s s r u s s s r
m s c s k G s c s k G s
m s c s k k G s c s k G s k
++-+=
+++-+-=
显然是二元一次方程,可以用matlab求解:
得:
即:
2
432
432
()
() (5)
()()
()
() (6)
()()
r s s s
u
u s s s u r s s s s u s s r s
r s s
s
u s s s u r s s s s u s s r s
k m s c s k
G s
m m s c m m s k m k m k m s k c s k k
k k c s
G s
m m s c m m s k m k m k m s k c s k k
++
=
+++++++
+
=
+++++++
二、将参数带入
(方法:matlab中subs()是符号计算函数,表示将符号表达式中的某些符号变量替换为指定的新的变量,常用调用方式为:
subs(S,OLD,NEW) 表示将符号表达式S中的符号变量OLD替换为新的值NEW。下面具体演示4种不同形式的OLD和NEW的调用效果:
首先在matlab命令窗口输入如下代码,定义三个符号变量和一个符号表达式S
1、将变量x替换为数值1:subs(S,x,1)
2、将变量x替换为变量z: subs(S,x,z)
3、同时将变量x和y分别替换为1和z:subs(S,{x,y},{1,z})
4、将单变量替换为数组:sub s(S,x ,[1 2;3 4])
)
我的求解:
将各个变量的数据带入Gu,Gs :
1010;175;756/;100/; 6.6/s u r s s m kg m kg k kN m
k kN m c
kNs m =====
得
:
即:
2432
432
7635604989.675600
() (7)17675078218820604989.6756004989.675600
() (8)17675078218820604989.675600
u s s s G s s s s s s G s s s s s ++=+++++=++++