阳城子 2023-04-16 22:53 采纳率: 0%
浏览 15

画出来的曲线应该是连续的,我写的代码不太正规,求写一个标准的

当0<x<0.7时,y=5;
当x<y+0.7时,y=5-0.55(x-0.7)^2;
当y+0.7<x<5时,y=5-1.1[(x-0.7)y-0.5y^2];
在matlab中画y关于x的曲线

  • 写回答

2条回答 默认 最新

  • threenewbee 2023-04-16 23:19
    关注
    % 设置 x 轴的范围
    x = linspace(0, 5, 1000);
    
    % 定义 y 的初始值为 5
    y = ones(1, length(x)) * 5;
    
    % 当 0<x<0.7 时,y=5
    idx = find(x < 0.7);
    y(idx) = 5;
    
    % 当 x<y+0.7 时,y=5-0.55(x-0.7)^2
    idx = find(x >= 0.7 & x < y+0.7);
    y(idx) = 5 - 0.55 * (x(idx) - 0.7).^2;
    
    % 当 y+0.7<x<5 时,y=5-1.1[(x-0.7)y-0.5y^2]
    idx = find(x >= y+0.7 & x <= 5);
    y(idx) = 5 - 1.1 * ((x(idx) - 0.7) .* y(idx) - 0.5 .* y(idx).^2);
    
    % 绘制曲线
    plot(x, y);
    xlabel('x');
    ylabel('y');
    title('y vs. x');
    
    
    评论

报告相同问题?

问题事件

  • 创建了问题 4月16日