【发布时间】:2015-10-16 13:18:46
【问题描述】:
我在执行以下代码以在 matlab 中计算一个简单积分时出错。代码如下。
%Parameter Innitizlation
epsilon0=8.85*10^-12;
d_mos=6*10^-9;
epsilon_mos=5*epsilon0;
d_g=30*10^-9;
epsilon_g=19*epsilon0;
vt=-2;
e=1.6*10^-19;
n=[];
i=1;
t2=[];
u=60; % cm^2/v*S
h=1.05*10^-34; % ev*s
%Capacitor Calaculation
c_g=(epsilon_g/d_g);
c_mos=(epsilon_mos/d_mos);
c_t=1/((1/c_g)+(1/c_mos));
%Input Voltage
t = 0:0.2:10;
vg = 5*sin(t);
%Surface Voltage
fun=1-(c_t/c_g);
vs = integral(fun,0,vg);
figure
plot(t,vs)
title('vs vs time')
错误
我得到的错误是 "??? 'double' 类型的输入参数的未定义函数或方法'integral'。
==> MIT 在 29 时出错 vs = 积分(fun,0,vg);""
【问题讨论】:
-
您的变量
fun是双向量,而不是函数句柄。积分的第一个输入必须是函数句柄。 -
@Daniel..请问有什么可能的解决方案。
-
我不知道正确的解决方案,因为我不知道您要实现什么功能。
-
你是否试图将一个从 0 到 vg 的恒定乐趣整合到一个范围内?或者您是否尝试将正弦波 (5*sin t) 从 0 集成到恒定的乐趣?
-
@user1543042....我正在尝试将常量函数从 0 集成到 vg,其中 vg 是 tike 本身的正弦函数。
标签: matlab math integration calculus