新しく発言する  EXIT  インデックスへ

多項式展開


  多項式展開 しばっち 2008/03/22 21:42:39  (修正1回)
  係数が指定できると 島村1243 2008/03/23 08:57:56 
  │└返事 しばっち 2008/03/23 09:52:22 
  │ └失礼しました 島村1243 2008/03/23 13:43:12  (修正1回)
  !多変数多項式の演算(加減乗算) 山中和義 2008/03/23 21:13:46 
   └つづき 山中和義 2008/03/23 21:14:43 
Re: !多変数多項式の演算(加減乗算)  返事を書く  ノートメニュー
山中和義 <drdlxujciw> 2008/03/23 21:14:43
つづき



!演算関連
SUB PolyAdd(p$(),q$(), r$()) !加算 r=p+q
LET k=VAL(p$(0))
FOR i=1 TO k
LET r$(i)=p$(i)
NEXT i
FOR i=1 TO VAL(q$(0))
LET r$(k+i)=q$(i)
NEXT i
LET k=k+VAL(q$(0))
LET r$(0)=STR$(k) !項の数

CALL PolySimple(r$) !同類項をまとめる
END SUB

SUB PolySub(p$(),q$(), r$()) !減算 r=p-q
DIM qq$(500)
FOR i=1 TO VAL(q$(0)) !係数の符号を反転させる
LET qq$(i)=q$(i)
LET qq$(i)(N+2:LEN(qq$(i)))=STR$(-GetVal(q$(i)))
NEXT i
LET qq$(0)=q$(0) !項の数
!MAT PRINT qq$ !debug

CALL PolyAdd(p$,qq$, r$) !r=p+(-q)
END SUB

SUB PolyMul(p$(),q$(), r$()) !乗算 r=p*q
LET k=0
FOR i=1 TO VAL(p$(0))
FOR j=1 TO VAL(q$(0))
LET k=k+1 !項と項をかける
LET t$=""
FOR e=1 TO N
LET t$=t$ & STR$( VAL(p$(i)(e:e)) + VAL(q$(j)(e:e)) ) !次数
NEXT e
LET r$(k)=t$ & ":" & STR$(GetVal(p$(i)) * GetVal(q$(j))) !係数
NEXT j
NEXT i
LET r$(0)=STR$(k) !項の数
!MAT PRINT r$ !debug

CALL PolySimple(r$) !同類項をまとめる
END SUB
!------------------------------ ここまでがサブルーチン

    └つづき 山中和義 2008/03/23 21:17:07 

 インデックスへ  EXIT
新規発言を反映させるにはブラウザの更新ボタンを押してください。