MATLAB怎么利用fsolve求解矩阵方程 MATLAB中fsolve如何求解n多个代数方程组

\u8bf7\u6559\uff0cMatlab\u7684fsolve\u51fd\u6570\u600e\u4e48\u7528

fsolve\u662f\u91c7\u7528\u6700\u5c0f\u4e8c\u4e58\u6cd5\u6765\u6c42\u89e3\u975e\u7ebf\u6027\u65b9\u7a0b\u3002\u5b83\u7684\u4e00\u822c\u6c42\u89e3\u65b9\u5f0f\u4e3a\uff1a
X=fsolve(fun,X0,options)
\u5176\u4e2d\uff0cfun\u662f\u8981\u6c42\u89e3\u7684\u975e\u7ebf\u6027\u65b9\u7a0b\uff0cX0\u662f\u53d8\u91cf\u521d\u503c\uff0coptions\u7531optimset\u51fd\u6570\u4ea7\u751f\u7684\u7ed3\u6784\u4f53\uff0c\u7528\u4e8e\u5bf9\u4f18\u5316\u53c2\u6570\u7684\u8bbe\u7f6e\uff0c\u53ef\u4ee5\u7701\u7565\uff08\u91c7\u7528\u9ed8\u8ba4\u503c\uff09\u3002
Fsolve\u53ef\u4ee5\u6c42\u89e3\u7b80\u5355\u7684\u4e00\u7ef4\u975e\u7ebf\u6027\u65b9\u7a0b\uff0c\u5982\uff1a
x = fsolve(@myfun,[0.5 2 4],optimset('Display','iter')); %\u6c42\u89e3\u5728\u521d\u503c\u5206\u522b\u4e3a0.5\uff0c2\u548c4\u65f6\u65b9\u7a0b\u7684\u89e3
\u5176\u4e2d\uff0c\u51fd\u6570myfun\u7684\u5b9a\u4e49\u4e3a\uff1a
function F = myfun(x)
F = sin(x);
Fsolve\u8fd8\u53ef\u4ee5\u6c42\u89e3\u5927\u578b\u7684\u975e\u7ebf\u6027\u65b9\u7a0b\u7ec4\uff0c\u5982
x0 = [51.6;rand;unifrnd(-1,1);rand];
h=optimset;
h.MaxFunEvals=20000;
h.MaxIter=5000;
h.Display='off';
[p,fval] = fsolve(@f,x0,options);
\u6b64\u65f6\uff0c\u65b9\u7a0b\u7ec4\u53ef\u4ee5\u5199\u6210\u77e9\u9635\u5f62\u5f0f\uff1a
function F=f(x)
F=[x(1)+x(2)*(1-exp(-(x(3)*(0)^x(4))))-51.61;
x(1)+x(2)*(1-exp(-(x(3)*(9.78)^x(4))))-51.91;
x(1)+x(2)*(1-exp(-(x(3)*(30.68)^x(4))))-53.27;
x(1)+x(2)*(1-exp(-(x(3)*(59.7)^x(4))))-59.68;];

