采用MATLAB的for循环生成了一个分段函数,如何将每一步计算的值赋给另外的一个数组,如下:
麻烦的地方在于,在每一个x值处都要计算dy_dx的值,然后把这个值赋给一个数组,我尝试用zeros()来实现,但是由于分段函数分段点有的是小数,单独计算出个数也难以准确实...
麻烦的地方在于,在每一个x值处都要计算dy_dx的值,然后把这个值赋给一个数组,我尝试用zeros()来实现,但是由于分段函数分段点有的是小数,单独计算出个数也难以准确实现。新手,多谢!
展开
1个回答
展开全部
clc;
clear;
alpha = 0;
theta = 0;
y = [];
dy_dx = [];
z = [];
for x = 0:.02:100
if (x <= 5)
y = [y 0];
dy_dx = [dy_dx nan];
z = [z inf];
elseif ...
...
...
clear;
alpha = 0;
theta = 0;
y = [];
dy_dx = [];
z = [];
for x = 0:.02:100
if (x <= 5)
y = [y 0];
dy_dx = [dy_dx nan];
z = [z inf];
elseif ...
...
...
追问
抱歉,我试了很多次,还是不太明白,劳烦你再具体一些可以吗?谢谢!
追答
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;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |