关于#matlab#的问题!

使用MATLAB绘制函数图像的时候为什么只能绘制出直线?函数表达式如下

img

我自己写的代码如下:

img

它只能绘制出这样的图像:

img

试一下调整一下代码,下面是完整的解答,望采纳

  • 先将函数表示为一个表达式,例如 N = @(t) K./(exp((log((K/N0)-1)-theta*t))+1)。
  • 然后选择一个变量 t 的值域,例如 t = linspace(0,10,1000)。
  • 然后使用表达式和变量的值域计算函数值,例如 N = N(t)。
  • 最后,使用 plot(t,N) 命令绘制函数图像。

如果已经在 MATLAB 命令窗口中定义了 K、N0 和 theta 的值,可以在命令窗口中输入以下代码来绘制函数:

N = @(t) K./(exp((log((K/N0)-1)-theta*t))+1);
t = linspace(0,10,1000);
N = N(t);
plot(t,N);

还可以使用 xlabel、ylabel 和 title 命令分别为 x 轴、y 轴和图像添加标签和标题:

xlabel('t');
ylabel('N');
title('N = f(t)');

X的取值范围过宽,看y的值在-2与+2之间是变化的。
设置坐标轴范围可以:

img

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632

线太粗了,可以把线粗改小点,能看出一点细微的变化,集中在t=0左右的K取值上会有变化;或者先把t的范围限制在[-5:5],就能很明显地看出中间t=0附近是呈上升趋势的,只不过在[-365:365]之间占比太小太密集,所以看得不明显。

你theta N0 K 都已经给定值了,得到的解就是差不多这样的形状