Z must be a matrix, not a scalar or vector error while using surf function.
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
'Mtotal' should be calculated for 'a' and 'wd' each with 5values. Means 'Mtotal' should be a 5X5 matrix. But the loops comes to an end for single value of 'a' and 'wd' so am getting a single value for 'Mtotal' instead of getting a 5x5 matrix. Please correct me where I went wrong.
CODE:
clear all;
close all;
x=0
y=0
u0=4*pi*(10^-7);
f=5*10^6;
w=2*pi*f;
u=4*pi*(10^-7);
U=2;
N=5
Li=zeros(1,N)
L0=zeros(5,5)
M=zeros(1,N*N)
Mt1=zeros(5,5)
Mtotal=zeros(5,5)
a=0.1:0.05:0.3
for i=1:5
wd=0.007:0.001:0.011
for j=1:5
r0=[0.0004066 0.0003224 0.0002557 0.0002028 0.0001608]
d=1
s=0.001
e=7*(8.854*10^-12)
sig=0.11
alpha=3.9*10^-3
T=26
T0=33
dout=2.*a(i)
d1=sqrt(2).*a(i)
aw=wd(j)./2
din=dout-(2.*N.*wd(j))-(2.*(N-2).*s)
davg=(dout-din)./(dout+din)
ltc=4.*N.*(dout-(N-1).*(wd(j)+s))
Aw=pi.*(aw.^2)
R=(r0.*ltc.*(1+alpha.*(T-T0)))./Aw
theta=90
J=2.*sin(theta).*sin(theta)+cos(theta).*cos(theta)
sd=(w.*(sqrt((u.*e./2).*(sqrt(1+(sig./(w.*e)).^2)-1)))).^(-1)
G=exp(-d/sd)
Li=zeros(1,N)
ai=a(i)-2.*(N-1).*wd(j)-2.*(N-1).*s:2.*(wd(j)+s):a(i)-2.*(N-N).*wd(j)-2.*(N-N).*s
for k = 1:N
Ni=(u0./pi).*((ai(k).*log((2.*ai(k).*ai(k))./(ai(k)+d1)))+(ai(k).*log((2.*ai(k).*ai(k))./(ai(k)+d1)))+(2.*(d1-ai(k)-ai(k))))
Gi=((u0.*ltc)./(2.*pi)).*(log(aw)-0.12)
Li(k)=Ni-Gi
L0(i,j)=sum(Li)
end
r1=@(bi,bj) sqrt((x+bi).^2+(y+bj).^2+d.^2)
r2=@(bi,bj) sqrt((bi-x).^2+(y+bj).^2+d.^2)
r3=@(bi,bj) sqrt((bi-x).^2+(y-bj).^2+d.^2)
r4=@(bi,bj) sqrt((x+bi).^2+(y-bj).^2+d.^2)
C1=@(bi) bi+x
C4=@(bi) -bi-x
C2=@(bi) bi-x
C3=@(bi) -bi+x
d1=@(bj) y+bj
d2=@(bj) y+bj
d3=@(bj) y-bj
d4=@(bj) y-bj
Bz= @(bi,bj) ((u0./(4.*pi)).*((((((-1).^1).*d1(bj))./(r1(bi,bj).*(r1(bi,bj)+((-1).^(1+1)).*C1(bi))))-(C1(bi)./(r1(bi,bj).*(r1(bi,bj)+d1(bj)))))+(((((-1).^2).*d2(bj))./(r2(bi,bj).*(r2(bi,bj)+(((-1).^(2+1))).*C2(bi))))-(C2(bi)./(r2(bi,bj).*(r2(bi,bj)+d2(bj)))))+(((((-1).^3).*d3(bj))./(r3(bi,bj).*(r3(bi,bj)+(((-1).^(3+1))).*C3(bi))))-(C3(bi)./(r3(bi,bj).*(r3(bi,bj)+d3(bj)))))+(((((-1).^4).*d4(bj))./(r4(bi,bj).*(r4(bi,bj)+((-1).^(4+1)).*C4(bi))))-(C4(bi)./(r4(bi,bj).*(r4(bi,bj)+d4(bj)))))))
bi=a(i)-2.*(N-1).*wd(j)-2.*(N-1).*s:2.*(wd(j)+s):a(i)-2.*(N-N).*wd(j)-2.*(N-N).*s
for l=1:N
bj=a(i)-2.*(N-1).*wd(j)-2.*(N-1).*s:2.*(wd(j)+s):a(i)-2.*(N-N).*wd(j)-2.*(N-N).*s
for m=1:N
M(l,m)=integral2(Bz,0,bi(l),0,bj(m))
Mt1=sum(M(l,m))
Mtotal=(Mt1(l,m)).*J.*G
surf(a(i),wd(j),Mtotal(l,m));
end
end
end
end
ERROR:
Error using surf (line 71)
Z must be a matrix, not a scalar or vector.
Error in FPSSCopti3DM2 (line 116)
surf(a(i),wd(j),Mtotal(l,m));
2 commentaires
Réponses (1)
KALYAN ACHARJYA
le 21 Août 2019
clc;
clear all;
close all;
x=0
y=0
u0=4*pi*(10^-7);
f=5*10^6;
w=2*pi*f;
u=4*pi*(10^-7);
U=2;
N=5
Li=zeros(1,N)
L0=zeros(5,5)
M=zeros(1,N*N)
Mt1=zeros(5,5)
Mtotal=zeros(5,5)
a=0.1:0.05:0.3
for i=1:5
wd=0.007:0.001:0.011
for j=1:5
r0=[0.0004066 0.0003224 0.0002557 0.0002028 0.0001608]
d=1
s=0.001
e=7*(8.854*10^-12)
sig=0.11
alpha=3.9*10^-3
T=26
T0=33
dout=2.*a(i)
d1=sqrt(2).*a(i)
aw=wd(j)./2
din=dout-(2.*N.*wd(j))-(2.*(N-2).*s)
davg=(dout-din)./(dout+din)
ltc=4.*N.*(dout-(N-1).*(wd(j)+s))
Aw=pi.*(aw.^2)
R=(r0.*ltc.*(1+alpha.*(T-T0)))./Aw
theta=90
J=2.*sin(theta).*sin(theta)+cos(theta).*cos(theta)
sd=(w.*(sqrt((u.*e./2).*(sqrt(1+(sig./(w.*e)).^2)-1)))).^(-1)
G=exp(-d/sd)
Li=zeros(1,N)
ai=a(i)-2.*(N-1).*wd(j)-2.*(N-1).*s:2.*(wd(j)+s):a(i)-2.*(N-N).*wd(j)-2.*(N-N).*s
for k = 1:N
Ni=(u0./pi).*((ai(k).*log((2.*ai(k).*ai(k))./(ai(k)+d1)))+(ai(k).*log((2.*ai(k).*ai(k))./(ai(k)+d1)))+(2.*(d1-ai(k)-ai(k))))
Gi=((u0.*ltc)./(2.*pi)).*(log(aw)-0.12)
Li(k)=Ni-Gi
L0(i,j)=sum(Li)
end
r1=@(bi,bj) sqrt((x+bi).^2+(y+bj).^2+d.^2)
r2=@(bi,bj) sqrt((bi-x).^2+(y+bj).^2+d.^2)
r3=@(bi,bj) sqrt((bi-x).^2+(y-bj).^2+d.^2)
r4=@(bi,bj) sqrt((x+bi).^2+(y-bj).^2+d.^2)
C1=@(bi) bi+x
C4=@(bi) -bi-x
C2=@(bi) bi-x
C3=@(bi) -bi+x
d1=@(bj) y+bj
d2=@(bj) y+bj
d3=@(bj) y-bj
d4=@(bj) y-bj
Bz= @(bi,bj) ((u0./(4.*pi)).*((((((-1).^1).*d1(bj))./(r1(bi,bj).*(r1(bi,bj)+((-1).^(1+1)).*C1(bi))))-(C1(bi)./(r1(bi,bj).*(r1(bi,bj)+d1(bj)))))+(((((-1).^2).*d2(bj))./(r2(bi,bj).*(r2(bi,bj)+(((-1).^(2+1))).*C2(bi))))-(C2(bi)./(r2(bi,bj).*(r2(bi,bj)+d2(bj)))))+(((((-1).^3).*d3(bj))./(r3(bi,bj).*(r3(bi,bj)+(((-1).^(3+1))).*C3(bi))))-(C3(bi)./(r3(bi,bj).*(r3(bi,bj)+d3(bj)))))+(((((-1).^4).*d4(bj))./(r4(bi,bj).*(r4(bi,bj)+((-1).^(4+1)).*C4(bi))))-(C4(bi)./(r4(bi,bj).*(r4(bi,bj)+d4(bj)))))))
bi=a(i)-2.*(N-1).*wd(j)-2.*(N-1).*s:2.*(wd(j)+s):a(i)-2.*(N-N).*wd(j)-2.*(N-N).*s
for l=1:N
bj=a(i)-2.*(N-1).*wd(j)-2.*(N-1).*s:2.*(wd(j)+s):a(i)-2.*(N-N).*wd(j)-2.*(N-N).*s
for m=1:N
M(l,m)=integral2(Bz,0,bi(l),0,bj(m))
Mt1=sum(M(l,m))
Mtotal(k)=Mt1*J*G
%surf(a(i),wd(j),Mtotal(l,m));
end
end
end
end
surf(a,wd,Mtotal);
Still you have to correctify to get the correct results
![yu.png](https://www.mathworks.com/matlabcentral/answers/uploaded_files/234864/yu.png)
0 commentaires
Voir également
Catégories
En savoir plus sur Labels and Annotations dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!