从其他m文件

时间:2016-03-05 15:44:50

标签: matlab plot octave

我正在研究数值计算方法。我是八度新人。我从互联网上下载了两个m文件。在这里,我将向您展示与问题相关的代码,而不是整个代码。

  

来自funct.m文件:

function [ y ] = funct (x)
y=(x*(exp((-x)+3)))-sin((7*x)-4)+(8*x)-20
endfunction

我认为那里没有问题。当我尝试在secant.m文件中绘制函数时发生错误。我尝试了两种绘图功能。 plot()fplot()

  

secant.m文件:

1.plot():

x=linspace(0,10,20); 
plot(x, funct(x));

错误消息是不一致的参数(op1是1x20,op2是1x20)

2.fplot():

fplot(funct(x),[0,10],10)

错误消息是不一致的参数(op1是5x1,op2是5x1)

如何修复此错误?我熟悉其他编程语言,特别是类C语法,所以请随时以技术方式回答它。

1 个答案:

答案 0 :(得分:0)

您需要在funct等式中使用逐元素乘法运算符(.*)。

y = x .* exp(-x + 3) - sin(7*x - 4) + 8*x - 20

这是因为您希望x的每个元素乘以exp(-x + 3)的每个元素