matlab 二元非线性方程 如何用matlab解多元非线性方程组

\u7528MATLAB\u89e3\u591a\u5143\u975e\u7ebf\u6027\u65b9\u7a0b\u7ec4\uff0c\u6c42\u5927\u795e

\u9996\u5148\u5b9a\u4e49\u51fd\u6570:
function f=fx(x)f(1)=3*x(1)-cos(x(2)*x(3))-0.5;f(2)=x(1)^2-81*(x(2)+0.1)^2+sin(x(3))+1.06;f(3)=exp(-x(1)*x(2))+20*x(3)+(10*pi-3)/3;>> x=fsolve(@fx,[1,1,1])
\u6700\u540e\u6c42\u5f97x =0.5000 0.0000 -0.5236

\u6269\u5c55\u8d44\u6599\uff1aMATLAB\u662f\u7f8e\u56fdMathWorks\u516c\u53f8\u51fa\u54c1\u7684\u5546\u4e1a\u6570\u5b66\u8f6f\u4ef6\uff0c\u7528\u4e8e\u7b97\u6cd5\u5f00\u53d1\u3001\u6570\u636e\u53ef\u89c6\u5316\u3001\u6570\u636e\u5206\u6790\u4ee5\u53ca\u6570\u503c\u8ba1\u7b97\u7684\u9ad8\u7ea7\u6280\u672f\u8ba1\u7b97\u8bed\u8a00\u548c\u4ea4\u4e92\u5f0f\u73af\u5883\uff0c\u4e3b\u8981\u5305\u62ecMATLAB\u548cSimulink\u4e24\u5927\u90e8\u5206\u3002
MATLAB\u548cMathematica\u3001Maple\u5e76\u79f0\u4e3a\u4e09\u5927\u6570\u5b66\u8f6f\u4ef6\u3002\u5b83\u5728\u6570\u5b66\u7c7b\u79d1\u6280\u5e94\u7528\u8f6f\u4ef6\u4e2d\u5728\u6570\u503c\u8ba1\u7b97\u65b9\u9762\u9996\u5c48\u4e00\u6307\u3002MATLAB\u53ef\u4ee5\u8fdb\u884c\u77e9\u9635\u8fd0\u7b97\u3001\u7ed8\u5236\u51fd\u6570\u548c\u6570\u636e\u3001\u5b9e\u73b0\u7b97\u6cd5\u3001\u521b\u5efa\u7528\u6237\u754c\u9762\u3001\u8fde\u63a5\u5176\u4ed6\u7f16\u7a0b\u8bed\u8a00\u7684\u7a0b\u5e8f\u7b49\uff0c\u4e3b\u8981\u5e94\u7528\u4e8e\u5de5\u7a0b\u8ba1\u7b97\u3001\u63a7\u5236\u8bbe\u8ba1\u3001\u4fe1\u53f7\u5904\u7406\u4e0e\u901a\u8baf\u3001\u56fe\u50cf\u5904\u7406\u3001\u4fe1\u53f7\u68c0\u6d4b\u3001\u91d1\u878d\u5efa\u6a21\u8bbe\u8ba1\u4e0e\u5206\u6790\u7b49\u9886\u57df\u3002
\u53c2\u8003\u8d44\u6599\uff1a\u975e\u7ebf\u6027\u65b9\u7a0b\u7ec4\u6570\u503c\u89e3\u6cd5\u767e\u5ea6\u767e\u79d1

