当前位置:懂科普 >

IT科技

> matlab求解线性方程组如何解决问题

matlab求解线性方程组如何解决问题

——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)) +追答还有问题么?

  • 文章版权属于文章作者所有,转载请注明 https://dongkepu.com/itkeji/vjlql.html