【问题标题】:Matlab join 2 arcsMatlab加入2条弧线
【发布时间】:2017-01-16 04:09:07
【问题描述】:

我正在尝试使用 matlab 绘制形状。在这里我需要加入弧。我使用以下代码创建了弧

circr = @(radius,rad_ang)  [radius*cos(rad_ang);  radius*sin(rad_ang)];         % Circle Function For Angles In Radians

N = 25;                                                         % Number Of Points In Complete Circle

r_angl = linspace(pi/2, 5*pi/4, N);                             % Angle Defining Arc Segment (radians)

radius = 0.5;                                                   % Arc Radius
xy_r = circr(radius,r_angl);                                    % Matrix (2xN) Of (x,y) Coordinates

figure(1)
plot(xy_r(1,:), xy_r(2,:)) 

axis([-1.25*radius  1.25*radius    0  1.25*radius]) 

代码生成以下输出

现在我修改了代码来绘制其他弧

circr = @(radius,rad_ang)  [radius*cos(rad_ang);  radius*sin(rad_ang)];         % Circle Function For Angles In Radians
N = 25;                                                         % Number Of Points In Complete Circle
r_angl = linspace(pi/2, 5*pi/4, N);                             % Angle Defining Arc Segment (radians)

radius = 0.5;                                                   % Arc Radius
xy_r = circr(radius,r_angl);                                    % Matrix (2xN) Of (x,y) Coordinates




r_angl1 = linspace(4*pi/4,pi/4);                             % Angle   Defining Arc Segment (radians)

radius1 = 0.1;                                                   % Arc Radius
xy_r1 = circr(radius1,r_angl1);                                    % Matrix (2xN) Of (x,y) Coordinates


figure(1)
plot(xy_r(1,:), xy_r(2,:),xy_r1(2,:),xy_r1(1,:))                                
axis([-1.25*radius  1.25*radius    0  1.25*radius])             % Set Axis Limits

axis equal 

此代码生成

如何加入两个弧?我需要使用他们的端点加入他们

【问题讨论】:

  • 不清楚您要完成什么。您要绘制连接两条弧线的直线吗?
  • @DMR 我想加入弧的端点

标签: matlab matlab-guide


【解决方案1】:

插入以下行将用线连接端点

hold on;
line([xy_r(1,1) xy_r1(1,end)], [xy_r(2,1) xy_r1(2,end)]);
line([xy_r(1,end) xy_r1(2,1)], [xy_r(2,end) xy_r1(1,1)]);

一起:

figure(1)
plot(xy_r(1,:), xy_r(2,:),xy_r1(2,:),xy_r1(1,:))
hold on;
line([xy_r(1,1) xy_r1(1,end)], [xy_r(2,1) xy_r1(2,end)]);
line([xy_r(1,end) xy_r1(2,1)], [xy_r(2,end) xy_r1(1,1)]);

axis([-1.25*radius  1.25*radius    0  1.25*radius])   % Set Axis Limits
axis equal 

【讨论】:

    猜你喜欢
    • 2019-08-15
    • 2020-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多