function f = myfun(x)矩阵定义省略for j=1:28a=0;for i=1;27;a=a+x(i)*A(i,j)*T(i);endJT1(j)=a;endfor j=1:28a=0;for i=1;27;a=a+x(2*i)*A(i,j)*T(i);endJT2(j)=a;endfor j=1:28a=0;for i=1;27;a=a+x(i*3)*A(i,j)*T(i);endJT3(j)=a;endN=[0,0];for i=1:27for j=

来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/17 04:34:35
functionf=myfun(x)矩阵定义省略forj=1:28a=0;fori=1;27;a=a+x(i)*A(i,j)*T(i);endJT1(j)=a;endforj=1:28a=0;fori

function f = myfun(x)矩阵定义省略for j=1:28a=0;for i=1;27;a=a+x(i)*A(i,j)*T(i);endJT1(j)=a;endfor j=1:28a=0;for i=1;27;a=a+x(2*i)*A(i,j)*T(i);endJT2(j)=a;endfor j=1:28a=0;for i=1;27;a=a+x(i*3)*A(i,j)*T(i);endJT3(j)=a;endN=[0,0];for i=1:27for j=
function f = myfun(x)
矩阵定义省略
for j=1:28
a=0;
for i=1;27;
a=a+x(i)*A(i,j)*T(i);
end
JT1(j)=a;
end
for j=1:28
a=0;
for i=1;27;
a=a+x(2*i)*A(i,j)*T(i);
end
JT2(j)=a;
end
for j=1:28
a=0;
for i=1;27;
a=a+x(i*3)*A(i,j)*T(i);
end
JT3(j)=a;
end
N=[0,0];
for i=1:27
for j=1:28
if x(2*i)==1&&A(i,j)==1;
N(k)=j; k=k+1;
end
end
end
a=N(1);b=N(2);
if JT1(a)-JT1(b)>0; %这步就是错的
WT1(a)=JT1(a)-JT1(b);
else WT1(b)=JT1(b)-JT1(a);
end
k=1;
for i=1:27
for j=1:28
if x(3*i)==1&&A(i,j)==1;
N(k)=j; k=k+1;
end
end
end
a=N(1);b=N(2);
if JT2(a)+WT1(a)>JT2(b)+WT1(b)
WT2(a)=JT2(a)+WT1(a)-JT2(b)+WT1(b);
else WT2(b)=JT2(b)+WT1(b)-JT2(a)+WT1(a);
end
m=0;
for j=1:28
if JT1(m)+JT2(m)+JT3(m)+WT1(m)+WT2(m)

function f = myfun(x)矩阵定义省略for j=1:28a=0;for i=1;27;a=a+x(i)*A(i,j)*T(i);endJT1(j)=a;endfor j=1:28a=0;for i=1;27;a=a+x(2*i)*A(i,j)*T(i);endJT2(j)=a;endfor j=1:28a=0;for i=1;27;a=a+x(i*3)*A(i,j)*T(i);endJT3(j)=a;endN=[0,0];for i=1:27for j=
你是如何判断你的代码出错了呢?如果你能通过某种依据确定程序执行到某一行时结果不对,那么就可以逐步的检查之前的代码来缩小搜索范围,并最终准确定位.
而且值得一提的是,你代码里大量的出现一些有问题的行,例如,你经常把:写成;
还有通常控制流程语句是不需要以;结尾的,如if for 等.先把这些语法问题订正了.至于订正后你的代码是否能达到你目的,鉴于你没有说明你到底想做什么,所以对不对就需要你自己判断了.

