در آموزش‌های قبلی مجله فرادرس با فیلتر کالمن آشنا شدیم. فیلتر کالمن معادل مشاهده‌گر برای رگولاتورهای مرتبه دوم خطی است و به همین دلیل تخمین‌گر مرتبه دوم خطی نیز نامیده می‌شود. در این آموزش، ضمن بیان مختصر مفاهیم، با پیاده‌سازی فیلتر کالمن در متلب آشنا خواهیم شد.

فیلتر کالمن گسسته

از آنجایی که تخمین با استفاده از فیلتر کالمن با اندازه‌گیری و انتشار حالت گره خورده است، درک پیاده‌سازی گسسته آن‌ ساده‌تر است. سیستم زیر را در نظر بگیرید:

$$ \large X _ { k + 1 } = A X _ { k } + B u _ { k } + F w _ { k } $$

که در آن، $$w _ k $$ نامعینی دینامیک سیستم است که به عنوان یک فرایند گاوسی با کوواریانس $$ E(w_k w_k^T ) = Q $$ نمایش داده شده است. متغیرهای حالت $$ X_k $$ نیز با فرایندهای دو به دو گوسی مستقل با کوواریانس $$ P _ k$$ مدل می‌شوند. شرایط اولیه نیز حالت $$ X(0) = X_0 $$ و کوواریانس $$P_0 $$ هستند.

اندازه‌گیری به صورت زیر تقریب زده شده است:

$$ \large Y _ k = C X _ k + D u _ k + v _ k $$

که در آن، $$v _ k $$ نامعینی در اندازه‌گیری با کواریانس $$ E(v_k v_k^T ) = R $$ است.

۱. انتشار حالت

دینامیک سیستم به صورت زیر بیان می‌شود:

$$ \large X _ { k + 1 } = A X _ { k } + B u _ { k } + F w _ { k } $$

برای جداسازی تخمین‌های حالت قبل و بعد از اندازه‌گیری، موارد زیر را تعریف می‌کنیم:

  • $$ X _ {k|k}$$ به عنوان تخمین بعد از اندازه‌گیری در گام $$k$$
  • $$ X _ { k + 1 |k} $$ به عنوان تخمین حالت بعد از دنبال کردن دینامیک سیستم

بنابراین، مقدار بعدی قابل انتظار حالت به صورت زیر خواهد بود:

$$ \large E ( X _ { k + 1 | k } ) = A E ( X _ { k | k } ) + B E ( u _ k ) + E ( F w _ k ) $$

$$ \large \hat { X } _ { k + 1 | k } = A \hat { X } _ {k | k } + B u _ k $$

خطای بین تخمین حالت و امید ریاضی، قبل از اندازه‌گیری به صورت زیر نمایش داده می‌شود:

$$ \large X _ { k + 1 | k } – \hat { X } _ { k + 1 | k } = A X _ { k | k } + B u _ k + F w _ k – ( A \bar { X } _ { k | k } + B u _ k ) $$

$$ \large e _ { k + 1 | k } = X _ { k + 1 | k } – \bar { X } _ { k + 1 | k } = A e _ { k | k } + F w _ k $$

بنابراین، کوواریانس حالت قبل از اندازه‌گیری برابر خواهد بود با:

$$ \large P _ { k + 1 | k } = E ( e _ { k + 1 | k } e _ { k + 1 | k } ^ { – T } ) = P ( ( X _ { k + 1 | k } – \bar { X } _ { k + 1 | k} ) ( X _ { k + 1 | k } – \bar { X } _ { k + 1 | k } ) ^ T ) $$

$$ \large P _ { k + 1 | k } = A E ( e _{ k | k } e _ { k | k } ^ T ) A ^ T + E ( F w _ k w _ k ^ T F ^ T ) $$

در نتیجه، انتشار کواریانس خطا به صورت زیر است:

$$ \large P _ { k + 1 | k } = A P _ { k | k } A ^ T + F Q F ^ T . $$

۲. به‌روزرسانی

اکنون کوواریانس تخمین حالت‌ها را پس از اندازه‌گیری به‌روز می‌کنیم. اندازه‌گیری به صورت زیر است:

$$ \large Y _ { k + 1 } = C X _ { k + 1 | k } + D u _ { k + 1 } + v _ { k + 1 } $$

امید ریاضی اندازه‌گیری برابر است با:

