Hi. I need to plot a specific type of graph using Matlab but I can't find a command to do it. If anyone can tell me what command plots graphs like this it'll be very helpful This is what the graph is supposed to look like

 採用された回答

the cyclist
the cyclist 2015 年 8 月 28 日

0 投票

I suggest you peruse the Plot Gallery for something similar, and heist the code from there.

7 件のコメント

farheen asdf
farheen asdf 2015 年 8 月 28 日
I have already used almost all of these plots but couldn't find anything of much help yet.
the cyclist
the cyclist 2015 年 8 月 28 日
You might need to add some detail to your question. Do you have the x-y coordinates of all those red points? If so, can you use scatter or simply plot?
farheen asdf
farheen asdf 2015 年 8 月 28 日
編集済み: the cyclist 2015 年 8 月 28 日
I think the problem might be in my equations for x and y coordinates. I'm using the equations:
x=l1*cos(theta1)+l2*cos(theta1+theta2)
y=l1*sin(theta1)+l2*sin(theta1+theta2)
where,
l1=10;
l2=7;
0<theta1<pi/2;
0<theta2<pi
I think I haven't correctly initiated angles theta1 and theta2 this is the code i have written
theta1=0:0.01:pi/2;
theta2=0:0.02:pi;
does this give the same range as 0<theta1<pi/2? I have used the gap between the two points in theta1 and theta2 as 0.01 and 0.02 because the x-y equations require them to be of the same size.
farheen asdf
farheen asdf 2015 年 8 月 28 日
this is what i have managed to get so far. It's almost the same but not completely. Any suggestions?
the cyclist
the cyclist 2015 年 8 月 28 日
編集済み: the cyclist 2015 年 8 月 28 日
Try this:
l1=10;
l2=7;
theta1=0:0.01:pi/2;
theta2=0:0.02:pi;
[tt1,tt2] = meshgrid(theta1,theta2);
x = l1*cos(tt1)+l2*cos(tt1+tt2);
y = l1*sin(tt1)+l2*sin(tt1+tt2);
figure
plot(x,y,'r.')
The problem was that you were not actually using all the possible pairings of (theta1,theta2).
farheen asdf
farheen asdf 2015 年 8 月 28 日
thank you so much this is exactly what i needed :)
the cyclist
the cyclist 2015 年 8 月 28 日
Happy to help. Note that in your version, you were forced to keep the number of points in the theta1 and theta2 vectors the same. You don't need to do that now, because you never actually add those two vectors to each other. That will give you more flexibility in making the figure more visually appealing (or more accurately mimic the exact figure you wanted). For example, you can do something like
theta1=0:0.05:pi/2;
theta2=0:0.05:pi;

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

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeLine Plots についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by