首页 > 软件 > 出错显示:数组索引必须为正整数或逻辑值。这个应该怎么改

出错显示:数组索引必须为正整数或逻辑值。这个应该怎么改

软件 2023-08-02

matlab在循环里 数组索引必须为正整数或逻辑值怎么解决?急急急

从给出《数组索引必须为正整数或逻辑值》的错误警告来看,由于accuracyA(i)=accuracy0这句中的 i 不是正整数,而是0。因为电脑和软件要求,数据存储必须是从1开始。因此,请题主仔细检查SVM_test代码以下的循环语句的 i 赋值是不是正整数或逻辑值。

matlab数组索引必须为正整数或逻辑值

你的问题出错原因是,v1x=-jiaosudu(y1-ycankaodian);缺*乘号,应该为

v1x=-jiaosudu*(y1-ycankaodian)

matlab用差分法求微分方程的解图像时出现了数组索引必须为正整数或逻辑值的错误,求大神看看什么情况?

matlab用差分法求微分方程的解图像时出现了数组索引必须为正整数或逻辑值的错误?

首先,为什么会出错,主要是没有理解数组的物理存的地址原理。由于电脑默认物理储存的地址是从1开始的,而y(-2)=exp(-4)的意思,想将exp(-4)储存在y变量的-2地址中,所以会出错,正确的方法是y(1)=exp(-4)。

其二,调试题主的代码,还存在下列几处错误

1、迭代式书写错误。应该为

y(i+1)=(1-2*h*x(i)).*y(i)+h*x(i).*exp(-x(i).^2);

2、axis([-2 2 1 exp(4)])这句是多余,存在的话,则不能正常显示图形

3、ry=(x.^2*exp(-x.^2))/2 - exp(-x.^2);这句表述不完整,缺点运算符。完整的为

ry=(x.^2.*exp(-x.^2))/2 - exp(-x.^2)

其三,修改上述错误,完善代码,运行可得如下结果。

MATLAB Fsolve函数解方程时出现“数组索引必须为正整数或逻辑值。”该如何解决?谢谢!

为什么用MATLAB Fsolve函数解方程时出现“数组索引必须为正整数或逻辑值。出现这个问题:

1、由于题主在定义x向量变量时,是不连续的。即

x→x(1),x(2),x(3),x(4),x(5),x(6),x(7),x(8),缺 ,x(10),x(11),x(12),x(13),x(14),,x(15),x(16)

这不符合fsolve函数使用要求

2、纠正措施。把缺的x(9)项补齐

MATLAB函数报错数组索引必须为正整数或逻辑值

你的程序中,phi2=(data/5)+1;当data不能整除5时,phi2就是小数了,不能做下标用。可这样改:phi2=floor((data/5)+1);

标签:信息技术 matlab 编程 编程语言

大明白知识网 Copyright © 2020-2022 www.wangpan131.com. Some Rights Reserved. 京ICP备11019930号-18