Borrar filtros
Borrar filtros

ERROR: Undefined function 'sum' for input arguments of type 'cell'. Kindly help me resolve the error.

1 visualización (últimos 30 días)
ERROR:
Undefined function 'sum' for input arguments of type 'cell'.
Error in PSCCandPSSCoptiWdVss (line 45)
p=sum(arrayfun(@(x) x*wdwd, 1:2*N, 'un', 0));
CODE:
clear all;
close all;
d=1;
f=9*10^6;
w=2*pi*f;
u=4*pi*(10^-7);
N=15
%ro=1.72*(10^-8); %copper
ro=0.0005 % Resistance
dout=0.15
t=0.000035
wd=[0.005 0.006 0.007 0.008]
s=[0.006 0.007 0.008 0.009]
%Saad Mutasgar
[wdwd,ss]=meshgrid(wd,s);
C1=1
C2=2.46
C3=0
C4=0.2
din=dout-(2*N*wdwd)-((2*N-2)*ss)
rout=dout/2
rin=din/2
U=2;
phi=(dout-din)/(dout+din)
davg=0.5*(dout+din)
L0=((C1.*u.*N.*N.*davg)./2).*(log(C2./phi)+(C3.*phi)+(C4.*phi.*phi))
M_cir=((u.*N.*(dout.^2).*N.*(dout.^2).*pi)./(2.*sqrt(((dout.^2)+(d.^2)).^3)))
syms x
p=sum(arrayfun(@(x) x*wdwd, 1:2*N, 'un', 0));
q=sum(arrayfun(@(x) x*ss, 1:((2*N)-1)))

Respuesta aceptada

KSSV
KSSV el 30 de Abr. de 2019
Editada: KSSV el 30 de Abr. de 2019
Use
p = cellfun(@sum,arrayfun(@(x) x*wdwd, 1:2*N, 'un', 0),'un',0) ;
instead:
p=sum(arrayfun(@(x) x*wdwd, 1:2*N, 'un', 0));
As the output is cell...you need to use cellfun like arrayfun.
  3 comentarios
KSSV
KSSV el 30 de Abr. de 2019
That case convert the cells into your desired matrix and add them.

Iniciar sesión para comentar.

Más respuestas (1)

madhan ravi
madhan ravi el 30 de Abr. de 2019
% remove syms x
p = sum(cell2mat(arrayfun(...))) % same goes for q
  3 comentarios
madhan ravi
madhan ravi el 30 de Abr. de 2019
Editada: madhan ravi el 30 de Abr. de 2019
Well, it’s pretty obvious, your trying to add 120 elements with 116 elements, so it’s your call now.
bsxfun(@plus,p(:),q)
Also I believe I have answered the question you originally asked. I suggest you to do MATLAB on-ramp course to cover the fundamental basics of MATLAB.

Iniciar sesión para comentar.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by