记一个matlab错误:数组索引必须为正整数或逻辑值

文章讲述了在使用Matlab进行线性方程求解时遇到的错误,问题在于矩阵索引从1开始而非0,以及可能的数据类型混淆。博主在处理i变量时遇到问题,尽管尝试将其转换为整数类型,但最终发现是索引习惯导致的误解。
摘要由CSDN通过智能技术生成

这个错误提示一般在索引矩阵时出现,程序如下

clc;clear
A=[5,5327;5327,7277699];
b=[271.4;369321.5];
x=[19;25;31;38;44];
y=[19;32.3;49;73.3;97.8];
[a,t]=lie_gauss_elimination(A,b);
delta=zeros(5,1);
for i=0:4
    y1(i)=a(2)*x(i)^2+a(1)*x(i)^0;
    delta(i)=(y1(i)-y(i))^2;
end

博主找了半天不知道问题出在哪里,网站上的其他帖子都说可能时i为double型的数据,而索引必须为整数int型,但是将i定义为int16(i)或者round(i)取整还是出现错误提示。

最后发现,matlab的矩阵索引是从1开始,不是从0开始的。。。

看来后面写数学题的时候脑子还得转换转换。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值