\u4f7f\u7528solve\u51fd\u6570\u3002
\u4e3e\u4e2a\u4f8b\u5b50\uff0c\u89e3\u975e\u7ebf\u6027\u65b9\u7a0b\u7ec4 x^2+y^3=10 x^3-y^2=1 \u5176\u4e2dx,y\u4e3a\u65b9\u7a0b\u7ec4\u7684\u672a\u77e5\u91cf \u5728Matlab\u7684\u547d\u540d\u7a97\u53e3\u4e2d\u8f93\u5165\uff1a
syms x y [x y]=solve('x^2+y=10','x^2-y^2=1','x','y') \u5373\u53ef \u8f93\u51fa\u8ba1\u7b97\u7ed3\u679c\u4e3a\uff1a
x = (37^(1/2)/2 + 21/2)^(1/2) (21/2 - 37^(1/2)/2)^(1/2) -(21/2 - 1/2*37^(1/2))^(1/2) -(1/2*37^(1/2) + 21/2)^(1/2)
y = - 37^(1/2)/2 - 1/2 37^(1/2)/2 - 1/2 37^(1/2)/2 - 1/2 - 37^(1/2)/2 - 1/2
\u5177\u4f53solve\u51fd\u6570\u7684\u4f7f\u7528\u65b9\u6cd5\uff0c\u901a\u8fc7\u8f93\u5165help solve\u6765\u5b66\u4e60\u3002
20\u4e16\u7eaa60\u5e74\u4ee3\u4e2d\u671f\u4ee5\u540e\uff0c\u53d1\u5c55\u4e86\u4e24\u79cd\u6c42\u89e3\u975e\u7ebf\u6027\u65b9\u7a0b\u7ec4(1)\u7684\u65b0\u65b9\u6cd5\u3002
\u4e00\u79cd\u79f0\u4e3a\u533a\u95f4\u8fed\u4ee3\u6cd5\u6216\u79f0\u533a\u95f4\u725b\u987f\u6cd5\uff0c\u5b83\u7528\u533a\u95f4\u53d8\u91cf\u4ee3\u66ff\u70b9\u53d8\u91cf\u8fdb\u884c\u533a\u95f4\u8fed\u4ee3\uff0c\u6bcf\u8fed\u4ee3\u4e00\u6b65\u90fd\u53ef\u5224\u65ad\u5728\u6240\u7ed9\u533a\u95f4\u89e3\u7684\u5b58\u5728\u60df\u4e00\u6027\u6216\u8005\u662f\u65e0\u89e3\u3002\u8fd9\u662f\u533a\u95f4\u8fed\u4ee3\u6cd5\u7684\u4e3b\u8981\u4f18\u70b9\uff0c\u5176\u7f3a\u70b9\u662f\u8ba1\u7b97\u91cf\u5927\u3002
\u53e6\u4e00\u79cd\u65b9\u6cd5\u79f0\u4e3a\u4e0d\u52a8\u70b9\u7b97\u6cd5\u6216\u79f0\u5355\u7eaf\u5f62\u6cd5\uff0c\u5b83\u5bf9\u6c42\u89e3\u57df\u8fdb\u884c\u5355\u7eaf\u5f62\u5256\u5206\uff0c\u5bf9\u5256\u5206\u7684\u9876\u70b9\u7ed9\u4e00\u79cd\u6070\u5f53\u6807\u53f7\uff0c\u5e76\u7528\u4e00\u79cd\u6709\u89c4\u5219\u7684\u641c\u7d22\u65b9\u6cd5\u627e\u5230\u5168\u6807\u53f7\u5355\u7eaf\u5f62,\u4ece\u800c\u5f97\u5230\u65b9\u7a0b(1)\u7684\u8fd1\u4f3c\u89e3\u3002
\u8fd9\u79cd\u65b9\u6cd5\u4f18\u70b9\u662f\uff0c\u4e0d\u8981\u6c42f(\u25a1)\u7684\u5bfc\u6570\u5b58\u5728,\u4e5f\u4e0d\u7528\u6c42\u9006\uff0c\u4e14\u5177\u6709\u5927\u8303\u56f4\u6536\u655b\u6027\uff0c\u7f3a\u70b9\u662f\u8ba1\u7b97\u91cf\u5927\u3002

首先,定义变量,只要在你的方程中出现的变量,包括字母常量,都要定义,我给你举一个例子吧,
比如:x^2+u*x+x*y=0
v*y^2+x*y=0
此处,x,y为变量,u,v为字母常量
定义变量的方法: (注:如果没有字母常量,只定义变量就可以)
syms x y u v

其次,永solve命令解方程组:
solve(' 1 ',' 2 ','3 ','4 ')
其中:1、2位置放方程组(可以多于两个,从前往后依次放)
3、4位置放变量(可以多于两个,从后往前依次放)
此处:solve('x^2+u*x+x*y=0','v*y^2+x*y=0','x','y')
就可以得出全部解!!
不知道我说明白了吗!!!,希望对你有帮助!!!!!

回答补充:

例如,用我上述方法打得出答案的字符型,要用subs函数将字符型转化为数值型:
ans =

x: [3x1 sym]
y: [3x1 sym]
%%%ans是用solve结出来的,下面你求具体的u,v对应的解
>> u=3;v=4;
>> subs(ans.x)

ans =

0
-3
-4
>> subs(ans.y)

ans =

0
0
1

扩展阅读:求解方程计算器 ... matlab二元一次回归 ... 用matlab解二元一次方程 ... matlab解带字母的方程 ... matlab解x y方程组 ... matlab 解微分方程 ... matlab jacobi解方程组 ... matlab solve解方程组 ... mathcad解方程 ...

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