执行积分trapz-error无效排列索引

2视图(30天)
我有下面的代码
Vg = linspace (0, 100);
t = 1:长度(Vg);
有趣(t) = ((Vg (t) ^ 2) / (exp (Vg (t) / (k * Ts)) 1));
IntNs (t) = trapz (Vg、有趣(t));
结束
每次我尝试运行这个我收到错误消息“秩序包含一个无效的排列指数”,我不太确定是什么出错,因为我在其他脚本运行一个几乎相同的代码。有人能指引我的问题以及如何改正它。
谢谢
-Jarett

答案(2)

罗杰·斯塔福德
罗杰·斯塔福德 2015年2月24日
显然你想找到函数的积分对Vg的“乐趣”。如果是这样,
IntNs (t) = trapz (Vg、有趣(t));
应该安装在您退出循环:
Vg = linspace (0, 100);
t = 1:长度(Vg);
有趣(t) = ((Vg (t) ^ 2) / (exp (Vg (t) / (k * Ts)) 1));
结束
IntNs = trapz (Vg,有趣的);
当你拥有它时,你正试图找到标量有趣的积分(t)对Vg的“trapz”不喜欢。看文档:
//www.tatmou.com/help/matlab/ref/trapz.html
注意,它说,“Q = trapz (X, Y)集Y默认间距增加X、trapz作用于Y的第一维的大小不等于1。长度(X)必须等于这个维度的大小。”That is obviously not true in your use of 'trapz', since Fun(t) is a scalar.

Lazaros Christoforidis
Lazaros Christoforidis 2019年11月14日
我有点晚了,但我想我会帮助别人
c =“数量”;
基本上试 IntNs = cumtrapz (Vg、有趣)+ c;
c:你选择它

类别

找到更多的在数值积分和微分帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!