【问题标题】:Plot a function from other m file从其他 m 文件中绘制一个函数
【发布时间】:2016-03-05 15:44:49
【问题描述】:

我正在研究数值计算方法。我是八度的新手。我从互联网上下载了两个 m 文件。这里我只是给你看与问题相关的代码,而不是整个代码。

来自funct.m 文件:

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

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

割线.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 的语法,请随时以技术方式回答。

【问题讨论】:

  • 尝试在functy=zeros(size(x)) 的声明中将* 更改为.*,并在for 循环中定义每个y(ii) 值。

标签: matlab plot octave


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2016-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-12
    • 1970-01-01
    • 2019-11-21
    相关资源
    最近更新 更多