怎么用Matlab解方程?

工具/材料
matlab 2016a
1、打开matlab,首先定义变量x:
syms x;
2、matlab中solve函数的格式是solve(f(x), x),求解的是f(x) = 0的解。
第一个例子,求解最常见的一元二次方程x^2-3*x+1=0:
solve(x^2-3*x+1,x),解出的结果用精确的根式表示。
3、matlab解出的根不仅包含实根,也包含复根,例如求解三次方程x^3+1=0:
solve(x^3+1,x)
我们知道该方程有一对共轭复根,matlab也可以解出它的解。
4、对于超出5次(含)以上的一元函数,有时无法用solve指令求的对应的根。这时可以使用roots命令求解。roots命令的参数是方程的各个系数按高次幂到低次幂排列成的向量,例如x^5+3*x^4-5*x^3+4*x^2-6*x+2=0,如果用solve指令得到的结果不能令人满意,而用roots就可以得到满意的结果。
5、对于非多项式方程,只能使用solve求解。例如求解exp(-x)-x^2+3=0的解如下。通过黄色的警告可以看出,这样的方程没有解析解,与我们已知的知识相同。
6、最后一类方程,是一元一次方程组。这是matlab最擅长的运算,可以使用矩阵进行求解。对于齐次线性方程来讲,使用null(A,r)。其中r表示使用简化阶梯型行列式求解。对于如下的方程,可以解得线性无关的一组解。这样,我们还可以引入常量k1与k2表达通解。
7、对于线性非齐次的解,可以使用linsolve(A,b)。其中A是系数矩阵,b是非齐次项(如果b是多列矩阵,意味着解多个砼系数不同齐次项的方程组)。对于图中的方程组,可已这样求解。
特别提示
matlab求解方程的方法有很多,要找到适合自己需要的方法,需要多加练习。

  • 濡備綍鐢╩atlab瑙绾挎鏂圭▼缁?
    绛旓細濡備笅锛歩nclude<stdio.h> include<math.h> disc=b*b-4*a*c;p=-b/(2.0*a);q=sqrt(disc)/(2.0*a);x1=p+q;x2=p-q;printf("x1=%7.2f\nx2=%7.2f\n",x1,x2);return 0銆
  • matlab瑙f柟绋 骞剁粯鍑鸿寖鍥村唴鐨勫浘鍍?
    绛旓細棰樹富缁欏嚭鐨勬柟绋嬩负闅愬嚱鏁版柟绋嬶紝閭濡備綍鐢╩atlab瑙鍏舵柟绋嬪苟缁樺嚭鑼冨洿鍐呯殑鍥惧儚锛熻繖涓垜浠彲浠ユ寜涓嬪垪姝ラ杩涜锛1銆佺‘瀹歺鑼冨洿骞剁敤鍒涘缓鍏剁瓑宸暟缁勶紝鍗 x=0:100:1000;2銆佷娇鐢╢or寰幆璇彞锛屾眰鍑哄搴斾簬x鐨剏涓绯诲垪鍊硷紝鍗 for i=1:length(x)鎵ц姹傝В鏂圭▼鐨勪唬鐮 end 3銆佷娇鐢╲pasolve鍑芥暟锛屾眰瑙鍊硷紝鍗 y=...
  • 鐢╩atlab鎬庝箞瑙宸垎鏂圭▼?
    绛旓細濡備綍鐢╩atlab瑙宸垎鏂圭▼锛宸垎鏂圭▼鏄寚鏈煡鍑芥暟宸垎鐨勬柟绋嬶紝鍏朵竴鑸舰寮忎负 F(t,yt,螖yt,螖y^2t,路路路锛屛攜^nt)=0 宸垎鏂圭▼鐨勯氳В鏄寚鍚湁鐩镐簰鐙珛鐨勪换鎰忓父鏁帮紝涓斾换鎰忓父鏁扮殑涓暟绛変簬鏂圭▼鐨勪环鏁扮殑瑙o紱宸垎鏂圭▼鐨勭壒瑙f槸鎸囦笉鍚湁浠绘剰甯告暟鐨勮В锛涗负浜嗚鏄庡浣曠敤matlab瑙e樊鍒嗘柟绋嬮棶棰橈紝鐗逛妇渚嬶細渚1...
  • 鎬庝箞鐢╩atlab瑙涓鍏冧簩娆鏂圭▼
    绛旓細1銆侀鍏堟墦寮matlab2017鐗堣蒋浠讹紝鏂板缓涓涓┖鐧界殑鏂囦欢锛2銆佺劧鍚鍦杞欢涓緭鍏ヤ唬鐮侊紝棣栧厛瀹氫箟涓鍏冧簩娆鏂圭▼鐨3涓弬鏁帮紝鐒跺悗瀹氫箟鏂圭▼鐨勫垽鍒紡锛屾帴鐫璁$畻鏂圭▼鐨勪袱涓牴锛屾渶鍚庣敤disp鍑芥暟杈撳嚭鍗冲彲锛3銆佹渶鍚庤繍琛岀▼搴忥紝杈撳叆鏂圭▼鐨3涓郴鏁帮紝鍗冲彲寰楀埌鏍圭殑缁撴灉锛
  • matlab鎬庝箞璁$畻鏂圭▼缁
    绛旓細>>[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','y')2銆佸浜庢瘮杈冨鏉傜殑鏂圭▼缁勶紝鍙互鐢ㄦ暟鍊兼柟娉曚腑鐨勭墰椤胯凯浠f硶锛屼簩鍒嗘硶鏉姹傝В銆傚鏂圭▼缁 姹傝В浠g爜...
  • 鐢╩atlab濡備綍姹傝В寰垎鏂圭▼骞剁敾鍥?
    绛旓細濡備綍鐢╩atlab姹傝В寰垎鏂圭▼骞剁敾鍥撅紝鍙互鍏堢敤dsolve锛堬級鎴杘de锛堬級姹傚嚭鍏跺井鍒嗘柟绋嬶紙缁勶級鐨勮В鏋愯В鎴栨暟鍊艰В锛岀劧鍚庣敤plot锛堬級缁樺埗鍏跺浘褰備緥濡傦細瑙e井鍒嗘柟绋 y'=y-2t/y锛寉(0)=1锛0<t<4 1銆佺敤dsolve锛堬級姹傝В锛屼唬鐮佸強缁撴灉濡備笅 2銆佺敤ode45锛堬級姹傝В锛屼唬鐮佸強缁撴灉濡備笅 3銆佸綋鐒跺柦锛屼娇鐢╠solve锛堬級鎴杘de锛...
  • 濡備綍鐢╩atlab姹鏂圭▼鐨勬墍鏈夋暣鏁拌В
    绛旓細濡備綍鐢╩atlab姹鏂圭▼鐨勬墍鏈夋暣鏁瑙?鍏惰В鍐虫柟妗堬紝鍙互閫氳繃涓嬪垪閫斿緞瑙e喅锛氭柟娉曚竴銆佸埄鐢ㄤ笁寰幆璇彞鍜屽垽鏂鍙ワ紝姹傝В鍏舵墍鏈夋暣鏁拌В 鏂规硶浜屻佹暣鏁扮嚎鎬ц鍒掑垎鏀畾鐣屾硶锛屾眰瑙e叾鎵鏈夋暣鏁拌В 涓嬮潰鎸夌涓绉嶆柟娉曟眰瑙o紝鍏惰繃绋嬩负 m=50;n=50;l=50;disp('婊¤冻鏉′欢锛2x+3y+4z=100鐨勮В')for i=1:m for j=1:n for...
  • 璇烽棶濡備綍鐢╩atlab璁$畻涓嬪垪绾挎鏂圭▼缁?
    绛旓細鐢╩atlab璁$畻绾挎鏂圭▼缁勶紝鍙互杩欐牱鏉ヨ绠椼傛柟娉曚竴锛歑=A\B 鐭╅樀闄ゆ硶 A=[2 1 1;3 1 2;1 2 2];B=[4;0;3];X=A\B 鏂规硶浜岋細X=inv(A)*B 閫嗙煩闃垫硶 X=inv(A)*B 杩愯涓婅堪浠g爜锛屽彲浠ュ緱鍒拌绾挎ф柟绋嬬粍鐨勮В銆傛柟娉曚笁锛氱敤solve 鍑芥暟锛屼篃瑙d笁鍏冧竴娆℃柟绋嬬粍銆
  • 濡備綍鐢╩atlab姹傝В寰垎鏂圭▼骞剁敾鍥
    绛旓細1銆佹壘鍒板叧浜庢眰瑙e父寰垎鏂圭▼鐨勪範棰樸2銆佽繖閲鐢╩atlab姹傝В锛屼富瑕佺敤鍒扮殑灏辨槸鈥渄solve鈥濓紝鍏蜂綋鐨勬牸寮忓涓嬶紝浣嗘槸涓嶄粎浠呭眬闄愪笅闈袱绉嶏紝鍏朵腑eq灏辨槸浠h〃鏂圭▼寮忥紝鑰宑on涓哄垵濮嬫潯浠躲3銆佽繖閲岀殑鈥渪鈥濆叧浜巟鐨勫嚱鏁般傜煡閬撹娉曞氨鍙互杩涜璁$畻浜嗐4銆佸湪matlab涓緭鍏ュ涓嬶紝dsolve('D2y+2*Dy+exp(x)=0','x')锛屽苟鐩...
  • 濡備綍鐢╩atlab瑙涓鍏冧笁娆鏂圭▼
    绛旓細鎶婁綘鏂圭▼鐨勭郴鏁伴檷骞傛帓鍒楋紝鍐欐垚涓涓悜閲忥紝鍒╃敤roots鍛戒护鍗冲彲銆>> p=[1,-6,9,-9];roots(p)ans =4.4260e+000 7.8701e-001 +1.1891e+000i 7.8701e-001 -1.1891e+000i
  • 扩展阅读:matlab求解多元方程组 ... 如何借助matlab解方程 ... 如何利用matlab解方程 ... 新版matlab算方程组 ... matlab解二次微分方程 ... 怎么用matlab解矩阵方程 ... 怎么用matlab解多元方程 ... matlab解二阶差分方程 ... matlab怎么一元方程 ...

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