matlab程序运行出现?Input argument x is undefined.Error in ==> myfun at 2 F = [ 2*x(1)程序:function F = myfun(x,c)F = [ 2*x(1) - x(2) - exp(c*x(1))-x(1) + 2*x(2) - exp(c*x(2))];c = -1; % define parameter firstx = fsolve(@(x) myfun(x,c),[-5 function f=myfun(X) f=0.34*X(1)+0.004*X(2)+0.14*X(3)+0.24*X(4)+0.08*X(5)+0.03*X(6)+6.05*X(7); goal=function f=myfun(X)f=0.34*X(1)+0.004*X(2)+0.14*X(3)+0.24*X(4)+0.08*X(5)+0.03*X(6)+6.05*X(7);goal=[1,1,1];weight=[1,1,1];X0=[190;150;120;60;800;1100;4]; Matlab用自定义函数拟合函数自定义函数function F = myfun(a,x),形式如下:F=(1-0.1/(1+0.1*((1-a(2)).^2/(4*a(2))+(x-a(2)).^2/(4*a(2)*x)+(x-a(3)).^2/(4*a(3)*x))))*a(1)用[x,resnorm] = lsqcurvefit(@myfun,x0,x,y)进行拟合时,提示维 matlab中lsqcurvefit函数报错问题函数程序:function f=myfun(a,x)f=a(1)*35*exp(a(2)*x+a(3)*x^2);命令:x=[11.6 12.8 14.1 14.4 13.9 13 12.4];y=[-0.3 -1 -1.48 -1.16 -1.26 -0.67 -0.73];a0=[0,0];[x,Resnorm]=lsqcurvefit(@myfun,a0,x,y)报错:E Matlab中函数文件中输入变量的问题,请高手赐教.函数文件如下:function F=myfun(x)F=[x(1)+x(2)-1-P;x(1)-x(2)-P];同一工作目录下,在MATLAB明亮窗口运行下列指令:for P=1:10x0 = [-6;-5];x = fsolve(@myfun,x0) %使用fs 刚接触matlab 调用M文件问题首先在Matlab优化工具箱中编写目标函数的M文件 myfun.m,返回x处的函数值f:function f = myfun(x)f=0.785398*(4.75*x(1)*x(2)^2*x(3)^2+85*x(1)*x(2)*x(3)^2-85*x(1)*x(3)^2+0.92*x(1)*x(6)^2-x(1)*x(5)^ matlab中求解完方程组后怎样做三维图?(af作为X轴,a作为Y轴,p作为Z轴)文件trt.m,程序如下:function trtfsolve(@myfun,[100,10])function f=myfun(x)p=x(1);%作为Z轴t=x(2);%中间变量a=0.1;%作为Y轴,范围a=(0:0.05:2)af=8 非线性约束规划 我编制了 目标函数和约束函数 为什么在matlab中还是出错 求大神看看这不给力的function f=myfun(x)f=0.192457*le-4*(x(2)+2)*x(1)^2*x(3);function [c,cep]=mycon(x)c(1)=350-163*x(1)^(-2.86)*x(3)^0.86;c(2)=1 matlab fmincon函数用法高手帮我看下这段有什么问题,为什么运行不出来目标函数和非线性约束不能放在一个M文件里面么?function f = myfun(x)f = 0.192457*1e-4*(x(2)+2)*x(1)^2*x(3);function [c,ceq] = mycon(x)c(1)=350 matlab变量我想建个函数:function f=myfun(q,r,s,t)f=solve('p+q+r+s+t','p')输入myfun(1,1,1,1)结果为:-q-r-s-t我想得到的结果为:-4怎么solve中的变量不与 myfun函数一致? matlab怎么表示含参变量的积分matlab中,我想表示一个函数g(a)=(函数f(a,x)在[0,a]上对x的积分)终于知道怎么做了,很直接地function F=g(a)F=quad(@(x)myfun(x,a),0,a);我一直不清楚的是含两个自变量的函数 lsqcurvefit在matlab中拟合多元函数问题这是M文件:function F=myfun(x,data)F=x(1)+x(2)*xdata(:,1)+x(3)*xdata(:,1).^2+x(4)*xdata(:,2)+x(5)*data(:,2).^2;下面是数据:xdata=[14.9,0.8;13.6,0.62;13.6,0.98;16.2,0.98;16.2,0.62];ydata=[11172 这个程序哪里出问题了,该怎么修改?目标函数:function f=myfun(x)f=2.5*x(1)+0.25*x(2)+0.012*x(2)*x(3)+10;约束文件:function[c,ceq]=mycon(x)c(1)=(1.82*10^5)/(x(3)^2)-225;c(2)=[((0.008*x(1)+1)*1.5*(10^5))/0.89*x(1)^2]-150;c(3)=((1. 求matlab大神帮我解决下这个程序,目标函数的M文件是:function=myfun(x)f=8.8279*x(1)^3*x(2)^3*x(3);非线性约束的M文件是:function[c,ceq]=yueshu(x)c(1)=0.9-x(1)/(x(2)*x(3));c(2)=x(1)/(x(2)*x(3))-1.4;c(3)=x(2)*x(3)-300;c(4)=14 matlab 函数 fmincon求解非线性规划,求这个函数的最小值 function f = myfun(x)f = (pi*(x(3)+2)*x(2)*x(1)^2)/4;运行后返回(约束在最后面有写)Warning:Trust-region-reflective method does not currently solve this type of prob matlab 中解二元非线性方程组问题,fsolve高手帮帮忙function F=myfun(x);Isc=11;Voc=26.9;Vmpp=21.6;Impp=10.2;ns=1;Vt=13.8;Rs=x(1);Rsh=x(2);F=[(Isc*Rsh+Isc*Rs-Voc)*exp((Vmpp+Impp*Rs-Voc)/(ns*Vt))-(Isc-Impp)*(Rs+Rsh)-Vmpp;(Voc-Isc*(Rs+Rsh)) 我的.m函数如下:function F = myfun(x)F = [(2*x(1)+3*x(2)+x(3))^2*(x(1)+x(2))*(1-x(3))/((1-x(1)-x(2))*(2-0.5*x(1))^0.5*(1+3+1.5*x(1)+2*x(2))^1.5)-3.46e+11;(2*x(1)+3*x(2)+x(3))^3*(x(1)+x(2))*(1-x(3))/((1-x(1)-x(2))*(1-x(2)-x(3))^0.5*(1+3+1.5*x(1 Matlab出现Too many input arguments.x0=[5*1e-3,8*1e-3,2*1e-3,12,1];f=@(x)eq(x(1),x(2),x(3),x(4),x(5));option=optimset('MaxFunEvals',1000,'TolFun',1e-3,'TolX',1e-3);[tmp fval]=fsolve(f,x0,option)function f=myfun(x)B=[x(1),x(2),x(3)];t=1e-3;f(1)=(lagr