matlab怎么计算方程组 matlab 求助 解方程组

\u600e\u4e48\u7528matlab\u89e3\u542b\u6709\u5b57\u6bcd\u7cfb\u6570\u7684\u65b9\u7a0b\u7ec4\u7684\u89e3\uff0c\u4e3e\u4e2a\u7b80\u5355\u4f8b\u5b50

\u7528\u6cd5\u4ee5\u8fd9\u4e2a\u4e3a\u4f8b\uff1a
x+A*y=10
x-B*y=1
\u5176\u4e2dx,y\u4e3a\u53d8\u91cf,A,B\u4e3a\u5b57\u6bcd\u7cfb\u6570.
\u53ea\u8981\u5728Matlab\u4e2d\u8f93\u5165
syms x,y,A,B
[x y]=solve('x+A*y=10','x-B*y=1','x','y')
\u5373\u53ef\u6c42\u51fa\u89e3
x =
(A + 10*B)/(A + B)
y =
9/(A + B)
\u5bf9\u4e8e\u51fd\u6570solve\u7684\u5177\u4f53\u7528\u6cd5,\u53ef\u4ee5\u901a\u8fc7\u8f93\u5165help solve\u6765\u5b66\u4e60\u3002

\u6269\u5c55\u8d44\u6599\uff1amatlab\u4e2d\u65b9\u7a0b\u6c42\u89e3\u7684\u57fa\u672c\u547d\u4ee4
1.roots(p) %\u6c42\u591a\u9879\u5f0f\u7684\u6839\uff0c\u5176\u4e2dp\u662f\u591a\u9879\u5f0f\u5411\u91cf\u3002
\u4f8b\u6c42x3-x2+x-1=0\u7684\u6839
\u89e3\uff1a>>roots([1,-1,1,-1])
\u6ce8\uff1a [1,-1,1,-1]\u5728matlab\u4e2d\u8868\u793a\u591a\u9879\u5f0f x3-x2+x-1
2.solve(fun) %\u6c42\u65b9\u7a0bfun=0\u7684\u7b26\u53f7\u89e3\uff0c\u5982\u679c\u4e0d\u80fd\u6c42\u5f97\u7cbe\u786e\u7684\u7b26\u53f7\u89e3\uff0c\u53ef\u4ee5\u8ba1\u7b97\u53ef\u53d8\u7cbe\u5ea6\u7684\u6570\u503c\u89e3
\u4f8b\uff1a\u7528solve\u6c42\u65b9\u7a0bx9+x8+1=0\u7684\u6839
\u89e3\uff1a>>solve(\u2018x^9+x^8+1\u2019)
\u7ed9\u51fa\u4e86\u65b9\u7a0b\u7684\u6570\u503c\u89e3\uff0832\u4f4d\u6709\u6548\u6570\u5b57\u7684\u7b26\u53f7\u91cf\uff09
3.solve(fun,var) %\u5bf9\u6307\u5b9a\u53d8\u91cfvar\u6c42\u4ee3\u6570\u65b9\u7a0bfun=0\u7684\u7b26\u53f7\u89e3\u3002
\u4f8b\uff1a\u89e3\u65b9\u7a0b ax2+bx2+c=0
\u89e3\uff1a>>syms a b c x;
>>f=a*x^2+b*x+c;
>>solve(f)
\u5982\u679c\u4e0d\u6307\u660e\u53d8\u91cf\uff0c\u7cfb\u7edf\u9ed8\u8ba4\u4e3ax,\u4e5f\u53ef\u6307\u5b9a\u81ea\u53d8\u91cf\uff0c\u6bd4\u5982\u6307\u5b9ab\u4e3a\u81ea\u53d8\u91cf
>>symsa b c x;
>> f=a*x^2+b*x+c;
>>solve(f,b)
4.fsolve(fun,x0) %\u6c42\u975e\u7ebf\u6027\u65b9\u7a0bfun=0\u5728\u4f30\u8ba1\u503cx0\u9644\u8fd1\u7684\u8fd1\u4f3c\u89e3\u3002
\u4f8b\uff1a\u7528fsolve\u6c42\u65b9\u7a0bx=e-x\u57280\u9644\u8fd1\u7684\u6839
\u89e3\uff1a>>fsolve(\u2018x-exp(-x)\u2019,0)
5.fzero(fun,x0) %\u6c42\u51fd\u6570fun\u5728x0\u9644\u8fd1\u7684\u96f6\u70b9
\u4f8b\uff1a\u6c42\u65b9\u7a0bx-10x+2=0\u5728x0=0.5\u9644\u8fd1\u7684\u6839
\u89e3\uff1a>>fzero(\u2018x-10^x+2\u2019,0.5)

