MATLAB中常见的程序出错问题整理

本文详细整理了MATLAB编程中遇到的一些典型错误,包括下标索引错误、函数未定义、输入变量未定义、矩阵维数不匹配等问题,并提供了相应的解决办法和示例代码,帮助读者更好地理解和解决MATLAB编程中遇到的问题。
摘要由CSDN通过智能技术生成

Subscript. indices must either be real positive integers or logicals

中文解释:下标索引必须是正整数类型或者逻辑类型

出错原因:在访问矩阵(包括向量、二维矩阵、多维数组,下同)的过程中,下标索引要么从 0 开始,要么出现了负数。注:

解决办法:自己调试一下程序,把下标为 0 或者负数的地方修正。

举例:

【错误代码】:

代码:

for s = 0:0.2:2

a(s) = 4 * s - 1;

end

【正确代码】:

代码:

for s = 1:10

a(s) = 4 * s - 1;

end

当然,这样的赋值使用循环是低效的,因此不提倡

 

Undefined function or variable "a"

中文解释:函数或变量 a 没有定义

出错原因及解决办法:

1. 如果 a 是变量,则参见[原创]写给一贴中技巧 6 后半部分

2. 如果 a 是函数,则这是因为matlab在所有已添加的路径中都无法找到该函数对应的m文件而导致的,对此,把该m文件移动到当前路径下再运行便可。(注:何谓“所有已添加的路径”——在命令窗口中输入 pathtool 可以查看;何谓“当前路径”——在命令窗口中输入 pwd 可以查看)

举例:

myPlus.m:

代码:

function d = myPlus(a,b)

d = a + b;

【错误调用】:

代码:

>> z = myPlus(a,b)

【正确调用】:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值