机械必威体育网址

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 4924|回复: 7
打印 上一主题 下一主题

matlab 符号运算的化简问题

[复制链接]
跳转到指定楼层
1#
发表于 2016-2-20 17:49:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
首先来个简单' x; i! t+ t# g, ]; @" L5 ?# ~, v
& ~) x0 ^- ~0 v- s2 L0 t
>> syms t r a b q
  S+ X  o9 C2 Z) _! }# u>> x=r*cos(t)+a;
8 F) x+ {+ k+ T7 T>> y=r*sin(t)+b;# ?) b( ?2 ]5 {; D- O
>> X=-x*cos(q)-y*sin(q);/ y, N" V' u4 V3 i
>> simplify(X)- t$ o! \0 k0 [- [6 h) S3 D

+ ]. Y) s. e/ v% o- {& \. N1 a; vans =* y% p1 Q0 h5 B0 Q& P8 F' X% V
3 Q4 {0 Q7 b* o
- a*cos(q) - b*sin(q) - r*cos(q - t)   
$ [1 H  ]( e' T' S7 N6 `: L# N
1 A  t0 W  X' q. E# g复杂点   就不化简了
2 l& Q5 L  N1 a* P/ R" H% X
>> syms t r a b k q A. c6 U) x3 H' J( _/ C6 I
>>  x=r*cos(t)+a;
2 X/ j9 d* [( y! S+ h. v% |: ~' ~>> y=r*sin(t)+b;9 @' q' _1 n$ L, M9 x; p( N
>>  N=[-cos(k*q) -sin(k*q) cos(q);-sin(k*q) cos(k*q) sin(q)];
4 e6 v7 n" e* ^: L$ @+ F) ?$ a9 I; F>> M=[x;y;A];! m- B- |3 @, R0 A8 e
>> NM=N*M
( |  B/ X+ P6 r0 \; v . f7 W5 V; D7 l" C) Q
NM =7 R9 o* T0 H/ u; H8 N
. X0 T1 N& n" r0 V) s' v
A*cos(q) - cos(k*q)*(a + r*cos(t)) - sin(k*q)*(b + r*sin(t))) V; `' l: U  E$ L3 ^( a
cos(k*q)*(b + r*sin(t)) - sin(k*q)*(a + r*cos(t)) + A*sin(q)7 P/ j% \$ V% n

* a% Y/ B- l. w% q0 D9 F$ ~- r>> x1=A*cos(q) - cos(k*q)*(a + r*cos(t)) - sin(k*q)*(b + r*sin(t));
9 ]1 [7 X: }" m$ A- [! q>> simplify(x1)
6 e! w& \3 L6 @; z4 e( S% ~
5 h9 Z; u3 p6 _% G' P/ Aans =# P& T" s' L# m; K4 u8 `" Y, l$ k$ t

! D/ V$ d$ p4 m0 x3 o+ _A*cos(q) - cos(k*q)*(a + r*cos(t)) - sin(k*q)*(b + r*sin(t))       化简无效果    按正常应该是  

: i' _; j6 L8 @: K7 P
2 v3 J) ]! Q. T" t2 \
A*cos(q) - a*cos(k*q) - b*sin(k*q)-r*cos(k*q-t)% M9 J) A) P4 g2 P, Y; Q0 K' \& w

6 }" V/ G: j: ?. Z* K# R>> y1=cos(k*q)*(b + r*sin(t)) - sin(k*q)*(a + r*cos(t)) + A*sin(q);5 r3 p9 |$ s$ I
>> simplify(y1)+ a( I7 y) `, g$ P  k1 j4 T/ `8 O2 Q

$ M+ F  R, M) k% ^$ J1 ^, qans =) _1 u: \0 T1 z9 q: F
: i0 m% D5 |  t2 }! D
cos(k*q)*(b + r*sin(t)) - sin(k*q)*(a + r*cos(t)) + A*sin(q)

6 F# F) B9 _2 }, E" G. A4 M- o  H1 H# X( o" c5 v% |  O9 L
回复

使用道具 举报

2#
发表于 2016-2-20 18:27:03 | 只看该作者
simplifty函数要有控制参数才会按照你想像的运算。
回复 支持 反对

使用道具 举报

3#
 楼主| 发表于 2016-2-20 18:33:16 | 只看该作者
明月山河 发表于 2016-2-20 18:27 0 Q& d. K, ^8 d2 v0 }2 H; _
simplifty函数要有控制参数才会按照你想像的运算。
' C- M9 F& u8 J, D; ^
大侠   能举个例子吗   我这个不懂
回复 支持 反对

使用道具 举报