$$ \large \hat { Y } _ { k + 1 } = C \hat { X } _ { k + 1 | k } + D u _ { k + 1 } . $$

خطای بین تخمین حالت و میانگین نیز به صورت زیر نوشته می‌شود:

$$ \large Y _ { k + 1 } – \hat { Y } _ { k + 1 } = C X _ { k + 1 | k } + D u _ { k + 1 } + v _ { k + 1 } – ( C \hat { X } _ { k + 1 | k } + D u _ { k + 1 } ) $$

$$ \large e _ { Y , k + 1 } = C e _ { k + 1 | k } + v _ { k + 1 } $$

کوواریانس خطای اندازه‌گیری قبل از انجام اندازه‌گیری برابر است با:

$$ \large \begin{align*}
E ( e _ { Y , k + 1 } e _ { Y , k + 1 } ^ T ) & = E ( ( C e _ { k + 1 | k } + v _ { k + 1 } ) ( C e _ { k + 1 | k } + v _ { k + 1 } ) ^ T ) \\
E ( e _ { Y , k + 1} e _ { Y , k + 1 } ^ T ) & = E ( ( C e _ { k +1 | k } + v _ { k + 1} ) ( e_ { k + 1 | k } ^ T C ^ T + v _ { k + 1 } ^ T ) ) \\
& = C P _ { k + 1 | k } C^ T + R
\end{align*} $$

به‌روزرسانی حالت پس از اندازه‌گیری

حالت پس از اندازه‌گیری به صورت زیر به‌روزرسانی می‌شود:

$$ \large \begin{align*}
\hat { X } _ { k + 1 | k + 1 } & = \hat { X } _ { k + 1 | k } + K _ { k + 1 } ( Y _ { k +1 } – ( C \hat { X } _ { k + 1 | k } + D u _ { k + 1 } ) ) \\
\hat { X } _ { k + 1 | k + 1 } & = \hat { X } _ { k + 1 | k } + K _ { k + 1 } e _ { Y , k + 1 } \\
\hat { X } _ { k + 1 | k + 1 } & = \hat { X } _ { k + 1 | k } + K _ { k + 1 } C e _ { k + 1 | k } + K _ { k + 1 } v _ { k + 1 }
\end {align*} $$

یعنی تخمین حالت بر اساس خطای بین اندازه‌گیری واقعی و اندازه‌گیری چشم‌داشتی تخمین حالت به‌روز می‌شود. هدف، یافتن $$ K _ {k+1}$$ به گونه‌ای است که اختلاف بین حالت واقعی و تخمین آن کمینه شود.

می‌خواهیم بهره‌ای را به گونه‌‌ای انتخاب کنیم که خطای بین تخمین حالت پسین (عقبی)‌ و حالت واقعی را کمینه کند.

$$ \large \begin{align*}
X _ { k + 1 } – \hat { X } _ { k + 1 | k + 1 } & = X _ { k + 1 } – \hat { X } _ { k + 1 | k } – K _ { k + 1 } C e _ { k + 1 | k } -K _ { k + 1 } v _ { k + 1 } \\
e _ { k + 1 | k + 1 } & = ( I – K _ { k + 1 } C ) e _ { k + 1 | k } – K _ { k + 1 } v _ { k + 1 }
\end {align*} $$

بنابراین، کوواریانس پسین برابر است با:

$$ \large \begin{align*}
P _ { k + 1 | k + 1 } & = E ( e _ { k + 1 | k + 1 } e _ { k + 1 | k + 1 } ^ T ) \\
& = E \left ( ( (I – K _ { k + 1 } C ) e _ { k + 1 | k } – K _ { k + 1 } v _ { k + 1 } ) ( ( I – K _ { k + 1 } C ) e _ { k + 1 | k } – K _ { k + 1 } v _ { k + 1 } ) ^ T \right ) \\
& = ( I – K _ { k + 1 } C ) E ( e _ { k + 1 | k } e _ { k + 1 | k } ^ T ) ( I – K _ { k + 1 } C ) ^ T + K _ { k + 1 } E ( v _ { k + 1 } v _ { k + 1 } ^ T ) K _ { k + 1} ^ T \\
P _ { k + 1 | k + 1 } & = ( I – K _ { k + 1 } C ) P _ { k + 1 | k } ( I – K _ { k + 1 } C ) ^ T + K _ { k + 1 } R K _ { k + 1 } ^ T \\
P _ { k + 1 | k + 1 } & = ( I – K _ { k + 1 } C ) P _ { k + 1 | k } ( I – K _ { k + 1 } C ) ^ T + K _ { k + 1 } R K _ { k + 1 } ^ T \\
P _ { k + 1 | k + 1 } & = P _ { k + 1 | k } – K _ { k + 1 } C P _ { k + 1 | k } – P _ { k + 1 | k } C ^ T K _ { k + 1 } ^ T + K _ { k + 1 } ( C P _ { k + 1 | k } C ^ T + R ) K _ { k + 1 } ^ T
\end {align*} $$

