Plotear en unos ejes pero hacer que aparezcan otros
Publicado por Carlos (60 intervenciones) el 13/05/2011 12:23:44
Hola otra vez....
No sé si lo que intento hacer es un poco complicado o si no busco en los lugares apropiados, o que es lo que pasa, pero me cuesta mucho buscar información concreta sobre algunas cosas (en mi caso mis ejemplos) de Matlab. Supongo que también es normal, se pueden dar tantas variables y ejemplos distintos que no tiene sentido tratar de recogerlos todos...
El caso es que estoy haciendo un plot con diferentes elementos grafiados (un triángulo, una circunferencia, etc) y se grafian con la escala que toca.
Ahora lo que me gustaría hacer es que sin que variasen sus dimensiones, manteniendo la escala, aparezca en la gráfica otros valores que yo añadiría manualmente (no por teclado) a partir de ciertas variables internas al programa.
He estado mirando por axes properties y buscando información pero no veo la manera de variar manualmente los valores del gráfico sin variar la escala.
Añado el código que tengo donde todas las variables que falten vienen de antes y se pueden sustituir por cualquier valor para que vaya el ejemplo. Lo hago ahora y así hay menos dificultad para el que intente ayudarme :) Creo que ya está todo.
page=29.7;
B=7.1293 +56.1236i
I=455.8;
U=380;
%7.- DIAGRAMS
disp(' 7.- DIAGRAMS ')
fprintf('\n')
disp(' 7.1- BLONDEL DIAGRAM ')
page=page-5;
%7.1.- BLONDEL DIAGRAM
breal=real(B);
bimag=imag(B);
%7.1.1.- Scales calculation
% Tension scale
Vscale=(bimag*I*sqrt(3))/page;
Iscale=Vscale/(abs(B)*sqrt(3));
Sscale=(Vscale*U*1000)/abs(B);
%Obtaining phicos straights from 1 to 0.75
x=[0 hip];
phicos1=1.1858267444*x;
phicos2=1.371533304*x;
phicos3=1.06666*x;
phicos4=0.85042*x;
%Visualizing phicos, axis and grid
figure(gcf)
figure(1)
plot(x,phicos1,'g')
hold on
plot(x,phicos2,'g')
plot(x,phicos3,'g')
plot(x,phicos4,'g')
% Max=max([phicos1 phicos2 phicos3 phicos4]);
% Min=min([phicos1 phicos2 phicos3 phicos4]);
%Blondel triangle. Segments obtaining method.
hip=(abs(B))*I*sqrt(3);
c1=breal*I*sqrt(3);
c2=bimag*I*sqrt(3);
p1=[0 0];
p2=[0 hip];
p3x=c1*c2/hip;
p3y=(c1^2)/hip;
p3=[p3x p3y];
x=[p1(1) p2(1) p3(1) p1(1)];
y=[p1(2) p2(2) p3(2) p1(2)];
plot(x,y,'r')
axis([-5 hip -5 hip]);
plot([0 hip],[0 0],'k','linewidth',2)
plot([0 0],[0 hip],'k','linewidth',2)
title('BLONDEL DIAGRAM');
xlabel('Q[MVAr]');
ylabel('S[MW]');
%circunference
N=200;
R=hip;
X0=0;
Y0=0;
angle=linspace(0,2*pi-(1/N),N);
X=cos(angle)*R+X0;
Y=sin(angle)*R+Y0;
plot(X,Y, '-b', 'MarkerSize', 2)
hold off
grid
axis([-5 hip -5 hip]);
No sé si lo que intento hacer es un poco complicado o si no busco en los lugares apropiados, o que es lo que pasa, pero me cuesta mucho buscar información concreta sobre algunas cosas (en mi caso mis ejemplos) de Matlab. Supongo que también es normal, se pueden dar tantas variables y ejemplos distintos que no tiene sentido tratar de recogerlos todos...
El caso es que estoy haciendo un plot con diferentes elementos grafiados (un triángulo, una circunferencia, etc) y se grafian con la escala que toca.
Ahora lo que me gustaría hacer es que sin que variasen sus dimensiones, manteniendo la escala, aparezca en la gráfica otros valores que yo añadiría manualmente (no por teclado) a partir de ciertas variables internas al programa.
He estado mirando por axes properties y buscando información pero no veo la manera de variar manualmente los valores del gráfico sin variar la escala.
Añado el código que tengo donde todas las variables que falten vienen de antes y se pueden sustituir por cualquier valor para que vaya el ejemplo. Lo hago ahora y así hay menos dificultad para el que intente ayudarme :) Creo que ya está todo.
page=29.7;
B=7.1293 +56.1236i
I=455.8;
U=380;
%7.- DIAGRAMS
disp(' 7.- DIAGRAMS ')
fprintf('\n')
disp(' 7.1- BLONDEL DIAGRAM ')
page=page-5;
%7.1.- BLONDEL DIAGRAM
breal=real(B);
bimag=imag(B);
%7.1.1.- Scales calculation
% Tension scale
Vscale=(bimag*I*sqrt(3))/page;
Iscale=Vscale/(abs(B)*sqrt(3));
Sscale=(Vscale*U*1000)/abs(B);
%Obtaining phicos straights from 1 to 0.75
x=[0 hip];
phicos1=1.1858267444*x;
phicos2=1.371533304*x;
phicos3=1.06666*x;
phicos4=0.85042*x;
%Visualizing phicos, axis and grid
figure(gcf)
figure(1)
plot(x,phicos1,'g')
hold on
plot(x,phicos2,'g')
plot(x,phicos3,'g')
plot(x,phicos4,'g')
% Max=max([phicos1 phicos2 phicos3 phicos4]);
% Min=min([phicos1 phicos2 phicos3 phicos4]);
%Blondel triangle. Segments obtaining method.
hip=(abs(B))*I*sqrt(3);
c1=breal*I*sqrt(3);
c2=bimag*I*sqrt(3);
p1=[0 0];
p2=[0 hip];
p3x=c1*c2/hip;
p3y=(c1^2)/hip;
p3=[p3x p3y];
x=[p1(1) p2(1) p3(1) p1(1)];
y=[p1(2) p2(2) p3(2) p1(2)];
plot(x,y,'r')
axis([-5 hip -5 hip]);
plot([0 hip],[0 0],'k','linewidth',2)
plot([0 0],[0 hip],'k','linewidth',2)
title('BLONDEL DIAGRAM');
xlabel('Q[MVAr]');
ylabel('S[MW]');
%circunference
N=200;
R=hip;
X0=0;
Y0=0;
angle=linspace(0,2*pi-(1/N),N);
X=cos(angle)*R+X0;
Y=sin(angle)*R+Y0;
plot(X,Y, '-b', 'MarkerSize', 2)
hold off
grid
axis([-5 hip -5 hip]);
Valora esta pregunta


0