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 = 

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

採用された回答

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])

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeNumeric Types についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by