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 commentaires

Thomas Murdoch
Thomas Murdoch le 1 Mar 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 le 1 Mar 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 le 1 Mar 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.

Connectez-vous pour commenter.

 Réponse acceptée

David Hill
David Hill le 1 Mar 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 commentaire

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

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Matrices and Arrays dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by