matlab\u4e2d\u89e3\u65b9\u7a0b\u7ec4\u8fd8\u662f\u5f88\u65b9\u4fbf\u7684\uff0c\u4f8b\u5982\uff0c\u5bf9\u4e8e\u4ee3\u6570\u65b9\u7a0b\u7ec4Ax=b(A\u4e3a\u7cfb\u6570\u77e9\u9635\uff0c\u975e\u5947\u5f02)\u7684\u6c42\u89e3\uff0cMATLAB\u4e2d\u6709\u4e24\u79cd\u65b9\u6cd5\uff1a
(1)x=inv(A)*b \u2014 \u91c7\u7528\u6c42\u9006\u8fd0\u7b97\u89e3\u65b9\u7a0b\u7ec4\uff1b
(2)x=A\B \u2014 \u91c7\u7528\u5de6\u9664\u8fd0\u7b97\u89e3\u65b9\u7a0b\u7ec4
PS\uff1a\u4f7f\u7528\u5de6\u9664\u7684\u8fd0\u7b97\u6548\u7387\u8981\u6bd4\u6c42\u9006\u77e9\u9635\u7684\u6548\u7387\u9ad8\u5f88\u591a~
\u4f8b:
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\uff1b
\u5373\u4e8c\u5143\u4e00\u6b21\u65b9\u7a0b\u7ec4\u7684\u89e3x1\u548cx2\u5206\u522b\u662f2\u548c3\u3002
\u5bf9\u4e8e\u540c\u5b66\u95ee\u5230\u7684\u7528matlab\u89e3\u591a\u6b21\u7684\u65b9\u7a0b\u7ec4\uff0c\u6709\u7b26\u53f7\u89e3\u6cd5\uff0c\u65b9\u6cd5\u662f\uff1a\u5148\u89e3\u51fa\u7b26\u53f7\u89e3,\u7136\u540e\u7528vpa(F,n)\u6c42\u51fan\u4f4d\u6709\u6548\u6570\u5b57\u7684\u6570\u503c\u89e3.\u5177\u4f53\u6b65\u9aa4\u5982\u4e0b\uff1a
\u7b2c\u4e00\u6b65:\u5b9a\u4e49\u53d8\u91cfsyms x y z ...;
\u7b2c\u4e8c\u6b65:\u6c42\u89e3[x,y,z,...]=solve('eqn1','eqn2',...,'eqnN','var1','var2',...'varN');
\u7b2c\u4e09\u6b65:\u6c42\u51fan\u4f4d\u6709\u6548\u6570\u5b57\u7684\u6570\u503c\u89e3x=vpa(x,n);y=vpa(y,n);z=vpa(z,n);...\u3002
\u5982\uff1a\u89e3\u4e8c\uff08\u591a\uff09\u5143\u4e8c\uff08\u9ad8\uff09\u6b21\u65b9\u7a0b\u7ec4\uff1a
x^2+3*y+1=0
y^2+4*x+1=0
\u89e3\u6cd5\u5982\u4e0b\uff1a
>>syms x y;
>>[x,y]=solve('x^2+3*y+1=0','y^2+4*x+1=0');
>>x=vpa(x,4);
>>y=vpa(y,4);
\u7ed3\u679c\u662f\uff1a
x =
1.635+3.029*i
1.635-3.029*i
-.283
-2.987
y =
1.834-3.301*i
1.834+3.301*i
-.3600
-3.307\u3002
\u4e8c\u5143\u4e8c\u6b21\u65b9\u7a0b\u7ec4\uff0c\u51714\u4e2a\u5b9e\u6570\u6839\uff1b
\u89e3\u7b54\u5982\u4e0b\uff1a
\u57fa\u672c\u65b9\u6cd5\u662f\uff1asolve(s1,s2,\u2026,sn,v1,v2,\u2026,vn)\uff0c\u5373\u6c42\u8868\u8fbe\u5f0fs1,s2,\u2026,sn\u7ec4\u6210\u7684\u65b9\u7a0b\u7ec4\uff0c\u6c42\u89e3\u53d8\u91cf\u5206\u522bv1,v2,\u2026,vn\u3002
\u5177\u4f53\u4f8b\u5b50\u5982\u4e0b\uff1a
x^2 + x*y + y = 3
x^2 - 4*x + 3 = 0
\u89e3\u6cd5\uff1a
>> [x,y] = solve('x^2 + x*y + y = 3','x^2 - 4*x + 3 = 0')
\u8fd0\u884c\u7ed3\u679c\u4e3a
x =
1 3
y =
1 -3/2
\u5373x\u7b49\u4e8e1\u548c3\uff1by\u7b49\u4e8e1\u548c-1.5
\u6216
>>[x,y] = solve('x^2 + x*y + y = 3','x^2 - 4*x + 3= 0','x','y')
x =
1 3
y =
1 -3/2
\u7ed3\u679c\u4e00\u6837\uff0c\u4e8c\u5143\u4e8c\u65b9\u7a0b\u90fd\u662f4\u4e2a\u5b9e\u6839\u3002
\u901a\u8fc7\u8fd9\u4e09\u4e2a\u4f8b\u5b50\u53ef\u4ee5\u770b\u51fa\uff0c\u7528matlab\u89e3\u5404\u7c7b\u65b9\u7a0b\u7ec4\u90fd\u662f\u53ef\u4ee5\u7684\uff0c\u65b9\u6cd5\u4e5f\u6709\u591a\u79cd\uff0c\u53ea\u662f\u7528\u5230\u89e3\u65b9\u7a0b\u7ec4\u7684\u51fd\u6570\uff0c\u6ce8\u610f\u6b63\u786e\u4e66\u5199\u53c2\u6570\u5c31\u53ef\u4ee5\u4e86\uff0c\u975e\u5e38\u65b9\u4fbf\u3002
2\u3001\u53d8\u53c2\u6570\u975e\u7ebf\u6027\u65b9\u7a0b\u7ec4\u7684\u6c42\u89e3
\u5bf9\u4e8e\u6c42\u89e3\u975e\u7ebf\u6027\u65b9\u7a0b\u7ec4\u4e00\u822c\u7528fsolve\u547d\u4ee4\u5c31\u53ef\u4ee5\u4e86\uff0c\u4f46\u662f\u5bf9\u4e8e\u65b9\u7a0b\u7ec4\u4e2d\u67d0\u4e00\u7cfb\u6570\u662f\u53d8\u5316\u7684\uff0c\u8be5\u600e\u4e48\u6c42\u5462\uff1f
%\u5b9a\u4e49\u65b9\u7a0b\u7ec4\u5982\u4e0b\uff0c\u5176\u4e2dk\u4e3a\u53d8\u91cf
function F = myfun(x,k)
H=0.32;
Pc0=0.23;W=0.18;
F=[Pc0+H*(1+1.5*(x(1)/W-1)-0.5*(x(1)/W-1)^3)-x(2);
x(1)-k*sqrt(x(2))];
%\u6c42\u89e3\u8fc7\u7a0b
H=0.32;
Pc0=0.23;W=0.18;
x0 = [2*W; Pc0+2*H]; % \u53d6\u521d\u503c
options = optimset('Display','off');
k=0:0.01:1; % \u53d8\u91cf\u53d6\u503c\u8303\u56f4[0 1]
for i=1:1:length(k)
kk=k(i);
x = fsolve(@(x) myfun(x,kk), x0, options);%\u6c42\u89e3\u975e\u7ebf\u6027\u65b9\u7a0b\u7ec4
x1(i)=x(1);
x2(i)=x(2);
end
plot(k,x1,'-b',k,x2,'-r');
xlabel('k')
legend('x1','x2')

