为什么我得到了错误的下标指标必须或者是真实的积极的整数或逻辑值。”?

1.162视图(30天)

接受的答案

MathWorks支金宝app持团队
编辑:MathWorks支金宝app持团队 2021年2月17日
这个错误发生在您试图索引数组使用指数不是正整数或逻辑值。这里有一些小贴士常见情况下导致这个错误消息:
1)仔细检查你的指数是正整数。指数在MATLAB不能是0,默认情况下,从1开始。
2)如果您使用的是逻辑索引数组索引,确保索引数组类型的“逻辑”,而不是“双重”一系列的1和0。你可以“双重”数组转换为逻辑阵列在试图使用逻辑索引。例如:
= (1 2 3 4;5 6 7 8];
ind_double = [0 1 0 1;0 0 1);
ind_logical =逻辑(ind_double);
(ind_logical)
索引数组的印第安纳州,你可以检查它的数据类型使用“谁”功能:
印第安纳州
3)如果您使用浮点算术计算索引数组,数组值可能不是精确的整数。“圆”的功能是方便当你知道你有一个索引值几乎是你想要的整数索引。例如,
= (1 2 3 4;5 6 7 8];
ind_float = 2.00001;
ind_int =圆(ind_float);
(ind_float)
下面是一种检查如果索引数组的印第安纳州”包含准确的整数值。这个命令返回一个“逻辑”数组,1表示是一个精确的整数索引值,0表示没有。
印第安纳州= =圆(印第安纳州)
4)如果你分配一个变量名称相同的MATLAB的内置函数,然后将覆盖函数和遇到的错误,当你试图调用它。例如,
max =兰德(5);
一个=兰德(5);
max ()
在这种情况下,重命名变量和清晰的旧的继续:
B = max;
清晰的马克斯·马克斯(A)
在MATLAB索引的更多信息,参见下面的文档页面:
6个评论
沃尔特·罗伯森
沃尔特·罗伯森 2018年9月25日
“这已经改变了Matlab在最近的一次更新?(我更新从2013年到2017年)。在那之前我从来没有将双重逻辑。”
R2013a:
> > =兰德(1、3),一个((1 0 0))
一个=
0.8147 0.9058 0.1270
下标指标必须是真正的正整数或逻辑值。
R2010bSP1也一样,这是最古老的MATLAB我碰巧已经安装了。
如果我们检查R14文档, //www.tatmou.com/help/releases/R14/techdoc/matlab.html 在文档中“特殊字符[](){}= '……,;:% !@“我们看到,
“V的组件必须是整数作为下标。出现错误,如果任何此类下标小于1或大于x的大小”
这不是一个新的限制,不,没有设置MATLAB可以改变这种情况。

登录置评。

更多的答案(20)

安东尼Pichot
安东尼Pichot 2015年11月19日
Iaredi萨比娜的评论应该是一个有效的答案。
它可能发生当你有一个变量命名现有的matlab函数,如最小或diff。matlab认为您正在使用的变量,而不是安装在内部的函数。
1评论
Stephen23
Stephen23 2015年11月19日
编辑:Stephen23 2015年11月19日
它是 已经 答案的一部分: “另一个常见原因是,一个变量覆盖函数名,从而跟踪功能。例如:……” ,然后给一个例子如何发生。

登录置评。


Schrecklich呃
Schrecklich呃 2017年3月18日
编辑:沃尔特·罗伯森 2017年4月4日
我得到这个消息时我正在处理一个图像使用‘imread’,我有如下结构:
i = 1: f
j = 1: c
B (i, j) = ([A1 (i, j) * A2 (i, j)]);
B1 (i, j) = (A2 (i, j) / A1 (i, j));
结束
结束
我得到同样的错误消息,直到30分钟的研究我只是开关字母“k”的“我”和错误消息消失,我认为错误因为字母“i”用于虚数。
只是一个小提示!希望它是有用的。

法拉Nadiah
法拉Nadiah 2016年4月22日
这个怎么样。星的词……我如何申报。如果i run this prgoram it get error..thnx a lot
我= 0:1:maxrow-1
j = 0:1: maxcol-1
%发票((i, j)) = 255 -图像((i, j));
k = 0: 1
* sto ((i, j, k)) =图像((i, j));
结束
结束
结束
1评论
沃尔特·罗伯森
沃尔特·罗伯森 2016年4月22日
MATLAB索引从1开始,而不是在0。您需要添加1到你所有的指标。
还记得,sto ((i, j, k))索引停在3的位置,国航(i)国航(j)停下来(k)。它不是一个索引为一个三维数组:这将是sto (i, j, k)

