Can't figure out operator use error

x = linspace(0,1,50);
y = linspace(0,1,50);
i = x(1);
j = y(1);
for i < length(x)
for j < length(y)
u(i,j) = (1/sinh(-pi))*sin(pi*y(j))*sinh(pi*(x(i)-1));
j = j+1;
end
j = y(1);
i = 1 + i;
end
surf(u, x, y)
File: visualization_hmw_3_q_1.m Line: 6 Column: 7
Invalid use of operator.

4 comentarios

Thomas Murdoch
Thomas Murdoch el 1 de Mzo. de 2022
I recently solved this problem and want to visualize the function 'u'. I for some reason cannot resolve the '<' error
Star Strider
Star Strider el 1 de Mzo. de 2022
See if the while approach will produce the desired result. I believe you are confusing it with for.
The while approach did work. I have attached my complete code here:
clear all
close all
x = linspace(0,1,50);
y = linspace(0,1,50);
i = 1;
j = 1;
while i <= length(x)
while j <= length(y)
u(i,j) = (1/sinh(-pi))*sin(pi*y(j))*sinh(pi*(x(i)-1));
j = j+1;
end
j = 1;
i = 1 + i;
end
surf(x, y, u)
Walter Roberson
Walter Roberson el 1 de Mzo. de 2022
Is there a particular reason to use while there instead of for ? When you are doing a fixed number of iterations, for is almost always cleaner to code.

Iniciar sesión para comentar.

 Respuesta aceptada

David Hill
David Hill el 1 de Mzo. de 2022
x = linspace(0,1,50);
y = linspace(0,1,50);
u=zeros(50);
for i =1:length(x)
for j =1: length(y)
u(i,j) = (1/sinh(-pi))*sin(pi*y(j))*sinh(pi*(x(i)-1));
end
end
surf(x, y,u)

1 comentario

Alternatively,
[x,y]=meshgrid(linspace(0,1,50));
u = (1/sinh(-pi))*sin(pi*y).*sinh(pi*(x-1));
surf(u,x,y);

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Preguntada:

el 1 de Mzo. de 2022

Comentada:

el 1 de Mzo. de 2022

Community Treasure Hunt

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

Start Hunting!

Translated by