關閉→
當前位置:知科普>IT科技>matlab求解線性方程組如何解決問題

matlab求解線性方程組如何解決問題

知科普 人氣:2.33W

——GW318物聯網實驗室學術活動MATLAB線性方程組求解方法1.線性方程組的問題在工程計算中,一個重要的問題是線性方程組的求解。在矩陣表示法中,上述問題可以表述為給定兩個矩陣A和B,是否存在惟一的解X使得AX=B或XA=B。例如,求解方程3x=6就可以

一般的線性方程組可以用矩陣來表示,通過矩陣的運算可以很容易解決線性方程組的齊次﹑非齊次和超定方程組的解問題。

matlab求解線性方程組如何解決問題

材料/工具

MATLAB軟件

S=solve('2*x*y=1,x+2=y+z,x+y-z=4','x,y,z'); %前面的參數是方程組列表,後面是未知變量列表 S.x %輸出未知數x的值 S.y %輸出未知數y的值 S.z %輸出未知數z的值 f=@(x)2*x; %定義一個匿名函數y=2x,其中@(x)表示x是匿名函數的自變量 fplot(f,[-

方法

線性方程組的唯一解

你的問題提的範圍太大了。有具體的線性方程組嗎? 一般求解線性方程組的最常用的方法有,solve函數,x=A/b(A是線性方程組的係數,b是等式值),x=inv(A)*b(inv(A)是A的逆矩陣)等等。

線性方程組的矩陣形式為AX=b(A為係數矩陣,X為未知數列向量,b為常數列向量),其唯一解為:X=b/A

matlab解方程組lnx表示成log(x)而lgx表示成log10(x)1-exp(((log(y))/x^0.5)/(x-1))1、解方程最近有多人問如何用matlab解方程組的問題,其實在matlab中解方程組還是很方便的,例如,對於代數方程組Ax=b(A為係數矩陣,非奇異)的求解,MATLAB中有兩

Matlab語言格式:X=inv(A)*b %可逆矩陣

我的版本是R2016a,我可以求解,不過會出來警告,説明這樣做不是很好,你試試roots函數,將你要求解的多項式的高次項係數到常數項寫成行向量輸入,就像你這個,輸入roots([1 0 0 1]),這樣求出來就不會出現警告,而且比直接用solve的返回結果好。

X=Ab

X=sym(A)sym(b)

在命令窗口輸入以下命令: A=[1 1 -1 -1;2 -5 3 2;7 -7 3 1]; B=[5; -4; 7]; format rat x1=AB %求得非齊次方程組Ax=B的一個特解x1 Y=null(A,'r') %求得齊次方程組Ax=0 的基礎解系Y 上面符號%後為解釋説明,實際中可不輸入。 按回車,得通解。

matlab求解線性方程組如何解決問題 第2張

齊次線性方程組的通解

關鍵是把題目中的方程組整理成向量運算的樣子 function Que=zuoye5(x, A, B, C)[M, N] = size(C, 2);tmp = C+repmat(log(A), 1, N) + repmat(log(x'/sum(x)), M, 1);Que = tmp*x-B;end試試這個。 還有, fsolve(@zueye5,[-1,-2,1,2,3,4,5,6,7,8]

齊次線性方程矩陣形式:AX=0

第7章MATLAB解方程與函數極值7.1線性方程組求解7.2非線性方程數值求解7.3常微分方程初值問題的數值解法7.4函數極值7.1線性方程組求解7.1.1直接解法1.利用左除運算符的直接解法對於線性方程組Ax=b,可以利用左除運算符“”求解:x=Ab例7-1用直接

Matlab語言格式:Z=null(A,'r')

求解線性方程組solve,linsolve例:A=[5042;1-121;4120;1111];%矩陣的行之間用分號隔開,元素之間用逗號或空格B=[3;1;1;0]X=zeros(4,1);%建立一個4元列向量X=linsolve(A,B)diff(fun,var,n):對錶達式fun中的變量var求n階導數。例如:F=sym(

matlab求解線性方程組如何解決問題 第3張

matlab求解線性方程組如何解決問題 第4張

matlab求解線性方程組如何解決問題 第5張

非齊次線性方程組

給你一個例子,來説明如何用Matlab求線性方程組的通解。 >> a=[1 -1 1 -1;-1 1 1 -1;2 -2 -1 1]; %線性方程組的係數矩陣 >> b=[1;1;-1]; % 常列向量 >> [rank(a) rank([a,b])] ans = 2 2 %秩相等且小於4,説明有無窮多解 >> rref([a,b]) %簡化行

非齊次線性方程組的一般形式:AX=b;

給你舉個例子,已知兩個方程表達式,可以利用solve函數求解 [x,y] = solve('-0.43*x -0.67*y -90=0','-0.32*x-0.38*y-280=0')

解方程組如下:

改用數值解: 1、編寫函數: function f=fun2(in) x=in(1);y=in(2);z=in(3);t=in(4); f(1)=((500-x)^2+(3300-y)^2+z^2)/(21.15-t)^2-((3200-x)^2+(3100-y)^2+z^2)/(17.95-t)^2; f(2)=((300-x)^2+(200-y)^2+z^2)/(19.4833-t)^2-((3400-x)^2+(100-

matlab求解線性方程組如何解決問題 第6張

matlab求解線性方程組如何解決問題 第7張

matlab求解線性方程組如何解決問題 第8張

超定方程組

超定方程組是指方程的個數大於未知數的個數的線性方程組,通常只有近似的最小二乘解。

2x-y = -3 3x-y = 7 2 -1 x -3 3 -1 y 7 x -3 2 -1 = y 7 3 -1

Matlab語言格式:X=pinv(A)*b

沒有報錯啊,結果是: ans = -((COH0^2*COHadd^2*Kb^4 + 2*COH0^2*COHadd*Kb^3 + 4*COH0^2*Cblg*Kb^3*N1 + 4*COH0^2*Cblg*Kb^3*N2 + 4*COH0^2*Cblg*Kb^3*N3 + 4*COH0^2*Cblg*Kb^3*N4 + 4*COH0^2*Cblg*Kb^3*N5 + 4*COH0^2*Cblg*Kb^3*N6 + 4*COH0^

解下面方程組:

你還是定義下符號變量吧 syms v1 i1 i2 i3 [v1,i1,i2,i3]=solve('i1=(8-v1)/25000','i2=v1/(j*50e-6)','i3=v1/25000','i1=i2+i3',v1,i1,i2,i3); [v1,i1,i2,i3]

matlab求解線性方程組如何解決問題 第9張

matlab求解線性方程組如何解決問題 第10張

擴展閲讀,以下內容您可能還感興趣。

如何用Matlab求線性方程組的通解

給你一個例子,來説明如何用Matlab求線性方程組的通解知。

>> a=[1 -1 1 -1;-1 1 1 -1;2 -2 -1 1];  %線性方程組的係數矩道陣

>> b=[1;1;-1]; % 常列向量

>> [rank(a) rank([a,b])]

ans =

     2     2  %秩相等且小於4,説明有無窮多解版權

>> rref([a,b])    %簡化行階梯形矩陣

ans =

     1    -1     0     0     0

     0     0     1    -1     1

     0     0     0     0     0

從而原方程組等價於x1=x2,x3=x4+1。

令x2=k1,x4=k2

於是,我們求得通解

如何用matlab求解齊次線性方程組

給你舉個例子,已知兩個方程表達式,可以利用solve函數求解

[x,y] = solve('-0.43*x -0.67*y -90=0','-0.32*x-0.38*y-280=0')

請教:在matlab解方程組中,5個未知數,4個方程的方程組;如何讓其中的一個變量讓其他四個變量表示?

改用數值解:

1、編寫函數:

function f=fun2(in)

x=in(1);y=in(2);z=in(3);t=in(4);

f(1)=((500-x)^7a686964616fe78988e69d83313333326432312+(3300-y)^2+z^2)/(21.15-t)^2-((3200-x)^2+(3100-y)^2+z^2)/(17.95-t)^2;

f(2)=((300-x)^2+(200-y)^2+z^2)/(19.4833-t)^2-((3400-x)^2+(100-y)^2+z^2)/(16.8167-t)^2;

f(3)=((800-x)^2+(1600-y)^2+z^2)/(14.85-t)^2-((2500-x)^2+(1900-y)^2+z^2)/(10.2333-t)^2;

f(4)=((1400-x)^2+(2200-y)^2+z^2)/(13.2833-t)^2-((2300-x)^2+(2800-y)^2+z^2)/(14.7833-t)^2;

f(5)=((1700-x)^2+(700-y)^2+z^2)/(11.7667-t)^2-((2900-x)^2+(900-y)^2+z^2)/(11.7667-t)^2;

2、調用求解:

fsolve(@(x)fun2(x),x0);% x0可以根據實際確定出大致範圍即可

matlab 求助 解方程組

最低0.27元/天開通百度文庫會員,可在文庫查看完整內容>

原發布者:fukbsne57343

matlab解方程e799bee5baa6e79fa5e98193e4b893e5b19e31333433623762組lnx表示成log(x)而lgx表示成log10(x)1-exp(((log(y))/x^0.5)/(x-1))1、解方程最近有多人問如何用matlab解方程組的問題,其實在matlab中解方程組還是很方便的,例如,對於代數方程組Ax=b(A為係數矩陣,非奇異)的求解,MATLAB中有兩種方法:(1)x=inv(A)*b—採用求逆運算解方程組;  (2)x=A\B—採用左除運算解方程組PS:使用左除的運算效率要比求逆矩陣的效率高很多~例:x1+2x2=82x1+3x2=13>>A=[1,2;2,3];b=[8;13];>>x=inv(A)*bx=2.003.00  >>x=A\Bx=2.003.00;即二元一次方程組的解x1和x2分別是2和3。對於同學問到的用matlab解多次的方程組,有符號解法,方法是:先解出符號解,然後用vpa(F,n)求出n位有效數字的數值解.具體步驟如下:第一步:定義變量symsxyz...;第二步:求解[x,y,z,...]=solve('eqn1','eqn2',...,'eqnN','var1','var2',...'varN');第三步:求出n位有效數字的數值解x=vpa(x,n);y=vpa(y,n);z=vpa(z,n);...。如:解二(多)元二(高)次方程組:x^2+3*y+1=0y^2+4*x+1=0解法如下:>>symsxy;>>[x,y]=solve('x^2+3*y+1=0','y^2+4*x+1=0');>>x=vpa(x,4);>>y=vpa(y,4);結果是:x=1.635+3.029*i1.635-3.029*i-.283-2.987y=1.834-3.301*i1.834+3.301*i-.3600-3.307。二元二次方程組,共4個實數根;還有的同學問,如何用matlab解高次方程組(非符號方程組)?舉個例子好嗎?解答如下:基本方法是:solve(s1,s2,…,sn,v1,v2,…,vn),即求表達式s1,s2,…,sn組

matlab 解方程問題,solve解不出來

沒有報錯啊,結果是:

ans =

-((COH0^7a64e59b9ee7ad94313333353330362*COHadd^2*Kb^4 + 2*COH0^2*COHadd*Kb^3 + 4*COH0^2*Cblg*Kb^3*N1 + 4*COH0^2*Cblg*Kb^3*N2 + 4*COH0^2*Cblg*Kb^3*N3 + 4*COH0^2*Cblg*Kb^3*N4 + 4*COH0^2*Cblg*Kb^3*N5 + 4*COH0^2*Cblg*Kb^3*N6 + 4*COH0^2*Cblg*Kb^3*N7 + COH0^2*Kb^2 + 2*COH0*COHadd^2*Kb^3 - 2*COH0*COHadd*Cblg*Kb^3*N1 - 2*COH0*COHadd*Cblg*Kb^3*N2 - 2*COH0*COHadd*Cblg*Kb^3*N3 - 2*COH0*COHadd*Cblg*Kb^3*N4 - 2*COH0*COHadd*Cblg*Kb^3*N5 - 2*COH0*COHadd*Cblg*Kb^3*N6 - 2*COH0*COHadd*Cblg*Kb^3*N7 + 4*COH0*COHadd*Kb^2 + 6*COH0*Cblg*Kb^2*N1 + 6*COH0*Cblg*Kb^2*N2 + 6*COH0*Cblg*Kb^2*N3 + 6*COH0*Cblg*Kb^2*N4 + 6*COH0*Cblg*Kb^2*N5 + 6*COH0*Cblg*Kb^2*N6 + 6*COH0*Cblg*Kb^2*N7 + 2*COH0*Kb + COHadd^2*Kb^2 - 2*COHadd*Cblg*Kb^2*N1 - 2*COHadd*Cblg*Kb^2*N2 - 2*COHadd*Cblg*Kb^2*N3 - 2*COHadd*Cblg*Kb^2*N4 - 2*COHadd*Cblg*Kb^2*N5 - 2*COHadd*Cblg*Kb^2*N6 - 2*COHadd*Cblg*Kb^2*N7 + 2*COHadd*Kb + Cblg^2*Kb^2*N1^2 + 2*Cblg^2*Kb^2*N1*N2 + 2*Cblg^2*Kb^2*N1*N3 + 2*Cblg^2*Kb^2*N1*N4 + 2*Cblg^2*Kb^2*N1*N5 + 2*Cblg^2*Kb^2*N1*N6 + 2*Cblg^2*Kb^2*N1*N7 + Cblg^2*Kb^2*N2^2 + 2*Cblg^2*Kb^2*N2*N3 + 2*Cblg^2*Kb^2*N2*N4 + 2*Cblg^2*Kb^2*N2*N5 + 2*Cblg^2*Kb^2*N2*N6 + 2*Cblg^2*Kb^2*N2*N7 + Cblg^2*Kb^2*N3^2 + 2*Cblg^2*Kb^2*N3*N4 + 2*Cblg^2*Kb^2*N3*N5 + 2*Cblg^2*Kb^2*N3*N6 + 2*Cblg^2*Kb^2*N3*N7 + Cblg^2*Kb^2*N4^2 + 2*Cblg^2*Kb^2*N4*N5 + 2*Cblg^2*Kb^2*N4*N6 + 2*Cblg^2*Kb^2*N4*N7 + Cblg^2*Kb^2*N5^2 + 2*Cblg^2*Kb^2*N5*N6 + 2*Cblg^2*Kb^2*N5*N7 + Cblg^2*Kb^2*N6^2 + 2*Cblg^2*Kb^2*N6*N7 + Cblg^2*Kb^2*N7^2 + 2*Cblg*Kb*N1 + 2*Cblg*Kb*N2 + 2*Cblg*Kb*N3 + 2*Cblg*Kb*N4 + 2*Cblg*Kb*N5 + 2*Cblg*Kb*N6 + 2*Cblg*Kb*N7 + 1)^(1/2) + COH0*Kb - COHadd*Kb + Cblg*Kb*N1 + Cblg*Kb*N2 + Cblg*Kb*N3 + Cblg*Kb*N4 + Cblg*Kb*N5 + Cblg*Kb*N6 + Cblg*Kb*N7 - COH0*COHadd*Kb^2 + 1)/(2*(COH0*Kb^2 + Kb))

-(COH0*Kb - (COH0^2*COHadd^2*Kb^4 + 2*COH0^2*COHadd*Kb^3 + 4*COH0^2*Cblg*Kb^3*N1 + 4*COH0^2*Cblg*Kb^3*N2 + 4*COH0^2*Cblg*Kb^3*N3 + 4*COH0^2*Cblg*Kb^3*N4 + 4*COH0^2*Cblg*Kb^3*N5 + 4*COH0^2*Cblg*Kb^3*N6 + 4*COH0^2*Cblg*Kb^3*N7 + COH0^2*Kb^2 + 2*COH0*COHadd^2*Kb^3 - 2*COH0*COHadd*Cblg*Kb^3*N1 - 2*COH0*COHadd*Cblg*Kb^3*N2 - 2*COH0*COHadd*Cblg*Kb^3*N3 - 2*COH0*COHadd*Cblg*Kb^3*N4 - 2*COH0*COHadd*Cblg*Kb^3*N5 - 2*COH0*COHadd*Cblg*Kb^3*N6 - 2*COH0*COHadd*Cblg*Kb^3*N7 + 4*COH0*COHadd*Kb^2 + 6*COH0*Cblg*Kb^2*N1 + 6*COH0*Cblg*Kb^2*N2 + 6*COH0*Cblg*Kb^2*N3 + 6*COH0*Cblg*Kb^2*N4 + 6*COH0*Cblg*Kb^2*N5 + 6*COH0*Cblg*Kb^2*N6 + 6*COH0*Cblg*Kb^2*N7 + 2*COH0*Kb + COHadd^2*Kb^2 - 2*COHadd*Cblg*Kb^2*N1 - 2*COHadd*Cblg*Kb^2*N2 - 2*COHadd*Cblg*Kb^2*N3 - 2*COHadd*Cblg*Kb^2*N4 - 2*COHadd*Cblg*Kb^2*N5 - 2*COHadd*Cblg*Kb^2*N6 - 2*COHadd*Cblg*Kb^2*N7 + 2*COHadd*Kb + Cblg^2*Kb^2*N1^2 + 2*Cblg^2*Kb^2*N1*N2 + 2*Cblg^2*Kb^2*N1*N3 + 2*Cblg^2*Kb^2*N1*N4 + 2*Cblg^2*Kb^2*N1*N5 + 2*Cblg^2*Kb^2*N1*N6 + 2*Cblg^2*Kb^2*N1*N7 + Cblg^2*Kb^2*N2^2 + 2*Cblg^2*Kb^2*N2*N3 + 2*Cblg^2*Kb^2*N2*N4 + 2*Cblg^2*Kb^2*N2*N5 + 2*Cblg^2*Kb^2*N2*N6 + 2*Cblg^2*Kb^2*N2*N7 + Cblg^2*Kb^2*N3^2 + 2*Cblg^2*Kb^2*N3*N4 + 2*Cblg^2*Kb^2*N3*N5 + 2*Cblg^2*Kb^2*N3*N6 + 2*Cblg^2*Kb^2*N3*N7 + Cblg^2*Kb^2*N4^2 + 2*Cblg^2*Kb^2*N4*N5 + 2*Cblg^2*Kb^2*N4*N6 + 2*Cblg^2*Kb^2*N4*N7 + Cblg^2*Kb^2*N5^2 + 2*Cblg^2*Kb^2*N5*N6 + 2*Cblg^2*Kb^2*N5*N7 + Cblg^2*Kb^2*N6^2 + 2*Cblg^2*Kb^2*N6*N7 + Cblg^2*Kb^2*N7^2 + 2*Cblg*Kb*N1 + 2*Cblg*Kb*N2 + 2*Cblg*Kb*N3 + 2*Cblg*Kb*N4 + 2*Cblg*Kb*N5 + 2*Cblg*Kb*N6 + 2*Cblg*Kb*N7 + 1)^(1/2) - COHadd*Kb + Cblg*Kb*N1 + Cblg*Kb*N2 + Cblg*Kb*N3 + Cblg*Kb*N4 + Cblg*Kb*N5 + Cblg*Kb*N6 + Cblg*Kb*N7 - COH0*COHadd*Kb^2 + 1)/(2*(COH0*Kb^2 + Kb))

接着用subs函數代入數據就好了

望採納,謝謝!追問為什麼這條指令在我的matlab裏就出現了這行error呢

Error in ==> solve at 2

solve('(COHadd - COH)/Cblg = N1*(1/(1 + Kb*COH0) - 1/(1 + Kb*COH)) +

N2*(1/(1+Kb*COH0) - 1/(1 + Kb*COH))+ N3*(1/(1 + Kb*COH0)-1/(1 + Kb*COH)) +追答還有問題麼?