登录置评。


前任“老板”Pratyush Lohumi
编辑:沃尔特·罗伯森 2017年3月18日
n = 0: ns
(n) = (ns-n) / ns;%滑
Tmech (n) = ph值* V1eq ^ 2 * R2 / ((s (n) *ω)* ((R1eq + R2 / s (n)) ^ 2 + (X1 + X2) ^ 2));%机电转矩
结束%的循环
错误:下标指标必须或者是真实的积极的整数或逻辑值。(2行)
查询:似乎不能纠正错误?
如果有人可以提供一个有效的解释或纠正代码循环,这将真正帮助我的项目。
3评论
实施BOUGRINE
实施BOUGRINE 2017年4月4日
编辑:沃尔特·罗伯森 2017年4月4日
m = 1: num_pulse_int
%更新传感器和目标位置
[sensorpos, sensorvel] = sensormotion(1 /脉冲重复频率);
[tgtpos, tgtvel] = tgtmotion(1 /脉冲重复频率);

登录置评。


padmini kutturu
padmini kutturu 2017年4月26日
编辑:沃尔特·罗伯森 2017年4月26日
谁能帮我呢?谢谢你!
j = 1: n
y (j) = (T (j) ts) / (Tb-Ts);
h (j) = (1/427) * (-0.0717) * L * (Tb-Ts) * (y (j + 1) - y (j - 1) / 2 *δ);
r (j) = (e *σ* L ^ 2 * P * Ts ^ 3) / (kAc) * (((T (j) / Ts) ^ 3) + ((T (j) / Ts) ^ 2) + (T (j) / Ts) + 1);
c (j) = 1 - (h (j) *δ/ 2);
(j) = 2 + (r (j) *三角洲^ 2);
b (j) = 1 + (h (j) *δ/ 2);
结束
3评论

登录置评。


