wgrk.net
当前位置:首页 >> mAtlAB怎么求解方程组 >>

mAtlAB怎么求解方程组

A=[0 0 15 -22 25; 12 -14 15 0 0; 12 0 0 22 0; 1 0 -1 -1 0; 0 1 1 0 -1]; B=[0;0;6;0;0]; A\B ans = 0.1772 0.1531 0.0011 0.1761 0.1543

>> syms a % 定义 a 为符号变量 f=4*cos(a)-2*sin(a)-6*exp(-2*a); % 方程关系式 solve(f) % 解方程 ans = .86889441616212189601300889832946+0.*i

使用solve函数。举个例子,解非线性方程组 x^2+y^3=10 x^3-y^2=1 其中x,y为方程组的未知量 在Matlab的命名窗口中输入: syms x y [x y]=solve('x^2+y=10','x^2-y^2=1','x','y') 即可 输出计算结果为: x = (37^(1/2)/2 + 21/2)^(1/2) (21/2 - 37...

syms x1 x2 x3 >> [A, b] = equationsToMatrix([3*x1-x2+2*x3==7, -x1+2*x2-2*x3==-1, 2*x1-2*x2+4*x3==0], [x1,x2,x3]) A = [ 3, -1, 2] [ -1, 2, -2] [ 2, -2, 4] b = 7 -1 0 >> s=A\b s = 7/2 -1 -9/4

先写m文件 function [x,y]=line_solution(A,b) [m,n]=size(A); y=[]; if norm(b)>0 if rank(A)==rank([A,b]) if rank(A)==n disp('方程有唯一解x'); x=A\b; else disp('方程有无穷多解,特解为x,其齐次方程组的基础解系为y'); x=A\b; y=null(A,'...

你只要把这句 [x,a,b] = solve(S22,S21,S11) 改为 [x,a,b] = solve(S22,S21,S11,'x,a,b') 就可以了,加的东西就是说明,x,a,b是未知数,剩下的c就是当已知数了。 [x,a,b] = solve(S22,S21,S11,'x,a,b') x = -4*c a = 2*c b = c

看楼主的意思,每次求得的解应该是相同的大小的一维数组,因为不知道具体的解的维度,大概写一下,应该像下面这样吧: for i=1:20 x(:,i)=fsolve(@energe,x0,[],Qxi(i),Qyi(i),cx(i),cy(i)); end 注意要把i=i+1去掉,for循环会自动加的。。。 ...

% 方程AX=0的基础解系:null函数 A=[1 1 1 1 -3 -1 1;1 0 0 0 1 1 0;-2 0 0 -1 0 -1 -2]; r=rank(A) y=null(A, 'r' )

syms a b c d e Rp Rs Tp eq1=a*Rp-1-Rs+b*Tp; eq2=c*Rp+1-Rs-d*Tp; eq3=-e*Rp+Rs+1; [Rp,Rs,Tp]=solve(eq1,eq2,eq3,Rp,Rs,Tp) 没有指定变量而已,这样就行了。

网站首页 | 网站地图
All rights reserved Powered by www.wgrk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com