【问题标题】:Undefined function 'F' for input arguments of type 'char''char' 类型的输入参数的未定义函数 'F'
【发布时间】:2014-10-24 13:43:40
【问题描述】:

我正在尝试创建一个等于卷积积分的函数 F(t),然后通过取值 F(tn) 来计算 theta_n(n+1)。但是,我收到错误“'char' 类型的输入参数的未定义函数'F'”。有什么问题?

function [ theta ] = Untitled( theta_o,omega_o )
nt=5001; %since (50-0)/.01 = 5000
dt = .01; % =H
H=.01;

theta_n = ones(nt,1);
theta_n(1)=0; %theta_o
omega_n = ones(nt,1);
omega_n(1)=-0.4; %omega_o
epsilon=10^(-6);
eta = epsilon*10;
t_o=0;

for n=1:4999
    tn=t_o+n*dt;
    F := int((422.11/eta)*exp((5*(4*((eta*t-s-tn)^2)/eta^2)-1)^(-1))*omega, s,tn-    (n/2),tn+(n/2))
    theta_n(n+1) = theta_n(n) + h*F(tn);
end

end

【问题讨论】:

  • := 不是有效的 matlab 语法。不知道你打算实现什么。
  • 您查看的是int on this page 的版本吗?阅读该页顶部的通知。您正在符号工具箱中寻找sym/int 的文档,它实际上是相同的,但直接在 Matlab 中工作。但是,我不确定sym/int 是否会像您预期的那样返回symfun
  • 我正在尝试编写一个循环来计算每一步的定积分值。函数 F 非常复杂。简单来说,它整合了一堆关于s的项,从s=tn-(n/2)到s=tn+(n/2)。积分后,F还有一个变量t。所以你可以说 F(t) = integer(f(s,t)),其中 f(s,t) 是 "int(" 之后的一大堆术语。在 for 循环的最后一行,我想在 F 计算 f(s,t) 的积分后,在 t=tn 处计算 F(t)

标签: matlab loops integration numerical-methods convolution


【解决方案1】:

F = @(tn) ...; 呢?

可能你在这段代码中也混入了一些其他的东西,例如Hh 等等……

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-30
    • 1970-01-01
    • 2013-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-07
    • 2015-05-28
    相关资源
    最近更新 更多