I need help to solve this plot:
syms X L
X = 0:L/16:L;
Y = 1 + 2*X;
plot (X,Y);
This is just an example, the function I am trying to solve is a bit complicated.

 Respuesta aceptada

Walter Roberson
Walter Roberson el 17 de Abr. de 2021
In this particular case, you can plot something meaningful. In most cases, you cannot plot with unresolved symbolic variables unless you use fplot() or fplot3() or fsurf() to have MATLAB automatically substitute specific numeric values for the unresolved values.
You cannot, for example, plot a family of curves expecting it to show you abstract curves such as "s", "s/2", "s/4", "3s/2" and so on. Plotting always requires that something replaces all symbolic variables with particular numeric values.
syms X L
X = 0:L/16:L;
Y = 1 + 2*X;
fplot3(L, X, Y, [0 20]); xlabel('L'); ylabel('X'); zlabel('Y');

5 comentarios

Tiago Araujo
Tiago Araujo el 17 de Abr. de 2021
Is it possible to get something like this image?
Walter Roberson
Walter Roberson el 18 de Abr. de 2021
You can get it to draw nearly anything you want, if you put enough effort into it, since you can program in straight lines and curves.
However, to get a diagram such as that, you would still need to plot with specific numeric values, and then label with text.
There is no possibility that MATLAB will automatically draw a diagram such as that on your behalf, with symbolic labels. You would have to tell it something like to use L = 10 for the purpose of drawing, but then tell it to use ytick([0 10]); yticklabel({'0', 'L'})
Tiago Araujo
Tiago Araujo el 18 de Abr. de 2021
How can I fix it?
clear all; clc;
syms X L
X = 0:L/16:L;
Y = 1 + 2*(X/L);
figure
fplot(Y,[0 1]);
I need to plot Y(X) between 0 and 1, in my real problem it doesnt work to assign value to L...
I paste an example from my teacher, i would like to do something like that...
I also tried this:
clear all; clc;
syms X L
X = 0:L/16:L;
for i=1:length(X)
Y(i) = 1 + 2*(X(i)/L);
end
figure
fplot(Y(X),[0 1]);
But it doesnt work.
Walter Roberson
Walter Roberson el 18 de Abr. de 2021
Editada: Walter Roberson el 18 de Abr. de 2021
syms X L
X = 0:L/16:L;
for i=1:length(X)
Y(i) = 1 + 2*(X(i)/L);
end
figure
plot(X/L, Y);
xticklabels(string(sym(xticks)) + " L")
Tiago Araujo
Tiago Araujo el 19 de Abr. de 2021
Great man, you are great!!!
THANKS!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Creating, Deleting, and Querying Graphics Objects en Centro de ayuda y File Exchange.

Preguntada:

el 17 de Abr. de 2021

Comentada:

el 19 de Abr. de 2021

Community Treasure Hunt

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

Start Hunting!

Translated by