4#
发表于 2016-2-20 18:38:11 | 只看该作者
shouce 发表于 2016-2-20 18:33 - |2 Q5 R6 O- D: G: d4 u0 `1 z' r2 R
大侠   能举个例子吗   我这个不懂
) t$ O4 U2 p3 L6 P& d8 |
http://blog.sina.com.cn/s/blog_636a8b120100jnyt.html+ K% l3 t6 d9 q( k( C! v7 H9 b% y
; j. V0 m4 l1 |, i9 o
3.带有附加条件的化简
' L0 Z! N4 z9 e) V: M$ v( C
>simplify(expr,{x*y=1});
# \6 W7 a; y. I1 d' m' X* l; b>siderel:=x^2+y^2=1;
7 D- H# s7 `5 i) i9 @' |>simplify(expr,{siderel},[y,x]);: e. q" V% X3 h; v/ y; m$ D" N
#maple在表达式中作代换y^2=1-x^2,然后再试图对x^2做代换,由于找不到,就停止了  M, K' B2 G9 g7 u$ [8 {: z) ?& m
4.展开与组合8 A( E8 n* n! a( ~/ F
expand &combine' H# R* j8 p0 A% ]2 t
combine是与expand相反的命令,它可以按照数学规则将表达式中的某些项组合在一起
: _$ R4 E: R' f. E
! _. M! t* u9 X& k$ O- r3 r: O8 B! }$ U

( ^$ Q1 \2 ?: \6 Lmatlab是用的maple的符号运算内核,使用规则一样。
8 N$ ]3 F! o9 K7 B* X* D4 b

9 o& \" I% a" f: e* J& a
回复 支持 反对

使用道具 举报

5#
 楼主| 发表于 2016-2-20 18:42:54 | 只看该作者
明月山河 发表于 2016-2-20 18:38 5 [7 W+ c% n' I" l+ p' q! G
http://blog.sina.com.cn/s/blog_636a8b120100jnyt.html
: [" I: B2 W7 w* m- k
. J1 H4 ]; G% J! ^3 n* ^3.带有附加条件的化简
* N; ~. [& ?7 q3 i
多谢了   等下去试试) ?) |( Q- Z8 i+ g6 D
回复 支持 反对

使用道具 举报

6#
 楼主| 发表于 2016-2-20 19:09:49 | 只看该作者
明月山河 发表于 2016-2-20 18:38
) Z7 |, `$ N8 r1 X+ v/ q: c$ o2 Z! Qhttp://blog.sina.com.cn/s/blog_636a8b120100jnyt.html
3 `% T$ N* o7 x
/ {6 [5 f* m7 p* \6 a! A1 |# ]3.带有附加条件的化简

" ~1 ]: J. O5 x试了下还是不行   可能matlab和maple 使用不一样
& ^( {5 @" R! m1 Z" o' z) z* {% ]
>> syms x
4 t7 s" r  n) I' _6 r/ ^# j. M>> combine(sin(x)^2+cos(x)^2)   
/ ?9 i4 N4 K1 Y! d/ ^$ Q
! c# }* h( |$ }; B( ]" n( V! g
ans =
! `1 T1 s7 y# j# s" Q. \
$ I, H1 D) r. |' B" wcos(x)^2 + sin(x)^2          这个不化简单
8 [8 E  ]4 i" v# D* f" j ! f! c6 g) Z$ B/ l1 z% ]
>> simplify(sin(x)^2+cos(x)^2)
3 {+ K% u, `9 o! u) v0 B
/ }4 D. E+ G% E% ?/ q8 Lans =$ u/ {5 ?2 I$ C5 k( O

; S+ k7 J  R1 }: j2 B0 l$ C1
( T9 d: C$ O% Y
& m* }) R# J' u+ D% r  Y. d
3 }% E" Z) m" b: |( W
>> syms x
# T5 h* a/ T& p' l1 R" s1 [; p>> A=sym('ln(3*x)+sin(x)^2+cos(x)^2')
: ~9 }% K- x9 _
) k' L; O5 M4 {) ~/ d; G; u* UA =+ l# i2 T' u. G3 P( }

4 W# o: l5 B* T1 R& Tlog(3*x) + cos(x)^2 + sin(x)^2
5 F+ `7 S8 P" h" l$ D  M' x , q9 v$ h8 I# @9 N- O
>> simplify(A)
8 M& m. l: t( }# E . ]+ B! J2 I7 e9 M- e1 [
ans =
8 q9 n% l7 }9 g, I' V
  V& r2 a: U4 x/ \  [; Ylog(3*x) + 10 P+ i. w" s) r! D% U. R2 f5 g

; b1 i% I/ k$ i$ d5 w
" x/ I3 `, h1 r) Z$ F5 t* G

( l8 E7 _& p* E3 j1 Z! R: m. t>> simplify(A,x)
$ z$ K, N4 g2 ~. W( C6 ?# l错误使用 sym/simplify (line 99)9 m9 F  m+ E/ M7 o3 a
Too many input arguments.
8 i, \1 [2 P& `( ~2 D% x
3 |' K* l- Q0 Z+ c

点评

那就不清楚了。  发表于 2016-2-20 19:38
回复 支持 反对

使用道具 举报

7#
发表于 2016-2-20 19:28:09 | 只看该作者
matlab大学里学完了,我就在也没有用过了,已经看不懂了
回复 支持 反对

使用道具 举报

8#
 楼主| 发表于 2016-3-23 23:44:22 | 只看该作者
>>  expand(x1)
; Y: T# }* U. I" s6 Ians =
+ D- F8 J! ]/ t$ [; V" q, Q; YA*cos(q) - b*sin(k*q) - a*cos(k*q) - r*cos(k*q)*cos(t) - r*sin(k*q)*sin(t)
$ [2 S& s. ?  A7 k, C- D6 s>> KMM=sym('A*cos(q) - b*sin(k*q) - a*cos(k*q) - r*cos(k*q)*cos(t) - r*sin(k*q)*sin(t)')
9 l7 R8 N9 n& F8 j6 NKMM =% ]5 B. k, t! v. D9 |
A*cos(q) - b*sin(k*q) - a*cos(k*q) - r*cos(k*q)*cos(t) - r*sin(k*q)*sin(t)9 [; O- {7 i" T2 N5 J+ C! |0 ?
>> simplify(KMM)
( O+ S7 v4 A" kans =
7 w6 ^1 W! \* Q; E* _$ EA*cos(q) - a*cos(k*q) - b*sin(k*q) - r*cos(t - k*q), \8 e+ b/ X9 y3 \8 P
9 m. y, b. f- q7 z2 _3 A
要先展开然后合并

- N  f$ o; J& k# {1 j# d
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

小黑屋|手机版|Archiver|机械必威体育网址 ( 京ICP备10217105号-1,京ICP证050210号,浙公网安备33038202004372号 )

GMT+8, 2025-2-19 06:52 , Processed in 0.065187 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表