這個已經沒法再相除,只有被除式的次數不低于除式的次數時才能列除式計算。 這個題可把結果直接看作分式:2x/(1+x2),如果是為了求值域,可以作變形: 即分子與分母都除以x,而得到:2/[(1/x)+x],然后分母上再用均值定理等。
本文我們將從以下幾個部分來詳細介紹如何將多項式相乘:將兩個單項式相乘、將一個單項式和一個二項式相乘、將兩個二項式相乘、單項式與三項式相乘、兩個多項式相乘、參考
多項式是由常數和變量組成的一串數學表達式。多項式相乘的方法取決每個于多項式內包含的項數。下文中將告訴你如何將多項式相乘。第一部分:將兩個單項式相乘
這個應該是多項式的因式分解問題,目前沒有通用的方法, 但對兩個多項式求公因子,是有方法的,如輾轉相除法
第1步:觀察題目。
用因式分解就能解決了,視具體情況而定.比如x^3-2*x^2+x,先提公因式,x(x^2-2x+1)=x(x+1)(x-1)一般能合并的都是可以進行因式分解的,所以不用怕合并不了.
如果題目中只包含兩個單項式,那就只需要做乘法就可以了,不需要做加減法。
8m+9>0 移項的時候要變號 8m>-9 m>-9/8 乘或除小于零的數時要變號,同時不等號也要改變方向。 如果乘或除一個包含未知數的單項式或多項式時,必須要根據這個單項式或多項式是大于零或是小于零來考慮是否變號。
一個只含兩個單項式的多項式相乘問題通常是下面的形式:(ax) * (by); or(ax) * (bx)。
X^3-5X^2+8X-4=(x^3-5x^2+6x)+(2x-4)=X(x-2)(x-3)+2(x-2)=(x-2)[x(x-3)+2] =(x-2)[x^2-3x+2]=(x-2)[(x-2)(x-1)]=(x-1)*(x-2)^2. 你的猜想很正確,只不過你沒有想到用分解因式。
例如:2x * 3y
#include #include #include #define EPS 1E-6typedef struct item {double coefficient;int power;struct item *next;} *POLYNOMIAL,*pItem;POLYNOMIAL Create() { // 創建多項式pItem head,p;double coe;int pwr,iterms,i;head = p = (pItem)m
例如: 2x * 3x
你的意思是自己編寫矩陣乘法吧,否則直接調用matlab得 * 函數就得了 驗證成功,可以運行 x=rand(3,4); y=rand(4,5); [row1, col1] = size(x); [row2, col2] = size(y); if col1 ~= row2 disp(input is error); else result = zeros(row1, col2);
注意這里的a和b代表常數項,x和y代表自變量。
當然不是啊,行列式的值是多項式,這道題剛好得到兩個一次多項式相乘得到二次多項式嘛。完全取決于行列式的結果啊,跟2*2完全沒關系。
第2步:將常數項相乘。
如果這兩個多項式分別有M項和N項,那么程序的時間復雜度是O(m*n). 主要代碼如下: PolyNode *AddPoly(PolyNode *pa,PolyNode *pb) /*求兩個多項式的和*/ { PolyNode *pc,*p1=pa->next,*p2=pb->next,*p,*tc,*s; pc=(PolyNode *)malloc(sizeof(Pol
常數項是指題目中的數字。將這些數字按照乘法表格中的方法相乘。
多項式與多項式相乘, 將一個多項式的每一項去乘另一個多項式的每一項, 加號與減號的原則:同號得正,異號得負。
換句話說,在這個問題里,我們把a和b相乘。
可以用判別式 如2x^2-x-3=0, 判別式=(-1)^2-4*2*(-3)=1+24=25, 如果是完全平方數,就可以 再試一個,如-x^2/2+5x/2-3=-1/2(x^2-5x+6) [先提取-1/2], 小括號里,判別式=1,是完全平方,所以原式=-1/2(x-2)(x-3) 以上供參考。
例如:2x * 3y
#include #include #include #define EPS 1E-6typedef struct item {double coefficient;int power;struct item *next;} *POLYNOMIAL,*pItem;POLYNOMIAL Create() { // 創建多項式pItem head,p;double coe;int pwr,iterms,i;head = p = (pItem)m
= (6)(x)(y)例如:2x * 3x = (6)(x)(x)
將一個多項式因式分解,若分解出來的各個因式都是最簡的形式,即在實數及有理數范圍內不能再分解了,那么乘積的表達式是唯一的。
第3步:將自變量相乘。
(2x-4+1)^2+(2y-3)^2 =4 (2x-3)^2+(2y-3)^2 =4 4(x- 3/2)^2+4(y- 3/2)^2 =4 (x-3/2)^2+(y- 3/2)^2 =1 圓心=(3/2, 3/2) 半徑=1
自變量是指等式中的字母。將自變量相乘時,不同的自變量寫在一起就可以,相同的自變量需要寫成冪次形式。
笨辦法,逐一展開 =(ma+mb+na+nb)*(e+f) =mae+maf+mbe+mbf+nae+naf+nbe+nbf
將相同的自變量相乘意味著增加這個自變量的冪次。
就是分解因式: 6x3+8x2-6x-8 =(6x3-6x)+(8x2-8) =6x(x2-1)+8(x2-1) =(x2-1)(6x+8) =2(x2-1)(3x+4) =2(x+1)(x-1)(3x+4)
換句話說,你要把x和y或x和x相乘。
用matlab的符號運算功能: syms x fx1 fx2 fx3 fx1=2+3*x^(-1) fx2=2*x+3*x^(-1)+4*x^(-1) fx3=fx1*fx2
例如:2x * 3y
#include #include #include #define EPS 1E-6typedef struct item {double coefficient;int power;struct item *next;} *POLYNOMIAL,*pItem;POLYNOMIAL Create() { // 創建多項式pItem head,p;double coe;int pwr,iterms,i;head = p = (pItem)m
= (6)(x)(y) = 6xy例如:2x * 3x = (6)(x)(x)
將一個多項式因式分解,若分解出來的各個因式都是最簡的形式,即在實數及有理數范圍內不能再分解了,那么乘積的表達式是唯一的。
= 6x^2第4步:寫出最后的形式。
將題目完全化簡后,不能再有沒有合并的同類項。
,(ax) * (by)的結果應當是abxy。類似的(ax) * (bx)的結果應當是abx^2。
例如: 6xy
例如:6x^2
第二部分:將一個單項式和一個二項式相乘
第1步:觀察問題。
在單項式與二項式相乘的問題中,一個多項式中只含有一個單項,另一個多項式中含有兩項,這兩項間用加號或減號相連。
單項式和二項式相乘的問題通常是下面的形式:(ax) * (bx + cy)
例如: (2x)(3x + 4y)
第2步:將單項式與二項式中的每一項單獨相乘。
將問題重新寫一遍,寫成用單項式與二項式中的每一項分別相乘的形式。
上一步驟之后,題目的形式應該是:(ax * bx) + (ax * cy)。
例如:(2x)(3x + 4y) = (2x)(3x) + (2x)(4y)
第3步:將常數項相乘。
常數項指的是題目里的數字項。將常數項按照乘法表格的方法相乘。
換句話說,在這一類問題中,需要將a,b和c相乘。
例如:(2x)(3x + 4y) = (2x)(3x) + (2x)(4y) = 6(x)(x) + 8(x)(y)
第4步:將變量相乘。
自變量是指等式中的字母。將變量相乘時,不同變量擺在一起即可,如果將相同變量相乘,則需要增加變量的冪次。
換句話說,你需要將方程里的x和y相乘。
例如:(2x)(3x + 4y) = (2x)(3x) + (2x)(4y) = 6(x)(x) + 8(x)(y) = 6x^2 + 8xy
第5步:寫出最后的答案。
這種類型的多項式相乘的問題一般都很簡單,不需要再合并同類項。
最終答案的形式為:abx^2 + acxy。
例如:6x^2 + 8xy
第三部分:將兩個二項式相乘
第1步:觀察題目。
用因式分解就能解決了,視具體情況而定.比如x^3-2*x^2+x,先提公因式,x(x^2-2x+1)=x(x+1)(x-1)一般能合并的都是可以進行因式分解的,所以不用怕合并不了.
題目中包含兩個多項式,每個多項式中含有兩項,這兩項間以加號或減號連接。
這個類型的多項式相乘的問題通常是下面的形式:(ax + by) * (cx + dy)。
例如:(2x + 3y)(4x + 5y)
第2步:利用FOIL方法來展開每一項。
FOIL是解釋如何將多項式展開的首字母縮寫,分別代表第一項(first),外項(outside),內項(inside)以及最后一項(last)。
展開后多項式相乘的問題轉變為下面的形式:(ax)(cx) + (ax)(dy) + (by)(cx) + (by)(dy)
例如:(2x + 3y)(4x + 5y) = (2x)(4x) + (2x)(5y) + (3y)(4x) + (3y)(5y)
第3步:將常數項相乘。
常數項指的是題目里的數字項。將常數項按照乘法表格的方法相乘。
換句話說,在這一類問題中,需要將a,b,c和d相乘。
例如:(2x)(4x) + (2x)(5y) + (3y)(4x) + (3y)(5y) = 8(x)(x) + 10(x)(y) + 12(y)(x) + 15(y)(y)
第4步:將變量相乘。
自變量是指等式中的字母。將變量相乘時,不同變量擺在一起即可,如果將相同變量相乘,則需要增加變量的冪次。
換句話說,你需要將方程里的x和y相乘。
例如: 8(x)(x) + 10(x)(y) + 12(y)(x) + 15(y)(y) = 8x^2 + 10xy + 12xy + 15y^2
第5步:合并同類項,寫出最后的結果。
這一類問題比較復雜,可能會產生同類項,意味著會出現兩項或更多項具有相同的變量形式。如果出現這種情況,就需要將同類項相加減以得到最后的結果。
最后的結果形式為:acx^2 + adxy + bcxy + bdy^2 = acx^2 + abcdxy + bdy^2。
例如:8x^2 + 22xy + 15y^2
第四部分:單項式與三項式相乘
第1步:觀察問題。
這類問題中含有兩個多項式,一個是單項式,一個含有三項,三項之間由加號或減號相連接。
由單項式與三項式相乘的問題通常是下面的形式:(ay) * (bx^2 + cx + dy)。
例如:(2y)(3x^2 + 4x + 5y)
第2步:將單項式與三項式中的每一項分別相乘。
將問題改寫成單項式與三項式中的每一項分別相乘的形式。
重新寫過之后,方程形式變為(ay)(bx^2) + (ay)(cx) + (ay)(dy)
例如: (2y)(3x^2 + 4x + 5y) = (2y)(3x^2) + (2y)(4x) + (2y)(5y)
第3步:將常數項相乘。
常數項指的是題目里的數字項。將常數項按照乘法表格的方法相乘。
同樣的,在這一類問題中,需要將a,b,c和d相乘。
例如:(2y)(3x^2) + (2y)(4x) + (2y)(5y) = 6(y)(x^2) + 8(y)(x) + 10(y)(y)
第4步:將變量相乘。
自變量是指等式中的字母。將變量相乘時,不同變量擺在一起即可,如果將相同變量相乘,則需要增加變量的冪次。
將方程里的x和y相乘。
例如:6(y)(x^2) + 8(y)(x) + 10(y)(y) = 6yx^2 + 8xy + 10y^2
第5步:寫出最后的答案。
由于一開始方程中包含一個單項式,因此最后的結果中不需要合并同類項。
完成后最后的答案形式為:abyx^2 + acxy + ady^2。
用常數取代示例里面的字母后形式變為:6yx^2 + 8xy + 10y^2
第五部分:兩個多項式相乘
第1步:觀察問題。
問題里的兩個多項式都含有三項,三項之間用加號或減號相連接。
假設問題里面包含兩個二次項和一次項,,方程形式如下:(ax^2 + bx + c) * (dy^2 + ey + f)。
例如:(2x^2 + 3x + 4)(5y^2 + 6y + 7)
注意,針對三項式的計算方法對四項式以及包含更多項的多項式都是正確的。
第2步:將第二個多項式看做一個整體。
將第二個多項式保持成一個整體。
第二個多項式指的是方程里(dy^2 + ey + f)這一項。
例如: (5y^2 + 6y + 7)
第3步:將地一個多項式中的每一項與第二個多項式相乘。
將第一個多項式拆開,每一項和第二個多項式整體相乘。
這時將方程按順序排列寫出(ax^2)(dy^2 + ey + f) + (bx)(dy^2 + ey + f) + (c)(dy^2 + ey + f)
例如:(2x^2)(5y^2 + 6y + 7) + (3x)(5y^2 + 6y + 7) + (4)(5y^2 + 6y + 7)
第4步:將每一項展開。
將方程中新產生的單項式與三項式相乘的形式展開。
到這一步方程可以按順序寫成下面的形式:(ax^2)(dy^2) + (ax^2)(ey) + (ax^2)(f) + (bx)(dy^2) + (bx)(ey) + (bx)(f) + (c)(dy^2) + (c)(ey) + (c)(f)。
例如:(2x^2)(5y^2) + (2x^2)(6y) + (2x^2)(7) + (3x)(5y^2) + (3x)(6y) + (3x)(7) + (4)(5y^2) + (4)(6y) + (4)(7)
第5步:將常數項相乘。
常數項指的是題目里的數字項。將常數項按照乘法表格的方法相乘。
換句話說,在這一類問題中,需要將a,b,c,d,e和f相乘。
例如: 10(x^2)(y^2) + 12(x^2)(y) + 14(x^2) + 15(x)(y^2) + 18(x)(y) + 21(x) + 20(y^2) + 24(y) + 28
第6步:將變量相乘。
自變量是指等式中的字母。將變量相乘時,不同變量擺在一起即可,如果將相同變量相乘,則需要增加變量的冪次。
換句話說,你需要將方程里的x和y相乘。
例如: 10x^2y^2 + 12x^2y + 14x^2 + 15xy^2 + 18xy + 21x + 20y^2 + 24y + 28
第7步:合并同類項并寫出最后的答案。
這一類問題通常比較復雜,可能會產生同類項,即包含有相同變量形式的項。如果出現這種情況,你需要將同類項相加減,寫出最后的答案。如果沒有產生同類項,就不用再做加減法了。
例如:10x^2y^2 + 12x^2y + 14x^2 + 15xy^2 + 18xy + 21x + 20y^2 + 24y + 28
參考
http://www.mathsisfun.com/algebra/polynomials-multiplying.html
http://www.sparknotes.com/math/algebra1/polynomials/section3.rhtml
擴展閱讀,以下內容您可能還感興趣。
matlab三個或者多個多項式相乘怎么做
你的意思是自己編寫矩陣乘法吧,否則直接調用matlab得 * 函數就得了
驗證成功,可以運行
x=rand(3,4);
y=rand(4,5);
[row1, col1] = size(x);
[row2, col2] = size(y);
if col1 ~= row2
disp('input is error');
else
result = zeros(row1, col2);
for ii=1:row1
for jj=1:col2
result(ii,jj) = sum(sum(x(ii,:) .* (y(:, jj))' ));
end
end
end
高一數學 這個式子怎么變成幾個多項式相乘的形式?
先把前面式子的分子乘出來啊,然后相同的合并
線性代數,幾次多項式怎么看?兩個2×2的多項式相乘就是二次多項式么?
當然不是啊,行列式的值是多項式,這道題剛好得到兩個一次多項式相乘得到二次多項式嘛。完全取決于行列式的結果啊,跟2*2完全沒關系。
使用鏈表編寫一個函數,將兩個多項式相乘,并使輸出的多項式按冪次排列
如果這兩個多項式分別有M項和N項,那么程序的時間復雜度是O(m*n).
主要代碼如下:
PolyNode *AddPoly(PolyNode *pa,PolyNode *pb) /*求兩個多項式的和*/
{ PolyNode *pc,*p1=pa->next,*p2=pb->next,*p,*tc,*s;
pc=(PolyNode *)malloc(sizeof(PolyNode));/*新建頭結點*/
pc->next=NULL;/*pc為新建單鏈表的頭結點*/
tc=pc;/*tc始終指向新建單鏈表的最后結點*/
while (p1!=NULL && p2!=NULL)
{if (p1->expn {s=(PolyNode *)malloc(sizeof(PolyNode)); s->coef=p1->coef;s->expn=p1->expn;s->next=NULL; tc->next=s;tc=s; p1=p1->next; } else if(p1->expn>p2->expn)/*將*p2結點復制到*s并鏈到pc尾*/ {s=(PolyNode *)malloc(sizeof(PolyNode)); s->coef=p2->coef;s->expn=p2->expn;s->next=NULL; tc->next=s;tc=s;p2=p2->next; } else /*p1->expn=p2->expn的情況*/ {if (p1->coef+p2->coef!=0) /*序數相加不為0時新建結點*s并鏈到pc尾*/ {s=(PolyNode *)malloc(sizeof(PolyNode)); s->coef=p1->coef+p2->coef; s->expn=p1->expn; s->next=NULL; tc->next=s; tc=s; } p1=p1->next;p2=p2->next; } } if (p1!=NULL) p=p1; /*將尚未掃描完的余下結點復制并鏈接到pc單鏈表之后*/ else p=p2; while (p!=NULL) {s=(PolyNode *)malloc(sizeof(PolyNode)); s->coef=p->coef;s->expn=p->expn;s->next=NULL; tc->next=s;tc=s; p=p->next; } tc->next=NULL;/*新建單鏈表最后結點的next域置空*/ return pc; } PolyNode *MulPoly(PolyNode *pa,float c,int e) /*求多項式與單項式的積*/ { PolyNode *pc,*p=pa->next,*tc,*s; pc=(PolyNode *)malloc(sizeof(PolyNode));/*新建頭結點*/ pc->next=NULL;/*pc為新建單鏈表的頭結點*/ tc=pc;/*tc始終指向新建單鏈表的最后結點*/ while (p!=NULL) { s=(PolyNode *)malloc(sizeof(PolyNode)); s->coef=p->coef*c;s->expn=p->expn+e;s->next=NULL; tc->next=s;tc=s; p=p->next; } tc->next=NULL;/*新建單鏈表最后結點的next域置空*/ return pc; } PolyNode *MulPoly2(PolyNode *pa,PolyNode *pb) /*求兩個多項式的積*/ { PolyNode *pc,*p=pa->next,*tc,*s; pc->next=NULL; while(p!=NULL) {tc= MulPoly(pb,p->coef,p->expn); pc=AddPoly(pc,tc); p=p->next;} return pc; } 多項式與多項式相乘怎么分清加號和減號 多項式與多項式相乘, 將一個多項式的每一項去乘另一個多項式的每一項, 加號與減號的原則:同號得正,異號得負。