X0=zeros(5,1);
X=fsolve(@(X) hanshu(X),X0);

  • 璇锋暀,Matlab鐨刦solve鍑芥暟鎬庝箞鐢
    绛旓細fsolve鍑芥暟鐨勫父鐢ㄦ牸寮忥細[x,fval] = fsolve(fun,x0)渚嬪锛氳嚜瀹氫箟鏂圭▼缁勬枃浠 root2d.m function F = root2d(x)F(1) = exp(-exp(-(x(1)+x(2))) - x(2)*(1+x(1)^2);F(2) = x(1)*cos(x(2)) + x(2)*sin(x(1)) - 0.5;>>fun = @root2d;>>x0 = [0,0];...
  • matlab鍏充簬fsolve鍑芥暟
    绛旓細涓嶅ぇ娓呮浣犺姹傝В鐨勫叿浣撶殑鍑芥暟鏄粈涔堬紝浣嗕竴鑸潵璇fsolve鐨勭敤娉曞涓 1.鍏堝垱寤轰竴涓嚱鏁帮紝姣斿 function F = numel(x)F = [2*x(1)- x(2)- exp(-x(1));-x(1)+ 2*x(2)- exp(-x(2))];2.鍦ㄤ富鏂囦欢涓娇鐢╢solve鍑芥暟姹傝Вnumel(x)=0鐨勮В锛屽崟閫氬父浼氱粰涓涓垵濮嬪硷紝姣斿 x0 = [-5;...
  • MATLAB涓璮solve濡備綍姹傝Вn澶氫釜浠f暟鏂圭▼缁
    绛旓細閫氳繃杩欎笁涓緥瀛愬彲浠ョ湅鍑猴紝鐢╩atlab瑙e悇绫绘柟绋嬬粍閮芥槸鍙互鐨勶紝鏂规硶涔熸湁澶氱锛屽彧鏄敤鍒拌В鏂圭▼缁勭殑鍑芥暟锛屾敞鎰忔纭功鍐欏弬鏁板氨鍙互浜嗭紝闈炲父鏂逛究銆2銆佸彉鍙傛暟闈炵嚎鎬ф柟绋嬬粍鐨勬眰瑙 瀵逛簬姹傝В闈炵嚎鎬ф柟绋嬬粍涓鑸鐢╢solve鍛戒护灏卞彲浠ヤ簡锛屼絾鏄浜庢柟绋嬬粍涓煇涓绯绘暟鏄彉鍖栫殑锛岃鎬庝箞姹傚憿锛熷畾涔夋柟绋嬬粍濡備笅锛屽叾涓璳涓哄彉閲 funct...
  • matlab瑙d笁鍏冧竴娆℃柟绋嬬粍,鏁板艰В,fsolve()鍑芥暟?
    绛旓細鍒嗘瀽浜嗛涓荤殑涓夊厓涓娆℃柟绋嬬粍锛屽彲浠ョ敤vpasolve锛堬級鍑芥暟姹傝В锛岃鐢╢solve锛堬級鏉ユ眰瑙o紝闇瑕佹壘鍒発0锛宬1锛宬2闄勮繎鍊硷紝鍚﹀垯鍙兘寰楀埌鐨勭粨鏋滃苟涓嶆槸浣犳兂瑕佺殑缁撴灉銆傝涓夊厓涓娆℃柟绋嬬粍姹傝В杩囩▼濡備笅锛歮=1660;t=[14.34 17.43 21.49];delta_c=[1.04 1.05 1.05];V0=[34.72 30.56 26.39];V1=[29.17...
  • matlab鎬庝箞鐢╢solve鍑芥暟瑙i潪绾挎ф柟绋嬬粍
    绛旓細缁欎綘涓涓緥瀛愯鏄濡備綍浣跨敤fsolve鍑芥暟瑙i潪绾挎ф柟绋嬬粍 鈶犲湪褰撳墠鐩綍锛屽缓绔嬪苟淇濆瓨fun.m鏂囦欢 function f= fun(x)f(1)=4*x(1)-x(2)+exp(x(1))/10-1 f(2)=-x(1)+4*x(2)+x(1)^2/8 鈶″湪褰撳墠鐩綍鍛戒护绐楀彛涓紝杈撳叆 x=fsolve(fun,[0锛0])...
  • matlab 鎬庝箞鐢╢solve瑙f暟缁勬柟绋
    绛旓細浠ヤ竴涓畝鍗曠殑涓轰緥a=8锛宐=7锛宑=6鏃 function F=fun(x)F=[sqrt(x(1)^2+x(2)^2)-8;sqrt(x(2)^2+x(3)^2)-7;sqrt(x(1)^2+x(3)^2)-6];淇濆瓨 璋冪敤x0=[0;0;0];[x,fv]=fsolve('fun',x0)x0鏄垵濮嬪间换鎰忕殑 鍛戒护fsolve锛坒锛寈0锛夌殑鎰忔濇槸浠巟0寮濮嬫悳浣垮緱f=0鐨勮В 寰...
  • 鎬庢牱鐢∕atlab涓鐨刦zero鎴fsolve鍑芥暟瑙d唬鍙傞噺鐨勬柟绋?
    绛旓細function [q,p,t]=syfsolves ii=0;q=zeros(1,100);p=zeros(1,100);t=zeros(1,100);for a=1:100 bi=num2str(a);b=[bi,'*x^2-8*x+cos(x)'];ii=ii+1;[q(ii),p(ii),t(ii)]=fsolve(b,rand(1));end end 鍏朵腑q浠h〃浣挎柟绋嬬殑瑙 p浠h〃鍦ㄦ柟绋嬪彇q鐨勫 t浠h〃鍋滄姹傝В鐨勫師鍥...
  • 濡備綍鍒╃敤Matlab瑙i
    绛旓細瑙i鏂规硶寤虹珛鑷畾涔夊嚱鏁版枃浠讹紝tx_fun.m銆傛枃浠跺寘鍚袱鏉℃洸绾垮嚱鏁版柟绋嬨鐢╢solve锛堬級鍑芥暟锛屾眰瑙d袱鏉℃洸绾跨殑浜ょ偣銆傜敤plot锛堬級鍑芥暟锛岀敾鍑轰袱鏉℃洸绾裤傜敤text锛堬級鍑芥暟锛屽湪涓ゆ潯鏇茬嚎鐨勪氦鐐归檮杩戞爣娉ㄤ氦鐐瑰潗鏍囧笺MATLAB鏄煩闃靛疄楠屽锛圡atrix Laboratory锛夌殑绠绉帮紝鏄編鍥組athWorks鍏徃鍑哄搧鐨勫晢涓氭暟瀛﹁蒋浠讹紝鐢ㄤ簬绠楁硶寮鍙戙佹暟鎹...
  • matlab鎬庝箞鐢╢solve璁$畻x^7+2*x^5+1=0鐨勮В?
    绛旓細clear all;clc;close all;fzero('(x.^7)+2*(x.^5)+1',0)
  • matlab姹傝В澶嶆潅鏂圭▼
    绛旓細鍒嗘瀽浜嗛涓荤粰鍑哄甫绉垎鐨勬柟绋嬬粍锛屽彲浠ラ氳繃涓嬪垪杩囩▼锛屽緱鍒癡A涓嶴igmaA鐨勬暟鍊艰В銆1銆佸埄鐢╢or寰幆璇彞锛屽皢VE锛孲igmaE宸茬煡鍊硷紝浠e叆姹傝В鍑芥暟閲 2銆鍒╃敤fsolve鍑芥暟姹俈A涓嶴igmaA鐨勬暟鍊艰В x0=銆0.1锛0.1銆;[x,h]=fsolve(@func,x0);3銆佸垱寤鸿嚜瀹氫箟涓诲嚱鏁帮紝y=func(x)4銆佸垱寤鸿嚜瀹氫箟d1鍑芥暟锛宒1=d1_...
  • 扩展阅读:matlab中a&b怎么运算 ... matlab元器件大全 ... multisim元器件图标大全 ... matlab各种符号大全 ... 中国哪些高校matlab被禁 ... matlab为什么占了60g ... matlab怎么快速找到元器件 ... matlab编程solve用法 ... matlab fsolve函数调用 ...

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