از آنجایی که اثر ماتریس کوواریانس خطای بین تخمین حالت و به‌ روز رسانی اندازه‌‌گیری است، بنابراین، ماتریس بهره‌ای که ماتریس کوواریانس را کمینه می‌کند، جواب بهینه است. با مشتق‌گیری نسبت به بهره، داریم:

$$ \large \frac { \partial tr ( P _ { k + 1 | k + 1 } ) } { \partial K _ { k + 1 } } = – 2 ( C P _ { k + 1 | k } ) ^ T + 2 K _ { k +1 } ( C P _ { k + 1 | k } C ^ T + R ) = 0 $$

در نتیجه:

$$ \large K _ { k + 1 } = P _ { k + 1 | k } C ^ T ( C P _ { k + 1 | k } C ^ T + R ) ^ { – 1 } $$

با جایگذاری $$ K_{k+1} $$ در عبارت کوواریانس پسین، داریم:

$$ \large P _ { k + 1 | k + 1 } = P _ { k + 1 | k } – K _ { k + 1 } C P _ { k + 1 | k } – K _ { k + 1 } C ^ T P _ { k + 1 | k } ^ T + P _ { k + 1 | k } C ^ T ( C P _ { k + 1 | k } C ^ T + R ) ^ { – 1 } ( C P_ { k + 1 | k } C ^ T + R ) K _ { k + 1 } ^ T $$

$$ \large P _ { k + 1 | k + 1 } = P _ { k + 1 | k } – K _ { k + 1 } C P _ { k + 1 | k } – K _ { k + 1 } C ^ T P _ { k + 1 | k } ^ T + P _ { k + 1 | k } C ^ T K _ { k + 1 } ^ T $$

$$ \large P _ { k + 1 | k + 1 } = P _ { k + 1 | k } – K _ { k + 1 } C P _ { k + 1 | k } = ( I – K _ { k + 1 } C ) P _ { k + 1 | k } $$

فرم نهایی فیلتر کالمن

فرم نهایی الگوریتم فیلتر کالمن به صورت زیر است:

۱. انتشار حالت

$$ \large \hat { X } _{ k + 1 | k } = A \hat { X } _ {k | k } + B u _ k $$

$$ \large P _ { k + 1 | k } = A P _ { k | k } A ^ T + F Q F ^ T . $$

۲. به‌روزرسانی اندازه‌گیری

$$ \large e _ { Y , k + 1 } = y ( k + 1 ) – ( C \hat { X } _ {k + 1 | k } + D u _ { k + 1 } ) $$

$$ \large S _ { k + 1 } = ( C P _ { k + 1 | k } C ^ T + R ) $$

$$ \large K _ { k + 1 } = P _ { k + 1 | k } C ^ T S _ { k + 1 } ^ { – 1 } $$

$$ \large \hat { X } _ { k + 1 | k + 1 } = \hat { X } _ { k + 1 | k } + K _{ k + 1 } e _ { Y , k + 1 } $$

$$ \large P _ { k + 1 | k + 1 } = ( I – K _ { k + 1 } C ) P _ { k + 1 | k } $$

فیلتر کالمن در متلب (گسسته)

در این بخش، مثال‌هاییی از پیاده‌سازی فیلتر کالمن در متلب (گسسته) را ارائه خواهیم کرد.

مثال ۱

ابتدا فیلتر کالمن را برای تخمین حالت‌ها در ساده‌ترین مورد که یک فرایند و اندازه‌گیری قطعی داریم، اعمال می‌‌کنیم. سیستم زیر را در نظر بگیرید:

$$ \large \ddot{X} = u$$

