麻烦的地方在于,在每一个x值处都要计算dy_dx的值,然后把这个值赋给一个数组,我尝试用zeros()来实现,但是由于分段函数分段点有的是小数,单独计算出个数也难以准确实现。新手,多谢!
抱歉,我试了很多次,还是不太明白,劳烦你再具体一些可以吗?谢谢!
追答clc;
clear;
alpha = 0;
theta = 0;
Y = [];
DY_DX = [];
Z = [];
for x = 0:.02:100
if (x <= 5)
y = 0;
dy_dx = nan;
z = inf;
elseif (5 < x && x <= 7.1144)
y = -sqrt(9-(x-5)^2)+3;
dy_dx = (2*x-10)/(2*(9-(x-5)^2)^(1/2));
z = -dy_dx^(-1);
elseif (7.1144 < x && x <= 9.3856)
y = x-6.2426;
dy_dx = 1;
z = -dy_dx^(-1);
% 后面仿照上面
end;
Y = [Y y];
DY_DX = [DY_DX dy_dx];
Z = [Z z];
end;