Plotting between 2 points in 2017b
9 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Kelb77
am 6 Nov. 2017
Kommentiert: Kelb77
am 6 Nov. 2017
clear all; close all force; clc;
% inputs
AR=5;
L=.5;
Swp_25=45;
%Calcs
b=1; % unit length here
Cr=(2*b)/(AR*(L+1));
Ct=L*Cr;
S=((Cr+Ct)/2)*b;
Swp_LE=atand(tand(Swp_25)+(4/AR)*(.25*((1-L)/(1+L))));
xpc=[0,.25,.50,.75,1.00];
% [Swp0,Swp25,Swp50,Swp75,Swp100]
Swp=atand(tand(Swp_LE)-(4/AR)*(xpc.*((1-L)/(1+L))));
qc=.25*Cr;%length of quarter chord
y11=0;
y12=.125*b;%1/8 of total wingspan
y21=y12;
y22=.25*b;%1/4 of total wingspan
y31=y22;
y32=.375*b;%3/8 of total wingspan
y41=y32;
y42=.5*b;% 1/2 of total wingspan
x11=qc;
x12=x11+y12*tand(Swp(2))*b;
x21=x12;
x22=x11+y22*tand(Swp(2))*b;
x31=x22;
x32=x11+y32*tand(Swp(2))*b;
x41=x32;
x42=x11+y42*tand(Swp(2))*b;
y1m=(y11+y12)/2;
y2m=(y21+y22)/2;
y3m=(y31+y32)/2;
y4m=(y41+y42)/2;
x75=qc*3;%x at 3/4 of root chord
x1m=x75+y1m*tand(Swp(4))*b;
x2m=x75+y2m*tand(Swp(4))*b;
x3m=x75+y3m*tand(Swp(4))*b;
x4m=x75+y4m*tand(Swp(4))*b;
%table
f=uifigure;
headers={'Panel','Xm','Ym','X1n','Y1n','X2n','Y2n'};
data=[1 x1m y1m x11 y11 x12 y21
2 x2m y2m x21 y21 x22 y22
3 x3m y3m x31 y31 x32 y32
4 x4m y4m x41 y41 x42 y42];
t=uitable(f,'Data',data,'ColumnName',headers);
%plot
y=0:.01:y42;
xLE=y.*tand(Swp(1));
xTE=Cr+y.*tand(Swp(5));
xle=xLE(end);
xte=xTE(end);
plot(xLE,y)
hold on
plot(xTE,y)
plot([Cr 0], [0 0])
TC1=[xle,y42];
TC2=[xte,y42]; % my issue is right here
plot(xle,y42,'x') % this works
plot(xte,y42,'x') % this works
plot(TC1,TC2) % this does not work, plots line in wrong place
plot(x1m,y1m,'*')
plot(x2m,y2m,'*')
plot(x3m,y3m,'*')
plot(x4m,y4m,'*')
plot(x11,y11,'o')
plot(x21,y21,'o')
plot(x31,y31,'o')
plot(x41,y41,'o')
legend('Leading Edge','Trailing Edge','Root Chord','Tip Chord','CP1','CP2','CP3','CP4')
legend('Location','northwest')
I'm having some kind of problem with plotting one of my line segments. I can plot both end points of my line but when I try and plot the line between them it's in the wrong place. I'm so confused

0 Kommentare
Akzeptierte Antwort
Cam Salzberger
am 6 Nov. 2017
Assuming your variable names are reasonable, TC1 and TC2 are both a 1x2 array containing x-data for the first element and y-data for the second element. So you are calling:
plot([x1 y1], [x2 y2])
But plot requires the first argument to be all the x-data, and the second argument to be all the y-data:
plot([x1 x2], [y1 y2])
So you have to rearrange how you make that call:
plot([TC1(1) TC2(1)], [TC1(2) TC2(2)])
-Cam
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Graphics Performance finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!