惠灵顿佩雷拉古埃德
惠灵顿佩雷拉古埃德 2017年10月3日
某人来说可以帮助我。我收到了埃罗当使用下面这段代码:
W2 = [];%将包含从图像中提取水印信号
t = 1: wmsz
W2 = [W2 (D_w(印第安纳州(t, 1),印第安纳州(t, 2)) / D(印第安纳州(t, 1),印第安纳州(t, 2)) * 10)%水印提取
结束
1评论
沃尔特·罗伯森
沃尔特·罗伯森 2017年10月4日
让我们匹配括号。开放的数量将计数括号”“性格与:
W2 = [W2 (D_w(印第安纳州(t, 1),印第安纳州(t, 2)) / D(印第安纳州(t, 1),印第安纳州(t, 2)) * 10)
1 2 3 4 3 4 32 3 4 3 321 0
我们看到从这个W2被索引
D_w(印第安纳州(t, 1),印第安纳州(t, 2)) / D(印第安纳州(t, 1),印第安纳州(t, 2))
1 2 1 2 10 1 2 1 2 10
其中包含一个部门。所以索引W2的整数,D_w(印第安纳州(t, 1),印第安纳州(t, 2))是一个非零的整数的整数倍数D(印第安纳州(t, 1),印第安纳州(t, 2))。条件不 不可能的 ,但它是我倾向于怀疑。

登录置评。


Yago维罗索
Yago维罗索 2017年10月6日
编辑:沃尔特·罗伯森 2017年10月6日
大家好!我得到同样的错误在我的代码中,我试图连接一个函数主要代码,功能代码提供所有变量的系统方程的解决方案。
下面是我的部分主要代码,我发现这个错误:
[Y1des] =安(Z1, e1, s1, D);
(交流、ao at_coluna kp, r1, r2, L, vj, ro_ar, visc_ar, k_ar,风湿性关节炎,P, t_ar, Tar_e, T_ar_ext, Urel_e, Urel, Uabs_e, cps, ro_p_ap, hparede, cal_lat, cpar, cpl, cpv, ro_p, dp,瑞银(Ubs)、u, Rep1ν,hp1, St, Rep2, hw1, e, ae1,让,X1, t_seg, X, ae,惠普、hw, d_xp, tt, z] = variaveis (h, Y1des,嗨,uar t_min);
(G, u, Pvse牛皮纸,UAEsat,阿联酋,他)= prop_ar (ro_ar uar, ac, ao、at_coluna t_ar, Tar_e, Urel_e, P);
(六世、镁、mss) = prop_leito (ro_p_ap、ro_p ro_ar, ac,嗨,vj);
% % %初始条件
Tp (1) = 298.15;
Tar_s (1) = Tar_e - ((1-exp (- x (1))) * (Tar_e-Tp (1)));
tar_s (1) = tar_s (1) -273.15;
这是错误消息
下标指标必须是真正的积极
整数或逻辑值。
错误在Dif_finitas_plus_ANN(44)行
Tar_s (1) = Tar_e -
((1-exp (- x (1))) * (Tar_e-Tp (1)));
谢谢你的帮助! !
3评论

登录置评。


MarkusP
MarkusP 2018年2月5日
编辑:MarkusP 2018年2月5日
你好,也许你能帮助我的人…我tried to fix my problem with the solution above but it wasn`t possible.
我得到同样的错误消息,如果我runnung以下skript。skript是解决问题方法的特点。
l = 1;
d = 0.01;
ρ= 1000;
f = 0.1;
= 1;
p0 = 2 e3;
v0 = (p0 * 2 * d / f)) (l *ρ* ^ 0.5;
n = 101;
h = l / (n - 1);
(1:n) = v0;
p (1) = p0;
我= 2:n
p (i) = p(张)- f *ρ* v0 ^ 2 * h / (2 * d);
结束
dt = h /;
达峰时间= 3;
itmax =最高温度/ dt;
fhr = f * h / (2 * * d);
它= 1:itmax
t = * dt;
我= 2:n - 1
pa = p(张);
pb = p (i + 1);
弗吉尼亚州= v(张);
vb = v (i + 1);
电脑(我)= / 2 * ((pa + pb) / a +ρ* (va-vb) + fhr * (vb * abs (vb)弗吉尼亚州* abs (va)));
vc (i) = 0.5 * ((pa-pb) / (a *ρ)+ va + vb-fhr * (vb * abs (vb) + va * abs (va)));
结束
电脑(1)= p0;
vb = v (2);
pb = p (2);
vc (1) = vb + (pc (1) pb) /(*ρ)fhr * vb * abs (vb);
vc (n) = v0 *阀(t);
弗吉尼亚州= v (n - 1);
pa = p (n - 1);
电脑(n) = pa-rho * (vc (n) va) + f * h *ρ/弗吉尼亚州(2 * d) * * abs (va);% %错误
虚拟现实(,1:n) = vc (1: n);
总统(,1:n) = pc (1: n);
p =个人电脑;
v =风险;
结束
我的阀(t)功能看起来是这样的:
函数vrel =阀(t)
如果t < 1。
vrel = 1;
其他的
约vrel = exp (-10 * (t));
结束
这是错误信息:
下标指标必须是真正的正整数或逻辑值。
错误在MOCwaterhammer(45)行
电脑(n) = pa-rho * (vc (n) va) + f * h *ρ/弗吉尼亚州(2 * d) * * abs (va);
谢谢你的帮助!

Torsten
Torsten 2018年2月5日
编辑:Torsten 2018年2月5日
你忘了一个乘法:
电脑(n) = pa-rho * - > * < -行(vc (n) va) + f * h *ρ/弗吉尼亚州(2 * d) * * abs (va);
最好的祝愿
Torsten。


哈姆扎赛义德汗
哈姆扎赛义德汗 2018年12月21日
我认为它可以帮助。我自己从c (t)和删除(t) m (t)如下:
clc
关闭所有
清晰的所有
之后我们给%让值
A1 = 4
A2 = 2
f1 = 5
f2 = 6
t = 0.1:0.001:1
c = 20 * A1 * cos(2 *π)* f1
m = 12 * A2 * cos(2 *π)* f2
y = c * m
情节(y, t,“r”)
包含(“c (t)”)
ylabel (“m (t)”)
网格
最好的祝愿哈姆萨巴基斯坦lol

Miguel Angel Guzman de la Cruz
害怕我把一系列在for循环,开始在一个负数吗?
类似的东西
因为我= 10000:100:10000
delta_g(我,1)= ((4 * R1 ^ 3 * sp * G) / 3) * (z1 / (z1 ^ ^ 2 + 2) ^ (3/2));
结束
Salu2


索非亚桑托斯
索非亚桑托斯 2020年5月8日
你好,我试着用圆()和双转换为逻辑,而当我类型“谁最大”或“谁最小”没有显示。我想现在的时间最小和最大的时间计算上升时间。
你能吃我的代码,看看如果你能帮忙吗?非常感谢! !
data_org = importdata(西奈半岛,' \ t '7);% 7一列文本文件
EDA = data_org.data;
EDA = EDA (:, 6);%我想第六列中的值
T = N / f;
t = (1: N) / fs;
最小= min (EDAuS_filter);
最大= max (EDAuS_filter);
amp = maximo-minimo;%信号幅度
tmin = t(缩印版);
达峰时间= t (maximo);
rise_time = tmax-tmin;
4评论
索非亚桑托斯
索非亚桑托斯 2020年5月8日
我不是的上下文中执行这个函数。这个想法是创建一个脚本,该脚本读取六列的每个文本文件然后过滤信号振幅和时间增加。但我得到麻烦找到相应的t。

登录置评。


海鹰队
海鹰队 2020年5月27日
编辑:沃尔特·罗伯森 2020年5月27日
请帮我解决函数的意思是,我有错误:
“真正下标索引必须是正整数或逻辑值”。
错误Chanprojectpart32(36行)
E (Zr) =意味着(Zr);
= = = = = = = = = = = = = = = = = = = = =
j = 1: n - 1
s1 = 0;
s2 = 0;
k = 1:没有+ 1
φ=(π-(-π))* rand-pi;%φk
颗= Fd。* (cos((2 *π* k) / M));%颗
Bk =π/ k (+ 1) *;% k(π/不+ 1)
.......
……
日元= cos(2 *π* Fd * t +φ);
s1 = s1 + y1 * y2;
s2 y2 = s2 +日元*;
结束
Zr = NN * s1 +毫米* (y3 *日元);
子= NN * s2 +毫米* (y4 *日元);
结束
E (Zr) =意味着(Zr);
E(子)=意味着(子);

Viktoriia Buliuk
Viktoriia Buliuk 2020年8月3日
你好!我试着从. csv文件执行的transforn获得数据。你能,请帮助我。我有以下错误:
下标指标必须或者是真实的积极的整数或逻辑值。
错误在walvet > @(τ)hh(τ)*(2 /(3 ^(1/2)*π^ (1/4))* exp (- ((tau-ttt (j)) / (i)) ^ 2/2) * (1 - ((tau-ttt (j)) / (i)) ^ 2))
错误integralCalc / iterateArrayValued(第156行)
fxj =乐趣(t (1))。* w (1);
错误integralCalc / vadapt(第130行)
[q, errbnd] = iterateArrayValued (u tinterval pathlen);
错误integralCalc(第103行)
[q, errbnd] = vadapt (@minusInfToInfInvTransform间隔);
误差积分(第88行)
Q = integralCalc(有趣,a, b, opstruct);
错误walvet(26)行
Q =积分(F负无穷到正无穷,ArrayValued, true);
和follofing代码:
类型wet.csv
测试= importdata (“wet.csv”);
t =测试(:1);
h =测试(:,2);
tt = max (t);
tr = min (t);
到达目标时间= tr: 4.0003 * 10 ^ -11: tt;
hh = interp1 (t、h、ttt);
图(2);
情节(t、h、“罗”);
持有;
情节(双塔,hh,‘g’);
一个= 0.3 * 10 ^ 10:10 ^十一10 ^ 9;
i = 1:长度(a)
j = 1:长度(ttt)
F = @(τ)hh(τ)*(2 /(3 ^ ^(1/2)*π(1/4))* exp (- ((tau-ttt (j)) / (i)) ^ 2/2) * (1 - ((tau-ttt (j)) / (i)) ^ 2));
Q =积分(F负无穷到正无穷,“ArrayValued”,真正的);
K =(1 /((我)^(1/2)))*问;
S =真正的(K);
结束
结束
轮廓(双塔,hh,年代,500)
非常感谢! ! !
2的评论

登录置评。


Destaw Masresha
Destaw Masresha 2020年12月13日
编辑:Destaw Masresha 2020年12月13日
一种= (fc);
B = ((c *花+ 1):c * d);% selete n的方差
下标指标必须或者是真实的积极的整数或逻辑值
请任何人都可以帮我…? ?
1评论
沃尔特·罗伯森
沃尔特·罗伯森 2020年12月13日
编辑:沃尔特·罗伯森 2021年4月5日
c和d是什么?n是什么?
推测 你构建c和d,你 预计 c * d总是一个整数,但它并不总是 完全 一个整数。例如如果c 0.1:0.1:1和d是10,那么你可能 预计 c * d总是一个整数,但那将是错误的:
格式长g
c = 0.1: 0.1: 1;
mat2str (c)
ans =(0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1]”
d = 10;
mat2str (c * d)
ans =(1 2 3 4 5 6 7 8 9 10]”
mat2str (c * d - (1:10))
ans =“[0 0 4.44089209850063 e-16 0 0 0 0 0 0 0) '
c (3) - 0.3
ans =
5.55111512312578 e-17
教训:
  • 0.1在双精度并不表示的
  • 乘以一个双精度数一小部分“数学”,“数学”的东西给你回一个整数…并不总是返回一个整数。0.3 * 10不给3
  • 数字计算分数增量在结肠运营商,如第三值0.1:0.1:1,并不总是一模一样的相应文字您所期望的价值。0.1 + 0.1 + 0.1不给你相同的值,你会得到从写作0.3

登录置评。


常见的费尔南多
常见的费尔南多 2021年4月5日
编辑:常见的费尔南多 2021年4月5日
你好,也许你能帮助我的人…我tried to fix my problem with the solution above but it wasn`t possible.
为什么我得到以下错误信息:
下标指标必须或者是真实的积极的整数或逻辑值。
错误threeDFT(33)行
x = v ((j - 1: j + N0-2) * dt);
代码:
fs = 50 * 512;
dt = 1 / f;
N0 = fs / 50
达峰时间= 1;
j_max =最高温度* fs;
j = 1: j_max + 1
x = v ((j - 1: j + N0-2) * dt);
9日评论

登录置评。


neelu pareek
neelu pareek 2021年7月11日
请人帮助我得到这个错误虽然计算和首次使用伽马函数多次在我的工作。
t = [0: .5:1];
η= 0.8;γ= 03;p =。9;π=。4;μ=综合σ= 7
S =μ+ ((((1 - p) * (pi) ^(μ))——(5 *(μ)^ 2 * (eta) ^(μ))——(μ*(σ)^(μ)))* (t。^(μ)/γ(μ+ 1)))
μ=
0.7500
σ=
0.7000
下标指标必须或者是真实的积极的整数或逻辑值。

亚历山德拉罗克珊娜
亚历山德拉罗克珊娜 2021年7月18日
你好,我是试图解决热方程的2 d使用有限差分方法。我也改变了k = 0 k = 1和u (k + 1) (k),但仍然没有结果。初始化正确吗?
clc
清晰的所有
α= 2;
L = 50;
dx = 1;
dt = (dx ^ 2) /(4 *α);
γ=(α^ dt) / (dx ^ 2);
itert = 1000;
u = 0 (itert, L, L);
uinit = 0;
utop = 100;
uleft = 0;
ubottom = 0;
uright = 0;
%边界条件
u (l - 1:,:) = utop;
u (:: 1) = uleft;
u (: 1, - 1) = ubottom;
u (:,:, l - 1) = uright;
k = 0: itert-1
我= 1:l - 1
j = 1: l - 1
u (k + 1, i, j) =γ* (u (k, i + 1, j) + u (k,张,j) +
u (k, i, j + 1) + u (k, i, j - 1) - 4 * u (k, i, j)) + u (k, i, j);
结束
结束
结束
显示(u)
7评论

登录置评。

类别

找到更多的在矩阵和数组帮助中心文件交换

标签

没有标签了。

下载188bet金宝搏

社区寻宝

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

开始狩猎!

翻译的