ydcow 发表于 2009-8-8 09:28

matlab中如何做出如下函数的图形?急...

t为0到10s,θ为0到2(pi)之间的一个随机数,不知道这样的图形怎么在matlab中模拟出来,请高手指教!

friendchj 发表于 2009-8-8 10:47

式子中根号下分子与分母同时出现pi,可以略去,参考:
clc
clear
=meshgrid(0:0.5:10,(0:0.1:2)*pi);
f=0;
for k=1:500
    f=f+sqrt(1.024/0.792/k)*cos(0.792*k*T*pi+theta);
end
surf(T,theta,f)

ydcow 发表于 2009-8-8 11:43

回复 沙发 friendchj 的帖子

谢谢,我想要一维的图形,是以t为变量的

friendchj 发表于 2009-8-8 11:46

回复 板凳 ydcow 的帖子

参考:
clc
clear
T=0:0.5:10;
theta=rand(1)*2*pi;
f=0;
for k=1:500
    f=f+sqrt(1.024/0.792/k)*cos(0.792*k*T*pi+theta);
end
plot(T,f)

seeksky 发表于 2009-8-8 15:18

:victory: 觉得回答得很正确!
如果将时间T的步长设置得短一点,比如0:0.001:10,这样会更精确一些,因此函数随时间变化比较敏感,但同时for循环会大大降低计算速度,有没有更好的方法替代for循环,请问?

[ 本帖最后由 seeksky 于 2009-8-8 16:02 编辑 ]

friendchj 发表于 2009-8-8 16:42

回复 5楼 seeksky 的帖子

T的步长和for循环关系不大。因为在for中T被当做一个整体参与运算
页: [1]
查看完整版本: matlab中如何做出如下函数的图形?急...