2015-08-29 3 views
0

Невозможно написать встроенную функцию агрегации в Matlab. X1, X2 - это переменные массива. И mb и nb - размер BUS DATA.
V - функция напряжения, дельта - угол.Невозможно написать встроенную функцию в Matlab

% objf=inline('sum(V(mb)^2+V(nb)^2-2*V(mb)*V(nb)*cos(delta(mb)-delta(nb)))','mb','nb'); 
% old code running 
objf=inline('4*x1^2-2.1*x1^4+(x1^6)/3+x1*x2-4*x2^2+4*x2^4','x1','x2');** 

* Ошибка с помощью inlineeval (строка 15) Ошибка в выражении инлайн ==> сумма (V (МБ).^2 + V (NB).^2-2. * V (МБ). * V (nb). cos (delta (mb) -delta (nb))) Неопределенная функция 'V' для входных аргументов типа 'double'. Ошибка inline/subsref (строка 24) INLINE_OUT_ = inlineeval (INLINE_INPUTS_, INLINE_OBJ_.inputExpr, INLINE_OBJ_.expr); Ошибка в deeee (строка 48) fx = objf (x (:, 1), x (:, 2));

где переменная Aer определяется как ниже ..

busdata = bus; % ARRAY OF INPUTs 
j=sqrt(-1); 
P=[];Q=[]; 
nb=busdata(:,1); 
kb=busdata(:,2);Vm=busdata(:,3);deltad=busdata(:, 4);Pd=0.8*busdata(:,5)/basemva;Qd=.8*busdata(:,6)/basemva; 
Pg=busdata(:,7)/basemva;Qg=busdata(:,8)/basemva;Bsh=busdata(:,11);Qmin=busdata(:,9)/basemva;Qmax=busdata(:,10)/basemva; 
G=real(Ybus);B=imag(Ybus);slb=find(kb==1);pv=find(kb==2);pq=find(kb==0);pvq=find(kb~=1);npv=length(pv); 
npq=length(pq);npvq=length(pvq);nbus=max(nb); 
delta(nb) = pi/180*deltad(nb); 
V(nb) = Vm(nb).*(cos(delta(nb))+j*sin(delta(nb)))'; 
P(nb)=(Pg(nb)-Pd(nb)); 
flag=0; 
+1

Добро пожаловать в SO! Когда вы говорите «неспособно писать», вы получаете сообщения об ошибках? – banging

+1

В документации четко указано, что [inline будет удален в будущей версии. Вместо этого используйте «Анонимные функции».] (Http://www.mathworks.com/help/matlab/ref/inline.html). Любые конкретные причины использования inline здесь? – Daniel

ответ

1

Что вы блокиратором для является anonymous functions

objf = @(mb,nb)sum(V(mb)^2+V(nb)^2-2*V(mb)*V(nb)*cos(delta(mb)-delta(nb))) 

objf = 

    @(mb,nb)sum(V(mb)^2+V(nb)^2-2*V(mb)*V(nb)*cos(delta(mb)-delta(nb))) 

objf(1,2) 

Там вы идете (насколько все остальные переменные и функции этой анонимной функции).

Смежные вопросы