plot line with function but doesn't appear like i want

2 Ansichten (letzte 30 Tage)
nirwana
nirwana am 15 Mai 2023
Kommentiert: Walter Roberson am 15 Mai 2023
I have a figure below and i want to reproduce it using matlab figure
.
The diagonal line come from equation x/(sqrt(x^2+a^2)*v1)
Here the code that I write, but it give me straight line, not diagonal one. Could you tell me please which part that i made mistake?
close all, clear,clc
a=linspace(5,0);
x=linspace(0,3.758);
b=linspace(3.758,10-3.758);
c=linspace(0,-3);
v1=4;
v2=6;
left_eq=x./(sqrt(x.^2+a.^2)*v1);
right_eq=(b-x)./(sqrt(c.^2+(b-x).^2)*v2);
plot(x,left_eq,'-b',b,right_eq,'-r')
  1 Kommentar
Walter Roberson
Walter Roberson am 15 Mai 2023
Your a and x both increase linearly with time, just with different rates. When you run the calculation symbolically you can show that the ratio you are constructing is constant.
a=linspace(0,5);
x=linspace(0,3.758);
denom = sqrt(x.^2 + a.^2);
plot(x, denom)
syms t positive
A = 0 + (5-0)*t
A = 
X = 0 + (3.758-0)*t
X = 
denom = sqrt(A^2 + X.^2)
denom = 
left_eq = X ./ denom
left_eq = 

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Matt J
Matt J am 15 Mai 2023
Bearbeitet: Matt J am 15 Mai 2023
plot([0,3.758,10] , [5,0,-3],'-o','MarkerFaceColor','b'); hold on
plot([0,0],[0,5],':b');
plot([10,10],[0,-3],':b');hold off
yline(0); axis equal; xlim([-3,13])

Weitere Antworten (0)

Kategorien

Mehr zu Numeric Types finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by