How can I solve in the error?
2 views (last 30 days)
Show older comments
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 Comments
Karim
on 20 Dec 2022
Which error?
After correcting the apostrophes and the minus sign the code appears to run without issues?
Answers (1)
Stephan
on 20 Dec 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;
See Also
Categories
Find more on Geometric Transformation and Image Registration in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!