که اندازه‌گیری $$ y = X $$ است. می‌خواهیم یک مشاهده‌گر را به گونه‌ای تشکیل دهیم که $$ \hat{X} \rightarrow X $$.

سیستم را به صورت زیر تقریب می‌زنیم:

$$ \large \begin{align*}
X _ 1 ( t + 1 ) & = X _ 1 ( t ) + \delta t X _ 2 \\
X _ 2 ( t + 1 ) & = \delta t u
\end {align*} $$

اندازه‌گیری به صورت زیر تقریب زده می‌شود:

$$ \large y = X + v $$

که در آن، $$ v $$ یک فرایند گاوسی با میانگین صفر و واریانس $$ 10 ^ { – 8 } $$ است. توجه کنید از آنجایی که سیستم قطعی است، از یک مقدار بسیار کوچک کوواریانس اندازه‌گیری $$R$$ استفاده می‌کنیم. برنامه زیر، پیاده‌سازی فیلتر کالمن در متلب را برای تخمین حالت نشان می‌دهد. از آنجایی که کواریانس حالت‌ها را از قبل نمی‌دانیم، در ابتدا فرض می‌کنیم یک ماتریس واحد باشد. حالت‌ها در یک تکرار تخمین زده می‌شوند و خطا سریعاً به صفر میل می‌کند.

نمودار حالت و تخمین آن

مثال ۲

از فیلتر کالمن می‌توان برای تخمین پارامتر نیز استفاده کرد. سیستم دینامیکی زیر را در نظر بگیرید:

$$ \large \begin{align*}
\large \dot { X _ 1 } & = X _ 2 + \alpha \\
\dot { X _ 2 } & = u
\end {align*} $$

که در آن، $$ \alpha$$ پارامتری نامعلوم است. تنها اندازه‌گیری $$ y = X_1 + v $$ را داریم که در آن، $$ v$$ یک فرایند گاوسی با واریانس $$ R = 0.1 $$ است. می‌توانیم از فیلتر کالمن استفاده کرده و پارامتر نامعلوم را تخمین بزنیم. ابتدا یک حالت جدید به سیستم اضافه می‌کنیم که خودش یک پارامتر است. همچنین دینامیکی را معرفی می‌کنیم که مشتق آن برابر با صفر است. از آنجایی که پارامتر را به صورت دقیق نمی‌دانیم، یک جمله نویز به دینامیک سیستم اضافه می‌کنیم تا نامعینی در مدل لحاظ شود.

$$ \large \begin{align*}
X _ 1 ( t + 1 ) & = X _ 1 ( t ) + \delta t X _ 2 (t)+ \delta t X _ 3(t) \\
X _ 2 ( t + 1 ) & = \delta t u \\
X _ 3 ( t + 1 ) & = X _ 3 ( t ) + w ( t )
\end {align*} $$

در معادلات بالا، $$ w (t)$$ یک فرایند گاوسی با کوواریانس $$ 10^{-4} $$ است. معادلات بالا را می‌توان به فرم زیر نوشت:

$$ \large X _ { t + 1 } = A X _ { t } + B u _ { t } + F w _ t $$

که در آن:

$$ \large
A = \left [ \begin {array} {ccc} 1 & \delta t & \delta t \\ 0 & 0 & 0 \\ 0 & 0 & 0 \end {array} \right ] , \;\;\;\;\;\;\;
B = \left [ \begin {array} {c} 0 \\ \delta t \\ 0 \end {array} \right ] ,
\;\;\;\;\;\;\;
F = \left [ \begin {array} {c} 0 \\ 0 \\ 1 \end {array} \right ] $$

در ابتدا، کوواریانس حالت را نمی‌دانیم، بنابراین تقریب آن را ۱ در نظر می‌گیریم. البته، اندازه‌گیری دقیق کوواریانس برای تخمین حالت لازم است. بنابراین، شبیه‌سازی را یک بار برای تخمین کوواریانس اجرا می‌کنیم و دوباره آن را اجرا کرده و این فرایند را تکرار می‌کنیم. با تکرار چندباره این فرایند (معمولاً دو بار)، یک تخمین مناسب از پارامتر نامعلوم خواهیم داشت.

موقعیت و سرعت

تخمین پارامتر

مثال ۳

همان‌طور که گفتیم، از فیلتر کالمن می‌توان برای تخمین پارامتر استفاده کرد. باز هم سیستم زیر را در نظر بگیرید:

$$ \large \begin{align*}
\dot { X _ 1 } & = X _ 2 + \alpha \\
\dot { X _ 2 } & = u
\end {align*} $$

که در آن، $$ \alpha $$ پارامتری نامعلوم است. اندازه‌گیری‌های $$ y_1 = X_1 + v_1 $$ و $$ y_2 = X_2 + v_2 $$ نیز در دسترس هستند، که در آن‌ها $$v_1$$ و $$v_2$$ فرایندهای گوسی با واریانس‌های $$ R_1 = 0.1$$ و $$ R_ 2 = 0.1 $$ هستند. می‌توانیم از فیلتر کالمن استفاده کنیم و پارامتر نامعلوم را تخمین بزنیم:‌

$$ \large \begin{align*}
X _ 1 ( t + 1 ) & = X _ 1 ( t ) + \delta t X _ 2 + \delta t X _ 3 \\
X _ 2 ( t + 1 ) & = \delta t u \\
X _ 3 ( t + 1 ) & = X _ 3 ( t ) + w ( t )
\end {align*} $$

که در آن، $$ w ( t) $$ یک فرایند گوسی با کوواریانس $$ 10^{-4} $$ است. مانند مثال قبل، شبیه‌سازی را یک بار برای تخمین کوواریانس اجرا کرده و سپس فرایند را دوباره تکرار می‌کنیم. با تکرار چندباره این فرایند (معمولاً دو بار)، به یک تخمین مناسب برای پارامتر نامعلوم می‌رسیم.

موقعیت و سرعت

تخمین پارامتر

فیلتر کالمن پیوسته

فیلتر کالمن-بوسی (Kalman-Bucy Filter) معادل پیوسته‌زمان فیلتر کالمن است. استخراج و تحلیل فیلتر کالمن برای سیستم‌های پیوسته‌زمان دشوار است، زیرا اندازه‌گیری و حالت‌ها متغیرهایی پیوسته‌اند و به‌روزرسانی پیشین و پسین به صورت شفاف تعریف نشده‌اند. با این حال، با گسسته‌سازی فیلتر پیوسته و میل دادن زمان گسسته‌سازی به صفر، معادلات فیلتر کالمن به دست می‌آیند. در ادامه، این روش را توضیح می‌دهیم.

فرض کنید دینامیک سیستم به صورت زیر است:

$$ \large \dot { X } = A X + B u + F w $$

که در آن، $$w$$ یک فرایند گاوسی با میانگین صفر و کوواریانس $$Q$$ است و اندازه‌گیری به صورت زیر بیان می‌شود:

$$ \large y = C X + D u + v $$

فیلتر تخمین زننده حالت از دو معادله دیفرانسیل تشکیل شده است:

$$ \large \begin{align*}
\dot { \hat { X } } & = A \hat { X } + B u + K ( y – C \hat { X } + D u ) \\
\dot { P } & = A P + P A ^ T + F Q F ^ T – K R K ^ T \\
K & = P C ^ T R ^ { – 1 } \\
\dot { P } & = A P + P A ^ T + F Q F ^ T – P C ^ T R C P
\end {align*} $$

لازم به ذکر است که در مورد پیوسته فیلتر کالمن، کوواریانس خطای اندازه‌گیری و کوواریانس پیشین، هر دو، $$R$$ هستند. علاوه بر این، در محاسبات بهره مشاهده‌گر معکوس ماتریس کوواریانس نویز $$R$$ به کار می‌رود. بنابراین، اگر دو سنسور داشته باشیم که یکی بسیار نویزدار و دیگری بسیار دقیق باشد، فیلتر کالمن مقدار بیشتری را روی سنسور دقیق قرار می‌دهد؛ یعنی سنسوری که نویز پایین‌تری دارد، سهم بیشتری در به‌روزرسانی خواهد داشت. دقت کنید که معادله فوق، مشابه معادله ریکاتی است که در رگولاتور مرتبه دوم خطی به دست می‌آید و می‌توانیم آن را با تکنیکی مشابه حل آن حل کنیم. در مورد خاص زمان بی‌نهایت، معادله ریکاتی به صورت زیر در خواهد آمد:

$$ \large 0 = A P + P A ^ T + F Q F ^ T – P C ^ T R C P $$

معادله بالا مشابه معادله ریکاتی جبری است که در آن، به جای $$A$$ و $$B$$، ماتریس‌های $$A^T$$ و $$ C^T$$ قرار دارند و می‌توان آن‌ را با دستور “care” در متلب حل کرد.

فیلتر کالمن در متلب (پیوسته)

در این بخش، چند مثال از پیاده‌سازی فیلتر کالمن در متلب (پیوسته) را ارائه خواهیم کرد.

مثال ۴

سیستمی با معادله $$ \ddot{x} = u $$ را در نظر بگیرید که تنها موقعیت آن اندازه‌گیری می‌شود. می‌خواهیم با فرض اینکه کوواریانس نویز اندازه‌گیری واحد بوده و برابر با کوواریانس فرایند است، یک فیلتر کالمن پیوسته برای سیستم ارائه کنیم. برای این منظور، از دستور متلب برای حل معادله ریکاتی استفاده شده است.

موقعیت و سرعت

مثال ۵

سیستم مثال قبل، یعنی $$ \ddot{x} = u $$ را در نظر بگیرید که اکنون دو سنسور برای اندازه‌گیری موقعیت دارد: یکی بسیار دقیق (با کوواریانس ۰٫۰۱) و دیگری غیردقیق (با کوواریانس ۱). با فرض اینکه کواریانس فرایند یک ماتریس یکه است، یک فیلتر کالمن برای سیستم ارائه می‌کنیم. با استفاده از دستور “care” در متلب می‌توان برای حل معادله ریکاتی استفاده کرد. بهره‌هایی که از معادله ریکاتی حالت ماندگار به دست می‌آید به صورت زیر است:

$$ \large
K _ k = \left [ \begin {array} {cc} 0 . 1 0 9 0 & 10.8956 \\ 0.0995 & 9.9504 \end{array} \right ] $$

ماتریس بهره فیلتر کالمن اهمیت بیشتری به داده‌های سنسور دقیق‌تر می‌دهد.

موقعیت و سرعت

کنترل گاوسی درجه دو خطی

کنترل گاوسی درجه دوم خطی یک رویکرد کنترلی است که از رگولاتور درجه دوم خطی (LQR) برای کنترل و برای فیلتر کالمن به منظور تخمین استفاده می‌کند. با توجه به اصل تفکیک تخمین و کنترل، می‌توانیم مشاهده‌گر و کنترل‌کننده را بدون اثرگذاری روی هم به صورت جداگانه طراحی کنیم. برنامه زیر، یک رگولاتور خطی مرتبه دوم برای کنترل و فیلتر کالمن پیوسته را با استفاده از دستور “care” متلب ارائه می‌دهد.

موقعیت و سرعت

جمع‌بندی

فیلترهای کالمن کاربردهای فراوانی در کنترل و پردازش سیگنال دارند. این فیلترها رؤیت‌گرهای مشابه رگولاتورهای مرتبه دوم خطی هستند و می‌توان با استفاده از همان عبارات و با جایگزینی ماتریس سیستم با ترانهاده‌اش، و جایگزینی ماتریس ورودی با ترانهاده ماتریس اندازه‌گیری آن‌ها را به دست آورد. فیلترهای کالمن وقتی در فرایندها و اندازه‌گیری‌هایی به کار می‌روند که مبتنی بر توزیع گاوسی‌اند، بهینه هستند. فیلترهای کالمن را می‌توان برای سیستم‌های غیرخطی نیز بیان کرد.

اگر این مطلب برای شما مفید بوده است، آموزش‌های زیر نیز به شما پیشنهاد می‌شوند:

^^

سید سراج حمیدی دانش‌آموخته مهندسی برق است و به ریاضیات و زبان و ادبیات فارسی علاقه دارد. او آموزش‌های مهندسی برق، ریاضیات و ادبیات مجله فرادرس را می‌نویسد.

بر اساس رای 7 نفر

آیا این مطلب برای شما مفید بود؟

یک نظر ثبت شده در “فیلتر کالمن در متلب — راهنمای کاربردی

  • سلام توضیحات وبرنامه عالی،
    یسوال من پروژه ایی دارم با فیلترکالمن برای تخمین سطح توسط مقادیر توان و فلو ‌خروجی که همان سطح هست به چه صورت ازین برنامه هاتون استفاده کنم (بصورت گسسته)؟همه داده هارو دارم R.Q. ماتریسهایa,b,c,d

نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *