How can I solve in the error?
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
clear all, clc; % clear all memory and variables
x = linspace(-1,1); % create linear spacing in x-direction
y = linspace(-1,1); % create linear spacing in y-direction
%initialise velocity
U = 1.; %freestream velocity
%looping in i and j-directions
for i = 1:length(x)
for j = 1:length(y)
%create x & y space
xx(i,j) = x(i);
yy(i,j) = y(j);
%calculate radius from x & y
rad(i,j) = sqrt(x(i)^2 + y(j)^2);
% calculate angle from x and y
if x(i) > 0
theta(i,j) = atan(y(j)/x(i));
elseif x(i) <0 && y(j) >= 0
theta(i,j) =atan(y(j)/x(i))+pi;
elseif x(i) < 0 && y(j) < 0
theta(i,j) = atan(y(j)/x(i))-pi;
elseif x(i) == 0 && y(j) < 0
theta(i,j) = pi/2;
else
theta(i,j) = – pi/2;
end
% calculate stream function using polar coordinate system
psi(i,j) = U *rad(i,j)*sin(theta(i,j));
% calculate velocity potential using polar coordinate system
phi(i,j) = U*rad(i,j)*cos(theta(i,j));
end
end
%plotting
contourf(xx,yy,psi,-1:0.2:1,’k’,’LineWidth’,1.5), hold on % plot stream function for range -1:0.1:1
contour(xx,yy,phi,-1:0.2:1,’r’,’LineWidth’,1.5) % plot velocity potential for range -1:0.2:1
axis image, hold off
legend(‘streamlines’,’potential’)
title(‘Uniform stream in x-direction’)
xlabel(‘x-coordinate’), ylabel(‘y-coordinate’)
axis square;
% end of Octave program
2 commentaires
Karim
le 20 Déc 2022
Which error?
After correcting the apostrophes and the minus sign the code appears to run without issues?
Réponses (1)
Stephan
le 20 Déc 2022
%clear all, clc; % clear all memory and variables
x = linspace(-1,1); % create linear spacing in x-direction
y = linspace(-1,1); % create linear spacing in y-direction
%initialise velocity
U = 1.; %freestream velocity
%looping in i and j-directions
for i = 1:length(x)
for j = 1:length(y)
%create x & y space
xx(i,j) = x(i);
yy(i,j) = y(j);
%calculate radius from x & y
rad(i,j) = sqrt(x(i)^2 + y(j)^2);
% calculate angle from x and y
if x(i) > 0
theta(i,j) = atan(y(j)/x(i));
elseif x(i) <0 && y(j) >= 0
theta(i,j) =atan(y(j)/x(i))+pi;
elseif x(i) < 0 && y(j) < 0
theta(i,j) = atan(y(j)/x(i))-pi;
elseif x(i) == 0 && y(j) < 0
theta(i,j) = pi/2;
else
theta(i,j) = -pi/2;
end
% calculate stream function using polar coordinate system
psi(i,j) = U *rad(i,j)*sin(theta(i,j));
% calculate velocity potential using polar coordinate system
phi(i,j) = U*rad(i,j)*cos(theta(i,j));
end
end
%plotting
contourf(xx,yy,psi,-1:0.2:1,'k','LineWidth',1.5), hold on % plot stream function for range -1:0.1:1
contour(xx,yy,phi,-1:0.2:1,'r','LineWidth',1.5) % plot velocity potential for range -1:0.2:1
axis image, hold off
legend('streamlines','potential')
title('Uniform stream in x-direction')
xlabel('x-coordinate'), ylabel('y-coordinate')
axis square;
Voir également
Catégories
En savoir plus sur Polar Plots 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!