how can I solve the problem with the plot function? (every vectors' length should be the same)

1 次查看(过去 30 天)
clear, close all, clc
%% Calculation of Ey and Ez from V
%% Inputs
% Source Info:
Qs = 10e-9;
zs1= -1;
zs2 = 1;
Ns = 200; % No. of sections
% Field points Info (Qt = 1 C assumed)
%y0 = 0.5;
%zf0 = 0.5;
%% Grid of field points
zf1 = -5;
zf2 = 5;
dzf = 0.01;
yf1 = 0.2;
yf2 = 0.8;
dyf = 0.01;
%%
L = zs2-zs1;
rhoL = Qs/L;
dzs = (zs2-zs1)/Ns;
zzs = zs1+0.5*dzs+(0:Ns-1)*dzs;
dq = rhoL*dzs;
yyf = yf1:dyf:yf2; % Field points along y
zzf = zf1:dzf:zf2; % Field points along z
choice = 1;
if choice == 1
Nf = length(yyf);
else
Nf = length(zzf);
end
for ii=1:Nf
yf = yyf(ii);
choice = 0;
for jj=1:Nf
zf = zzf(jj);
rv1 = [0 yf-dyf/2 zf-dzf/2]; % -->V1
for kk=1:Ns
zs = zzs(kk);
rsv = [0 0 zs];
dV(kk) = func_V(rv1,rsv,dq);
end
V1 = sum(dV);
rv2 = [0 yf+dyf/2 zf+dzf/2]; % -->V2
for kk=1:Ns
zs = zzs(kk);
rsv = [0 0 zs];
dV(kk) = func_V(rv2,rsv,dq);
end
V2 = sum(dV);
V(ii,jj) = (V1+V2)/2;
theta = atan(dyf/dzf);
Ey(ii,jj) = -(V2-V1)/sqrt(dyf^2+dzf^2)*sin(theta);
Ez(ii,jj) = -(V2-V1)/sqrt(dyf^2+dzf^2)*cos(theta);
end
end
subplot(2,1,1), plot(yyf,zzf,V)
xlabel('y (m)'), ylabel('z (m)'), zlabel('V (V)')
subplot(2,1,2), plot(yyf,zzf,Ez)
xlabel('y (m)'), ylabel('z (m)'), zlabel(Ez (V/m)')

回答(1 个)

Vanshika Vaishnav
Vanshika Vaishnav 2023-4-12
As the dimensions of the variables are not same (i.e.yyf is 1x61, zzf is 1x1001 and V and Ez are 61x61). It is not possible to plot them in same length.
"plot3" can be used to plot all this variables in vector or same length:
plot3(X,Y,Z) plots coordinates in 3-D space.
  • To plot a set of coordinates connected by line segments, specify X, Y, and Z as vectors of the same length.
  • To plot multiple sets of coordinates on the same set of axes, specify at least one of X, Y, or Z as a matrix and the others as vectors.
for more information refer this documentation:

类别

Help CenterFile Exchange 中查找有关 Sonar and Spatial Audio 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by