用MATLAB編寫程式 克萊姆法則求解係數矩陣

時間 2022-03-06 02:45:12

1樓:小小小魚生活

a = [1 1 1 1 1 11 1.2 1.44 1.

728 2.0736 2.48831 1.

4 1.96 2.744 3.

8416 5.37821 1.6 2.

56 4.096 6.5536 10.

4861 1.8 3.24 5.

832 10.498 18.896 br /> 1 2 4 8 16 32];

b = 33 49.439 74.781 112.76 167.88 246]。

軟體開發:在開發環境中,使使用者更方便地控制多個檔案和圖形視窗;在程式設計方面支援了函式巢狀,有條件中斷等;在圖形化方面,有了更強大的圖形標註和處理功能,包括對性對起連線注釋等;在輸入輸出方面,可以直接向excel和hdf5進行連線。

2樓:貞皖

這個要花點時間,笨一點的方法就是寫出各個所需矩陣,用det(a)命令求解;

快一點的方法是用for語句編乙個綜合的程式,雖然費時間,不過有挑戰性哈

clc,clear

a=zeros(6,1);

b=[1 1 1 1 1 1;1 1.2 1.44 1.

728 2.0736 2.4883;1 1.

4 1.96 2.744 3.

8416 5.3782;

1 1.6 2.56 4.

096 6.5536 10.486;1 1.

8 3.24 5.832 10.

498 18.896;1 2 4 8 16 32];

c=[33;49.439;74.781;112.71;167.88;246];

for i=1:6

b0=b;

b0(:,i)=c;

a(i)=det(b0)/det(b);

endjieguo=a

3樓:匿名使用者

a = [1 1 1 1 1 1

1 1.2 1.44 1.

728 2.0736 2.48831 1.

4 1.96 2.744 3.

8416 5.37821 1.6 2.

56 4.096 6.5536 10.

4861 1.8 3.24 5.

832 10.498 18.896 br /> 1 2 4 8 16 32

]; b = 33 49.439 74.781 112.76 167.88 246]';

/ /尋求x1

b = a;

b(:,1)= b; / / a的第一列b/ det det(b)(a)/ /這是取代由乙個恆定列x1/ /尋求x2,x3 ....類似

用克萊姆法則求解係數矩陣為下表

4樓:匿名使用者

a=[1 1 1 1 1 1

1 1.2 1.44 1.728 2.0736 2.4883

1 1.4 1.96 2.744 3.8416 5.3782

1 1.6 2.56 4.096 6.5536 10.486

1 1.8 3.24 5.832 10.498 18.896

1 2 4 8 16 32

];b=[33 49.439 74.781 112.76 167.88 246]' ;

//求x1

b=a;

b(:,1)=b; //a的第一列換成常數列b

det(b)/det(a) //這是x1.

//求x2,x3.... 類似

5樓:王

a = [1 1 1 1 1 1

1 1.2 1.44 1.

728 2.0736 2.48831 1.

4 1.96 2.744 3.

8416 5.37821 1.6 2.

56 4.096 6.5536 10.

4861 1.8 3.24 5.

832 10.498 ??18.

896 br /> 1 2 4 8 16 32

]; b = [33 49.439 74.781 112.76 167.88 246]';

/ /需求x1

b = a;

det(b)/?? det(a)/ /這是x1/ /需求x2,x3。 ...類似

matlab高手來啊 用克萊姆法則求解線性方程組,求 .m 檔案**拜託了各位 謝謝

6樓:水上軍團

clear;clc;a=[1 1 -5 1;1 -3 0 -6;0 2 -1 2;1 3 -7 6];b=[8;9;-5;0];x=a\b;disp('結果是:');x

matlab程式設計問題:編寫牛頓法程式來求解下面的方程組: (x-2)^2+(y-3+2x)^2=5 2(x-3)^2+(y/3)^2=4

7樓:

% 用牛頓迭代法解非線性方程組

% f1=(x-2)^2+(y-3+2x)^2-5=0

% f2=2(x-3)^2+(y/3)^2-4=0

% f=[f1;f2]=[5*x^2 + 4*x*y - 16*x + y^2 - 6*y + 8

% 2*x^2 - 12*x + y^2/9 +14 ]

%迭代初值設為:x0=[x,y]=[0,0]'

% x(k+1)=x(k)+delt_x

% jaco_f(x(k))*delt_x(k)=-f(x(k))

% jaco_f為jacobian矩陣

% jaco_f=[10*x+4*y-16 2*y+4*x-6

% 4*x-12 2*y/9]

%error 為 ||x(k+1)-x(k)||,當error小於0.0001時,迭代停止

x=0;

y=0;

error=10;

while(error>0.0001)

f = [ 5*x^2+4*x*y-16*x+y^2-6*y+8

2*x^2-12*x+y^2/9+14 ];

jaco_f = [10*x+4*y-16 2*y+4*x-6

4*x-12 2*y/9];

x = [x y]' - (inv(jaco_f))*f; %迭代後的x值

error=norm(x-[x,y]'); % error=||x(k+1)-x(k)||

x=x(1);

y=x(2);

endx

y%%%%%%%%%%%%%到此結束%%%%%%%%%%%%%

程式結果:

x =1.7362

y =-2.6929

望採納!

請問,如何在matlab中編寫程式實現求兩矩陣a*b,a.*b?

8樓:匿名使用者

首先可以求點乘,維數肯定要相同;

「.*」和「*」的區別:

在進行數之間的運算時「.*」和「*」是沒有區別的,都是表示普通的乘法運算。例:m = 2,n = 3,m.*n = 6, m*n = 6。

在進行矩陣之間的運算時「.*」和「*」的意義就有所不同了。假設a,b表示兩個矩陣,a*b表示矩陣a與矩陣b進行矩陣相乘,a.

*b表示矩陣a中的元素與矩陣b中的元素按位置依次相乘,得到的結果將作為新矩陣中相同位置的元素。

matlab 中用乙個特殊的符號來區分矩陣運算和陣列運算。在需要區分兩者不同的時侯,把點置於符號前來指示這是乙個陣列運算(例如, .*)。

也就是說在matlab裡直接使用「*」和「.*」這兩個符號就可以了。

用C 語言編寫程式,遞迴函式,用c 編寫程式用遞迴法計算一個整數的所有數字之和

1 在數學上,關於遞迴函式的定義如下 對於某一函式f x 其定義域是集合a,那麼若對於a集合中的某一個值x0,其函式值f x0 由f f x0 決定,那麼就稱f x 為遞迴函式。在程式語言中,把直接或間接地呼叫自身的函式稱為遞迴函式。函式的構建通常需要一個函式或者一個過程來完成。2 遞迴函式 是建立...

用C語言編寫程式資料結構,用C語言編寫程式 資料結構 20

第5 題 include include define max 256 typedef int list max typedef int elemtype typedef int status define overflow 1 define ok 1 define list init size 8...

用VB編寫程序,用VB編寫程式

首先,用vb畫出介面圖,那些按鈕控制項,每個按鈕空間都要實現什麼功能,這個你自己心裡要有數,然後給按鈕編 你要具體點,別人才好回答你!我也是用這個,很好用的,目前沒發現病毒 vb程式編寫 用vb編寫程式 怎樣用vb編寫程式從鍵盤上輸入10個數求平均值 怎麼用vb編寫乙個exe檔案?1 執行vb6.0...