\u4e00\u3002\u7528matlab \u4e2d\u7684solve\u51fd\u6570
>>syms x y; %\u5b9a\u4e49\u4e24\u4e2a\u7b26\u53f7\u53d8\u91cf\uff1b
>>[x ,y]=solve('y=2*x+3','y=3*x-7');%\u5b9a\u4e49\u4e00\u4e2a 2x1 \u7684\u6570\u7ec4\uff0c\u5b58\u653ex\uff0cy
>>x
>>x=10.0000
>>y
>>y=23.0000
\u4e8c\u3002\u7528matlab \u4e2d\u7684\u53cd\u5411\u659c\u7ebf\u8fd0\u7b97\u7b26\uff08backward slash\uff09
\u5206\u6790\uff1a
\u65b9\u7a0b\u7ec4\u53ef\u5316\u4e3a
2*x-y=-3\uff1b
3*x-y=7\uff1b
AX=B (*)
A=[2,-1;3,-1]; B=[-3,7];
X=A\B %\u53ef\u4ee5\u770b\u6210\u5c06\uff08*\uff09\u5f0f\u5de6\u8fb9\u90fd\u9664\u4ee5\u7cfb\u6570\u77e9\u9635A
>>A=[2,-1;3,-1];
>>B=[-3,7];
>>X=A\b
X =

10.0000 % x = 10.0000
23.0000 % y = 23.0000

1、对于比较简单的方程组,可以用solve()函数命令求解。如方程组  x + y = 1  ; x - 11y = 5

>>[x,y]=solve('x + y = 1','x - 11*y = 5')

又如方程组  exp(x+1)-y²=10 ;ln(x)+3y=7

>>syms x y

>>[x,y]=solve(exp(x+1)-y^2-10,log(x)+3*y-7,'x','y')

2、对于比较复杂的方程组,可以用数值方法中的牛顿迭代法,二分法来求解。如方程组  

求解代码

x0=[1.0 1.0 1.0]';

tol = 1.0e-6;

x = x0 - newton_dfun(x0)
ewton_fun(x0);  %newton_dfun导函数,newton_fun函数

n = 1; 

while (norm(x-x0)>tol) && (n<1000)

x0 = x;

x = x0 - newton_dfun(x0)
ewton_fun(x0);

n = n + 1; 

end

x

求解结果为

x =      0.69829;y =       0.62852;z=       0.34256



matlab中解方程组还是很方便的,例如,对于代数方程组Ax=b(A为系数矩阵,非奇异)的求解,MATLAB中有两种方法:
(1)x=inv(A)*b — 采用求逆运算解方程组;

(2)x=A\B — 采用左除运算解方程组
PS:使用左除的运算效率要比求逆矩阵的效率高很多~
例:
x1+2x2=8
2x1+3x2=13
>>A=[1,2;2,3];b=[8;13];
>>x=inv(A)*b
x =
2.00
3.00
>>x=A\B
x =
2.00
3.00;
即二元一次方程组的解x1和x2分别是2和3。

对于同学问到的用matlab解多次的方程组,有符号解法,方法是:先解出符号解,然后用vpa(F,n)求出n位有效数字的数值解.具体步骤如下:

