日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Maple 公式推导

發(fā)布時(shí)間:2025/3/15 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Maple 公式推导 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Maple 公式推導(dǎo)??

2012-03-24 13:07:35|??分類: 學(xué)習(xí) |??標(biāo)簽:maple?? |舉報(bào) |字號?訂閱

即以此功德,莊嚴(yán)佛凈土。上報(bào)四重恩,下救三道苦。惟愿見聞?wù)?#xff0c;悉發(fā)菩提心。在世富貴全,往生極樂國。

阿英按:個(gè)人認(rèn)為公式推導(dǎo)最主要的就是“代入”和“化簡”兩步,大家抓住這兩步其實(shí)就夠用了,其他的用到了再查啊,阿彌陀佛!

① 選擇哪個(gè)函數(shù)進(jìn)行變量替換?

Maple中是subs函數(shù),algsubs函數(shù)和simplify函數(shù)。

原來我不知道要把一個(gè)表達(dá)式帶入另外一個(gè)表達(dá)式要用algsubs函數(shù),subs函數(shù)僅僅只能替換一個(gè)變量而已,比如z=a+b, 如果x+y是一個(gè)通項(xiàng)中的operand,則有x + y = a + b + c ;algsubs一次能替換一個(gè)表達(dá)式中的某些中間項(xiàng),比如algsubs( a+b=d, 1+a+b+c );中a+b就是表達(dá)式1+a+b+c中的中間項(xiàng)。

②? 公式推導(dǎo)中要使用哪些函數(shù)?

factor, combine, expand, subs,algsubs,simplify, convert,alias

③? 變量的約束條件如何加?

變量的約束條件由assume給出,如assume(x>0); 經(jīng)過assume后的x后邊跟了一個(gè)flag,顯示為"x~"; about(x)是查詢x的約束條件是什么;在assume的基礎(chǔ)上附加一個(gè)assumption,通過additionally函數(shù),例如additionally(x<2); 去除所有約束采用x := 'x';

?

例1: subs 單變量替換

p := (x+y)^2 + 1/(x+y)^2;

normal(p); (* normal(f) The expression f is converted to factored normal form. This is the form numerator/denominator, where the numerator and denominator are relatively prime polynomials with integer coefficients. *)

?我們希望p的分子上包含(x+y)^4的項(xiàng),我們可以令 z = (x + y),然后代入p的表達(dá)式。

pz := subs(x+y=z,p);? (*替代規(guī)則是將 x+y = z 等式左手邊的項(xiàng)x+y用右手邊的項(xiàng)z替代,然后代入多項(xiàng)式p中*)

?npz := normal(pz);

?q := subs(z = x + y, npz);


(*下面做一個(gè)簡要的說明,關(guān)于op函數(shù)的用法*)

op([2,1], q);??? (*op是取出表達(dá)式q中的operand,前面[2,1]是個(gè)列表,表示以q的第二個(gè)操作數(shù)為新的子表達(dá)式,取出該子表達(dá)式中的第一個(gè)操作數(shù),具體分解見下面執(zhí)行結(jié)果*)

?(* 言歸正傳:subsop - substitute for specified operands in an expression *)

subsop([2,1] = x-y,q);??? (* 將q中嵌套的操作數(shù) [2,1] = (x+y) 用(x-y)替換?,嵌套的operand用[2,1]表示我以前不知道 *)

?

例2: subs 嵌套替換和多個(gè)變量同時(shí)替換

p := a + 2*b + 3*c;? (*定義一個(gè)新的多項(xiàng)式*)

subs(a=b, b=c, c=a, p); (*我以前不知道原來是從左到右依次嵌套替換,此句的效果與 subs(c=a,subs(b=c,subs(a=b,p))); 等價(jià)*)

?(* The substitutions within a set or list are performed simultaneously,如果要同時(shí)替換p中的多個(gè)變量,需要將各個(gè)替換等式用花括號或者方括號括起來 *)

subs({a=b, b=c, c=a}, p);

subs([a=b, b=c, c=a], p);

?例3:如何用一個(gè)子表達(dá)式替換表達(dá)式中的一部分,將一個(gè)表達(dá)式帶入另外一個(gè)表達(dá)式不能用subs函數(shù),而是要用algsubs函數(shù)。

p := a + 2*b + 3*c;

subs(a+b=c,p);

algsubs(a+b=c,p);


例4: expand 命令,matlab中也由此命令expand命令,matlab中 expand((x+1)^3)?? returns? x^3+3*x^2+3*x+1

p := (a+b+c)*(x^3 + 9*x + 8);

expand(p);? (* expand命令的作用是將多項(xiàng)式乘開 *)

(*?下面的內(nèi)容演示如何在expand過程中保持第二個(gè)operand?不變 *)

?op(2,p);?? (* p的第二個(gè)因子?,第二個(gè)operand,這里打印出來看看是啥東東?*)

q := subsop(2=z,p);?? (* 將p的第二個(gè)operand用z代替?*)

eq := expand(q);

eq := subs(z=op(2,p),eq);


p2 := op(2,p);

irreduc(p2);?? (* p2是不可化簡的?*)

alias(alpha=RootOf(p2));? % alias就是變量替換,這個(gè)在化簡的過程中也有用

ap := (alpha + 1)^7;

expand(ap);

evala(%);


例5. factor的數(shù)域擴(kuò)展,factor僅僅分解到有理數(shù)就停止了,下面的例子演示如何通過數(shù)域擴(kuò)展,在無理數(shù)域進(jìn)行?因式分解

p := x^2 + 2;

factor(p);

factor(p,{sqrt(2),I});

?fp := polytools[split](p,x);?? % polytools[split] - complete Factorization of a Polynomial

rfp := convert(fp,radical);

map(evalc,rfp);? % 我以前不知道要map一下,注意與evalc(rfp);的結(jié)果有差異

evalc(rfp);

總結(jié)

以上是生活随笔為你收集整理的Maple 公式推导的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。