matlab用solve解方程组,解出来有很多组解,如何编程只保留全部未知数都大于0的一组解(该方 50
matlab用solve解方程组,解出来有很多组解,如何编程只保留全部未知数都大于0的一组解(该方程组有且只有一组解都大于0)clearclcsymsV1V2V3Vges...
matlab用solve解方程组,解出来有很多组解,如何编程只保留全部未知数都大于0的一组解(该方程组有且只有一组解都大于0)
clear
clc
syms V1 V2 V3 Vges
formel= 'Vges=V1+V2+V3';
formel1='4=0.36+0.313046*V1^2+0.083932*Vges^2';
formel2='4=0.66+0.313046*V2^2+0.083932*Vges^2+0.016782*(Vges-V1)^2';
formel3='4=0.96+0.396033*V3^2+0.083932*Vges^2+0.016782*(Vges-V1)^2';
[V1,V2,V3,Vges]=solve(formel1,formel2,formel3, formel,'Real',true);
V1=vpa(V1,4)
V2=vpa(V2,4)
V3=vpa(V3,4)
Vges=vpa(Vges,4)
以上为该程序,但是这只是一个简单的方程组,我想知道具体的方法,因为我做的东西到后来还有更复杂的更多个方程组的问题,希望各位大神多多支持 展开
clear
clc
syms V1 V2 V3 Vges
formel= 'Vges=V1+V2+V3';
formel1='4=0.36+0.313046*V1^2+0.083932*Vges^2';
formel2='4=0.66+0.313046*V2^2+0.083932*Vges^2+0.016782*(Vges-V1)^2';
formel3='4=0.96+0.396033*V3^2+0.083932*Vges^2+0.016782*(Vges-V1)^2';
[V1,V2,V3,Vges]=solve(formel1,formel2,formel3, formel,'Real',true);
V1=vpa(V1,4)
V2=vpa(V2,4)
V3=vpa(V3,4)
Vges=vpa(Vges,4)
以上为该程序,但是这只是一个简单的方程组,我想知道具体的方法,因为我做的东西到后来还有更复杂的更多个方程组的问题,希望各位大神多多支持 展开
展开全部
一:V1 = double(V1); V2 = double(V2); V3 = double(V3); Vges = double(Vges);
二:ind = find(V1>0&V2>0&V3>0&Vges>0);
三:V1_end = V1(ind); V2_end = V2(ind); V3_end = V3(ind); Vges_end = Vges(ind);
二:ind = find(V1>0&V2>0&V3>0&Vges>0);
三:V1_end = V1(ind); V2_end = V2(ind); V3_end = V3(ind); Vges_end = Vges(ind);
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐于2017-07-20
展开全部
看看fsolve的源代码:>>typefsolvefunction[x,FVAL,EXITFLAG,OUTPUT,JACOB]=fsolve(FUN,x,options,varargin)%FSOLVEsolvessystemsofnonlinearequationsofseveralvariables.%%FSOLVEattemptstosolveequationsoftheform:%%F(X)=0whereFandXmaybevectorsormatrices.%%X=FSOLVE(FUN,X0)startsatthematrixX0andtriestosolvethe%equationsinFUN.FUNacceptsinputXandreturnsavector(matrix)of%equationvaluesFevaluatedatX.%%X=FSOLVE(FUN,X0,OPTIONS)solvestheequationswiththedefaultoptimization%parametersreplacedbyvaluesinthestructureOPTIONS,anargument%createdwiththeOPTIMSETfunction.SeeOPTIMSETfordetails.Used%optionsareDisplay,TolX,TolFun,DerivativeCheck,Diagnostics,%FunValCheck,Jacobian,JacobMult,JacobPattern,LineSearchType,%NonlEqnAlgorithm,MaxFunEvals,MaxIter,PlotFcns,OutputFcn,%DiffMinChangeandDiffMaxChange,LargeScale,MaxPCGIter,%PrecondBandWidth,TolPCG,andTypicalX.UsetheJacobianoptionto%specifythatFUNalsoreturnsasecondoutputargumentJthatisthe%JacobianmatrixatthepointX.IfFUNreturnsavectorFofm%componentswhenXhaslengthn,thenJisanm-by-nmatrixwhereJ(i,j)%isthepartialderivativeofF(i)withrespecttox(j).(Notethatthe%JacobianJisthetransposeofthegradientofF.)%%X=FSOLVE(PROBLEM)solvessystemdefinedinPROBLEM.PROBLEMisa%structurewiththefunctionFUNinPROBLEM.objective,thestartpoint%inPROBLEM.x0,theoptionsstructureinPROBLEM.options,andsolver%name'fsolve'inPROBLEM.solver.Usethissyntaxtosolveatthe%commandlineaproblemexportedfromOPTIMTOOL.ThestructurePROBLEM%musthaveallthefields.%%
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我用其他软件的,应该会有一个选择条件的,可以筛选结果,
然后显示出来
然后显示出来
追问
什么软件能解26元2次方程组吗
追答
好像这个 MATLAB就是最好的了吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询