婆娑梵净山 2024-08-02 16:48 采纳率: 89.5%
浏览 13

matatlb关于函数重定义定义的错误


#%% 作者微信:qczsbwjzjn
clear
r = 0.5;                    % 半径
theta= 0: 0.01: 2*pi;       % 弧度
h = 0.05;                   % 步长
x = 0: h: 4*pi;             % 函数定义域
f = sin(0.05*x.*x-1);       % 函数值域
k = diff(f)/ h;             % 一阶差分求近似一阶导数
x = x(1: end - 1);          % 更新定义域
f = f(1: end - 1);          % 更新值域
px = x - k*r./sqrt(k.*k+1); % 计算p点横坐标
py = f + r./sqrt(k.*k+1);   % 计算p点纵坐标
for i = 1:length(px)
    plot(x, f);             % 画曲线
    hold on
    axis([-1.5 14 -2 4])    % 设置坐标轴可视区间
    daspect([1 1 1])        % 固定x,y轴
    % 画圆
  **  a = r * sin(theta) + px(i); 
    b = r * cos(theta) + py(i); 
> **
    plot(a, b); 
    hold off
    m(:,i) =getframe;       % 得到当前帧
end
上面的  **  a = r * sin(theta) + px(i); 
    b = r * cos(theta) + py(i); 
> 是怎样被定义的


  • 写回答

1条回答 默认 最新

  • Lijunyan1298 2024-08-02 21:55
    关注

    这段代码中的错误可能是在计算a和b的值时,theta变量没有定义。为了修复这个错误,我们需要在计算a和b之前定义theta变量。以下是修复后的代码:

    img

    现在,a和b的计算应该没有问题了。

    评论

报告相同问题?

问题事件

  • 创建了问题 8月2日