您好我是matlab和编程的新手,我想知道是否有人能告诉我我的代码有什么问题。
这些是我的指示和价值观
完成dampedOsc函数的实现,该函数评估并绘制一个图形,显示函数y = e-0.8xcos 3x at a a 间隔为0.1且范围为0到3π的点集。
曲线应使用洋红色虚线显示 '五角星'标记。
和我的代码:
function y = dampedOsc(x)
fplot(@(x) (exp(-0.8*x)*cos(3*x)),[0 3*pi()],'mp:')
end
除了这一项外,所有测试都通过了:
测试1(测试该功能已被绘制): 实际值的大小不正确:
expectedSize =
1 95
actualSize =
1 98
Test failed.
老实说,我不知道什么是错的,我认为这是因为缺乏 点间隔但我不知道如何输入它。
答案 0 :(得分:0)
这是一个有趣的问题,所以我会给它一个刺。我可能会做这样的事情。
function z = dampedOsc(x)
if isvector(x) == 0
return
else
z = zeros(1,length(x));
for n = 1 : length(x)
y = exp(-0.8 .* x(n)) .* cos(3 .* x(n));
z(1,n) = y;
end
end
z
end
然后,从另一个脚本调用dampedOsc
函数,应该给出数字。
plot([0 : 0.1 : (3*pi)],dampedOsc(x),'mp:')
我现在面前没有MATLAB,但我认为这应该有用。如果没有,我可以解决它。祝你的项目好运!