我有一个类似于所示功能的功能。即对于不同的x范围,它有不同的形式(我不知道这些函数的数学术语,因此详细说明)
第一个问题是我需要知道如何在matlab中绘制这些函数。 第二个问题是,术语'h'有3个不同的值,我需要在同一个图中为三个不同的'h'绘制三个不同的函数
我如何在MATLAB中执行此操作。我正在使用syms来创建函数定义。感谢。
答案 0 :(得分:0)
在matlab中实现该函数,使其具有两个参数:x和h(确保使用掩码对其进行矢量化)。然后选择您要在哪个时间间隔内显示该功能,并在该时间间隔内对每个h值进行采样。最后收集矩阵中的所有向量并绘制矩阵。
示意性地:
function res = pbar(x, a, h)
case1indices=find(x<0);
case2indices=find(x>=0 && x<a);
case3indices=find(x>=a);
res(case1indices) = 0;
res(case2indices) = 1/a*(1-exp(-x/h));
res(case2indices) = ...
end
然后:
x = -10:.1:10
allres(:,1) = pbar(x, 2, 1)
allres(:,2) = pbar(x, 2, 2)
allres(:,3) = pbar(x, 2, 3)
plot(allres)
以上内容很可能不正确(现在无法访问Matlab进行测试)但希望有用。
答案 1 :(得分:0)
简单地假设您在三个区间x1,x2,x3上定义了三个函数f1,f2,f3。
然后计算y1,y2,y3(y1 = f1(x1)),y2 = f2(x2)),y3 = f3(x3))。
然后加入它们,即x =(x1,x2,x3)和y =(y1,y2,y3)。
最后绘制y vs x,即绘图(x,y)。
另一种方法是绘制(x1,y1,x2,y2,x3,y3)