matlab函数周期问题

问题描述:

matlab函数周期问题
function T0=torque(p,H,x01,y01,z01,a,b,c,a1,b1,c1)
global J
T=0;
t1=zeros(1,6);
for n=1:6
kz=H*sin(p);
ky=H*cos(p); %力臂
t1(n)=forcey(p,x01,y01,z01,a,b,c,a1,b1,c1,J)*ky+forcez(p,y01,z01,a,b,c,a1,b1,c1,J)*kz; %一对磁体产生的扭矩
T=T+t1(n);
p=p+pi/3; %p为角度
end
T0=6*T; %三对磁极产生的总扭矩
forcey和forcez的周期是pi*2,torque函数的周期应该是pi/3,而运行后出来的图像却是pi*2.
1个回答 分类:数学 2014-09-27

问题解答:

我来补答
既然torque函数的周期应该是pi/3,那么p的步长就不应该是pi/3,而应该小于pi/3.要使得曲线光滑,建议每个周期最少取4点,最好取8点以上甚至16点以上,所以p的步长最好取pi/24或pi/48甚至更多.
再问: 输出的是T不是t1,输出的曲线是(p,T),在调用函数torque的时候再取点。这个函数里只是想得到T的值,t1累加六次得到T,这个六次和pi/3是由物理含义的,不是取点为了绘图。
再答: 再强调一遍:“既然torque函数的周期应该是pi/3,那么p的步长就不应该是pi/3,而应该小于pi/3。”这只是单纯的数学问题,与你如何应用无关。 打个比方,山有山峰与山谷,假如众多山峰之间的距离是规则的1000m,且山峰的高程都是500m,你自第一座山峰开始测量,那么下一个测量点就应该再1000m之内。如果下一点正好1000m处,你的测量显示这是平原。这就是p的步长就不应该是pi/3的原因。
 
 
展开全文阅读
剩余:2000
上一页:单调性最小值
下一页:溶质质量