2021年6月5日 星期六

rref指令

 rref指令

源自於https://bime-matlab.blogspot.com/2006/11/103-2.html

在處理聯立方程式時,若直接有解,應可利用左除法得到其答案。若為多數解,則需要將其重組並簡化至梯形的表列方式,將某些變數設定為自變數,並將其餘因變數之係數均轉換為1。此時可以利用rref([A C])這個指令達到目的。這個指令執行結果,會產生一個增廣矩陣,其內容為[A C]。以前述之T組變數為例:

 M=rref([A C])
A =
     3     2     1
    10   -25     5


C =
        5000
        2000

>> M=rref([A C])

M =
   1.0e+03 *

    0.0010         0    0.0004    1.3579
         0    0.0010   -0.0001    0.4632

最後簡化之梯形聯立方程式為:
 T1+0.4T3=1357.9
 T
2-0.1T3=463.2
此時之聯立方程式經過rref這個指令會將結果簡化。

例題:

下面為一農場作業之資料,比較重要的作業可以分為整地、噴藥及收割等三項。下表為甲乙兩工人對個別作業每公頃所需之作業時數。設若此兩工人今年總工作時數分別為100及150小時,試求其今年各人總作業面積為多少。

小時/公頃 整地作業 噴藥作業 收割作業
========== ======== ======== ========
甲工人 3 5 8
乙工人 2 4 3

設x, y ,z分別為整地、噴藥及收割作業之作業面積數,則甲工人一年之工作情形可以下列方程式表示:

甲工人:3x + 5y + 8z=100
乙工人:2x + 4y + 3z =150
顯然這是一個多數解的系統。設
>> A=[3 5 8;2 4 3]
A =
3 5 8
2 4 3
>> b=[100 150]
'
b =
100
150

利用增廣矩陣可以縮減成簡易之x y z系統:
>> rref([A b])
ans =
1.0000 0 8.5000 -175.0000
0 1.0000 -3.5000 125.0000

解之,

 x + 8.5z=-175
y-3.5z =125

或 x = 8.5z-175, y=125 +3.5z
在這種情況下,由於變數在均為正值之限制之下,故應可以得到一個範圍解。

沒有留言:

張貼留言

2024_09 作業3 以Node-Red 為主

 2024_09 作業3  (以Node-Red 為主  Arduino 可能需要配合修改 ) Arduino 可能需要修改的部分 1)mqtt broker  2) 主題Topic (發行 接收) 3) WIFI ssid , password const char br...