我开始使用MATLAB,但我仍然不知道如何做很多事情。我必须创建一个简单的绘图函数,让我们假设它是:
f(x)=3x+1, defined for example from -5 < x < 5
我需要做的是创建一个转换自变量的函数(这是一个输入参数)。例如,如果我的函数名为plotFunction
,如果执行命令,plotFunction(2x+3)
则最终绘制的图形就是该函数:
f(x)=6x+10
功能可以由function
环境定义。您想要一个没有输出变量的函数,显然只有绘图。
function [] = plotFunction(f,minRange,maxRange)
range = minRange:0.01:maxRange; % Create plot range, change 0.01 to w/e precision you want to attain
figure; % Create figure
PlotFunc = 3.*f(range)+1; % Your function
plot(range,PlotFunc)
end
尝试将其他功能用作“基本功能”时,需要了解两件事:我现在将其设置为采取以下步骤,0.01
可能需要将其设置得更小(例如,在[-1e-4,1e-4]上绘制时) )。您可以手动执行此操作,也可以使用@efirvida使用的精密开关。另一件事:我3*f(range)+1
称为PlotFunc
。如果要使用其他功能,请在此处进行操作,例如,如果要使用,cos(x)+1/3*sin(pi*x)*e^(-x))
请将全部设置x
为f(x)
:PlotFunc = cos(f(x))+1/3.*sin(pi.*f(x))*exp(-f(x)))
现在,您必须注意将其x
称为a function handle
,如下所示:f = @(x)(2*x+3)
。将@
使其成为一个功能手柄,参数后面直接它定义在定义函数的变量,这里说的(x)
。第二组括号包含实际功能。然后定义您的范围,即minRange = -5
maxRange = 5
并调用您的函数:
plotFunction(f,minRange,maxRange)
导致:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句