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

1 回表示 (過去 30 日間)
nirwana
nirwana 2023 年 5 月 15 日
コメント済み: Walter Roberson 2023 年 5 月 15 日
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 件のコメント
Walter Roberson
Walter Roberson 2023 年 5 月 15 日
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 = 

サインインしてコメントする。

回答 (1 件)

Matt J
Matt J 2023 年 5 月 15 日
編集済み: Matt J 2023 年 5 月 15 日
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])

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by