syms x1 x2 x3 x4 x5 f1 f2 f3 f4 f5
f1=(x1+x2+x3+x4+x5+22.55*x1*x4+7.63*x3*x4+148.222*x1^3*x4+5.86*10^13*x1^12*x4^7+67.03*x1*x4^2+212.17*x1*x4^6+338.08*x1*x5+4948932.908*x1^3*x5^2+3522485477*x1^4*x5^3+3.46*x4*x5+4.109*x3*x5+6.03*x3*x5^2+4.847*x3^2*x5+135498.74*x1^3*x2*x4^3+7.55*10^14*x1^11*x2*x4^7)-1;
f2=0.5653*(1/3*x2+135498.74*x1^3*x2*x4^3+7.55*10^14*x1^11*x2*x4^7)-0.2946*(0.5*x1+22.55*x1*x4+444.666*x1^3*x4+7.03*10^14*x1^12*x4^7+67.03*x1*x4^2+212.17*x1*x4^6+338.08*x1*x5+14846798.72*x1^3*x5^2+1.41*10^10*x1^4*x5^3+406496.24*x1^3*x2*x4^3+8.305*10^15*x1^11*x2*x4^7);
f3=0.2946*(0.5*x3+7.63*x3*x4+4.109*x3*x5+6.03*x3*x5^2+9.694*x3^2*x5)-0.05*(1/3*x2+135498.74*x1^3*x2*x4^3+7.55*10^14*x1^11*x2*x4^7);
f4=0.05*(x4+22.55*x1*x4+7.63*x3*x4+148.222*x1^3*x4+4.102*10^14*x1^12*x4^7+134.06*x1*x4^2+1273.02*x1*x4^6+3.46*x4*x5+406496.24*x1^3*x2*x4^3+5.285*10^15*x1^11*x2*x4^7)-0.3456*(0.5*x3+7.63*x3*x4+4.109*x3*x5+6.03*x3*x5^2+9.694*x3^2*x5);
f5=0.3456*(x5+338.08*x1*x5+9897865.816*x1^3*x5^2+1.056*10^10*x1^4*x5^3+3.46*x4*x5+4.109*x3*x5+12.06*x3*x5^2+4.847*x3^2*x5)-0.05*(x4+22.55*x1*x4+7.63*x3*x4+148.222*x1^3*x4+4.102*10^14*x1^12*x4^7+134.06*x1*x4^2+1273.02*x1*x4^6+3.46*x4*x5+406496.24*x1^3*x2*x4^3+5.285*10^15*x1^11*x2*x4^7);
[solx1 solx2 solx3 solx4 solx5]=solve(f1==0,f2==0,f3==0,f4==0,f5==0,x1,x2,x3,x4,x5);

  • 鎬庢牱鐢MATLAB瑙鏂圭▼缁鍟?
    绛旓細鍙互鐢╲pasolve姹傝В銆傚疄鐜颁唬鐮侊細for lambda=1:0.1:2 syms x qr=1.449*lambda.*(1-0.1416*lambda.^2).^3.0303;lambda1=vpasolve(1.57744*x*(1-0.1667*x.^2).^2.5==qr)end 杩愯缁撴灉 matlab瑙鏂圭▼缁lnx琛ㄧず鎴恖og(x)鑰宭gx琛ㄧず鎴恖og10(x)1-exp(((log(y))/x^0.5)/(x-1))1...
  • matlab姹傜嚎鎬鏂圭▼缁鐨勮В
    绛旓細Matlab鍙互浣跨敤鈥淺鈥濆嚱鏁版眰瑙g嚎鎬鏂圭▼缁鐨勮В銆1. 浣跨敤鈥淺鈥濆嚱鏁 浣跨敤鈥淺鈥濆嚱鏁板彲浠ユ眰瑙e舰濡侫x=b鐨勭嚎鎬ф柟绋嬬粍锛屽叾涓瑼鏄郴鏁扮煩闃碉紝b鏄父鏁板悜閲忋備緥濡傦紝瑕佹眰瑙e涓嬬嚎鎬ф柟绋嬬粍锛3x + 2y = 7 4x - 5y = -8 鍒欏彲浠ユ寜鐓т互涓嬫楠よ繘琛岋細```matlab 瀹氫箟绯绘暟鐭╅樀A鍜屽父鏁板悜閲廱 A = [3, 2; 4, -5]...
  • matlab鎬庝箞璁$畻鏂圭▼缁
    绛旓細1銆佸浜庢瘮杈冪畝鍗曠殑鏂圭▼缁勶紝鍙互鐢╯olve锛堬級鍑芥暟鍛戒护姹傝В銆傚鏂圭▼缁 x + y = 1 锛 x - 11y = 5 >>[x,y]=solve('x + y = 1','x - 11*y = 5')鍙堝鏂圭▼缁 exp(x+1)-y²=10 锛沴n(x)+3y=7 >>syms x y >>[x,y]=solve(exp(x+1)-y^2-10,log(x)+3*y-...
  • matlab鎬庝箞璁$畻鏂圭▼缁
    绛旓細1銆佸浜庢瘮杈冪畝鍗曠殑鏂圭▼缁锛屽彲浠ョ敤solve锛堬級鍑芥暟鍛戒护姹傝В銆傚鏂圭▼缁 x + y = 1 锛泋 - 11y = 5 >>[x,y]=solve('x + y = 1','x - 11*y = 5')鍙堝鏂圭▼缁 exp(x+1)-y²=10 锛沴n(x)+3y=7 >>syms x y >>[x,y]=solve(exp(x+1)-y^2-10,log(x)+3*y-7,'x...
  • matlab鎬庝箞姹傝В涓鍏冧簩娆℃柟绋嬬殑鏂圭▼缁鍟!
    绛旓細1銆侀鍏堢湅涓涓matlab姹傝В鏂圭▼鐨勬柟娉曪紝鎸囨槑鎵瑙f柟绋嬬殑鍙橀噺锛岀劧鍚庢寚鏄庢柟绋嬶紝鏈煡鏁板拰闄愬埗鏉′欢锛屾渶鍚庢眰瑙f柟绋嬨2銆佹潵姹傝Вsin(x)=1鏂圭▼锛屽湪matlab鍛戒护琛岀獥鍙d腑杈撳叆symsx [x,params,conds]=solve (sin(x)==1,'ReturnConditions', true) 锛屾寜鍥炶溅閿彲浠ュ緱鍒版柟绋嬭В锛屽涓嬪浘鎵绀恒3銆佽浆鎹竴涓嬶紝鍙互鐪嬪埌sin...
  • 濡備綍鐢matlab瑙鏂圭▼缁?
    绛旓細P(XY=0)=1,鍗砐銆乊閮戒笉鏄0鐨勬鐜囦负0锛孭(X=1,Y=1)=P(X=-1,Y=1)=0,缁撳悎浜岀淮绂绘暎闅忔満鍙橀噺鐨勬潯浠跺垎甯冨緥鏉ュ仛锛孹=-1鏉′欢涓嬮殢鏈哄彉閲廥鐨勬潯浠跺垎甯冨緥涔嬪拰涓1锛屽嵆P(Y=1|X=-1)+P(Y=0|X=-1)=1,鐢变箻娉曞叕寮廝(AB)=P(B|A)P(A)鍙煡锛屽洜涓篜(X=-1,Y=1)=0锛屾墍P(Y=1|X=-1)...
  • 濡備綍鐢matlab瑙鏂圭▼缁?
    绛旓細x鏄潪闆朵笖涓巈1姝d氦鐨勶紝閭d箞x鍙互鍐欐垚浠ヤ笅褰㈠紡锛歺 = 伪 * e2 + 尾 * e3 鍏朵腑伪銆佄蹭笉鍏ㄤ负0銆傛妸琛ㄨ揪寮忓甫鍏ュ埌鏂圭▼涓緱鍒:A(伪e2+尾e3) = (伪*位2)e2 + (尾位3)e3 = kx k鏄垜浠鎵剧殑姣斾緥鍥犲瓙銆傞氳繃姣旇緝绯绘暟锛屽彲浠ュ緱鍑哄叧浜幬便佄插拰k鐨勫叧绯诲紡缁勶紝鐒跺悗纭畾鍑烘瘮渚嬪洜瀛恔鐨勫叿浣撴暟鍊笺
  • 鐢MATLAB鎬庝箞瑙d簩鍏冧簩娆鏂圭▼缁
    绛旓細鐢matlab瑙d簩鍏冧簩娆鏂圭▼缁锛屽彲浠ョ洿鎺ョ敤solve锛堬級鍑芥暟鏉ユ眰瑙c備緥濡傦細>>[x,y] = solve('x^2*y^2 - 2*x - 1 = 0','x^2 - y^2 - 1 = 0')杩愯缁撴灉 瀵逛簬杈冨鏉傜殑鏂圭▼锛屼篃鍙互鐢ㄦ暟鍊煎垎鏋愮殑鏂规硶锛屽fsolve锛堬級鍑芥暟銆佷簩鍒嗘硶锛岀墰椤挎硶锛屾眰鍑哄叾鏁板艰В銆
  • matlab姹傝В鏂圭▼缁?
    绛旓細棰樹富缁欏嚭鐨勫鏉傜殑鍒嗗紡鏂圭▼缁锛屽彲浠ョ敤vpasolve锛堬級鍑芥暟寰楀埌鍏舵暟鍊艰В銆傛眰瑙f柟娉曞涓:syms x y eq1=x-(107.1+0.2*(4*y+3*x)*(3.83-107.1)/(4*y+3*3.83));eq2=y-(83.7+y*(4*y+3*x)*(1.28-83.7)/(3*x*(3*y+2*1.28)+4*y*(2*y+3*1.28)));[x,y]=vpasolve...
  • matlab濡備綍姹傝В绾挎鏂圭▼缁?
    绛旓細1銆MATLAB 鏄編鍥組athWorks鍏徃鍑哄搧鐨勫晢涓氭暟瀛﹁蒋浠讹紝鐢ㄤ簬绠楁硶寮鍙戙佹暟鎹彲瑙嗗寲銆佹暟鎹垎鏋愪互鍙婃暟鍊璁$畻鐨勯珮绾ф妧鏈绠楄瑷鍜屼氦浜掑紡鐜锛屼富瑕佸寘鎷琈ATLAB鍜孲imulink涓ゅぇ閮ㄥ垎銆2銆丮ATLAB鏄痬atrix&laboratory涓や釜璇嶇殑缁勫悎锛屾剰涓虹煩闃靛伐鍘(鐭╅樀瀹為獙瀹)銆傛槸鐢辩編鍥絤athworks鍏徃鍙戝竷鐨勪富瑕侀潰瀵圭瀛﹁绠椼佸彲瑙嗗寲浠ュ強浜や簰寮忕▼搴...
  • 扩展阅读:求解方程计算器 ... matlab解多元微分方程组 ... matlab解xy方程组 ... matlab解带参数的复杂方程 ... matlab for循环求和 ... matlab求解方程组的解 ... 利用matlab解方程组 ... matlab solve解方程组 ... matlab计算常微分方程组 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网