作业帮 > 综合 > 作业

MATLAB中如何确定函数中最大值的坐标

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/06 08:27:05
MATLAB中如何确定函数中最大值的坐标
a=2;
w=3;
t=0:0.01:10;
y=exp(-a*t).*sin(w*t);
[y_max,t_max]=max(y);
x1=t_max
x2=t(t_max)
t_text=['t=',num2str(t(t_max))];
y_text=['y=',num2str(y_max)];
max_text=char('maximum',t_text,y_text);
tit=['y=exp(-',num2str(a),'t)*sin(',num2str(w),'t)'];
hold on
plot(t,y,'b')
plot(t(t_max),y_max,'r.')
text(t(t_max)+0.3,y_max+0.05,max_text)
title(tit),xlabel('t'),ylabel('y'),hold off
在"t_text=['t=',num2str(t(t_max))];"这一行中为什么要用num2str(t(t_max))而不是num2str(t_max),我后来运行后发现t(t_max)的值为0.33,而t_max的值却为34,是错误,我不知道是什么原因,
程序运行结果如下图所示:
[y_max,t_max]=max(y);这行命令返回的是y序列中的最大值y_max,并将这个最大值的索引值赋给了t_max,即第34个数是最大值.因此,t(t_max)实际上是t(34),即t序列中的第34个数的大小是0.33.