matlab中for语句 矩阵索引问题

只需一步,快速开始
扫一扫,访问微社区
请完成以下验证码
查看: 2961|回复: 3|关注: 0
关于:只有是全矩阵才能用n维索引 问题
<h1 style="color:# 麦片财富积分
新手, 积分 11, 距离下一级还需 39 积分
在nprtool里 所遇问题:在train network步骤中 点击训练按钮,出现对话框,内容为:N-dimensional indexing allowed for Full matrices only 求解惑,不甚感激!
<h1 style="color:# 麦片财富积分
关注者: 3
这里的Full matrices可能指的是你不能用稀疏矩阵
<h1 style="color:# 麦片财富积分
<h1 style="color:# 麦片财富积分
门外汉 发表于
还有,请问192页的,SampIn为啥是3行4列的。异或问题不该是二行四列吗?
站长推荐 /3
用 MATLAB/Simulink开发自动驾驶功能的实例研究
MATLAB中文论坛是全球最大的 MATLAB & Simulink 中文社区。用户免费注册会员后,即可下载代码,讨论问题,请教资深用户及结识书籍作者。立即注册加入我们吧!
MATLAB官方社交平台
MATLAB中文论坛微社区matlab遇到问题-矩阵索引值超维问题
Index exceeds matrix dimensions.
Index exceeds matrix dimensions.
Error in igaPlateTensionxihua (line 281)
dKdP(sctrB,sctrB,e)=
dKdP(sctrB,sctrB,e)+eKdK(jacob,dPdy([leftlownode:leftlownode+2,leftlownode+19:leftlownode+21],[2*e-1:2*e]),dRdx,nn,C,J2,wt)
dKdP=zeros(24,24,6);
这是前面矩阵定义初始化的代码
而后面索引值超出。
遇到类似问题,应该看看前面矩阵定义的代码。看是否需要修改。
Matlab常见错误及解决办法归纳
问题记录:matlab三维重建“索引超出矩阵维度。”
学习问题:使用MATLAB工具箱进行双目标定,提示索引超出矩阵范围。
MATLAB教程(1)
MATLAB 基础知识
MATLAB中函数mesh()用法
开始学习Matlab,一点一滴记录自己的所学 仅供自己参考Matlab(2)
C#向matlab传递多维数组,索引超出界限报错
没有更多推荐了,\t\tmatlab常见的程序出错问题整理【转载】
Matlab:解决Matlab经常遇到的一些问题集合如Undefined function or variable &B&等
C/C++语言常见错误一览表~~~总结的相当详细
没有更多推荐了,MATLAB中的逻辑索引与数组索引
常见矩阵元素索引方法
矩阵作为MATLAB中的基本单位,灵活地实现对其元素的索引是有效处理矩阵的必要基础。显然地,MATLAB也的确提供了很多的矩阵元素索引方法。常见的矩阵元素索引方法分别如下所示:
逻辑索引通过使用元素为0或1的逻辑矩阵来索引矩阵a中的元素,因此它们的维数必须相同。具体例子如下:
&& a = [1:3;4:6;7:9]
&& threshold = a&5
threshold =
&& a(threshold) = 0
也可以直接写成如下形式:
&& a = [1:3;4:6;7:9]
&& a(a&5) = 0
根据参考书籍中分类,数组索引可以划分为:单下标索引和多下标索引。单下标索引的具体例子如下:
&& a = 1:6
&& a(3) = 5
&& a([2,4])=[4,2]
&& b = [1:3;4:6;7:9]
在MATLAB中,单个数值可以理解为一个元素的1×1的矩阵,因此参考文献中所谓的线性索引也不过是数组索引的一种特例。从上边的例子可以看出,单下标索引中的冒号索引可以实现多维矩阵的列向量化,这和多下标索引中的冒号索引又不尽相同。
多下标索引的例子具体如下:
&& a = [1:3;4:6;7:9]
&& a(2,2) = 0
&& a([1 3],[2 3])
&& a(:,[1,3])
&& a([1,3],:)
从上边的例子可以看出,单下标索引和多下标索引的冒号索引的作用是不尽相同的。
综上所述,MATLAB中矩阵元素的索引方法分为两种:逻辑索引和数组索引。其中,数组索引又可以分为单下标索引和多下标索引,冒号索引在不同情况下表示的含义亦不尽相同。
两者的区别和联系
逻辑索引要求索引矩阵必须和矩阵a的维数相同,而数组索引则没有这样的要求。但是数组索引中的单下标索引,又具有一些和逻辑索引的相同之处,通过下边的例子来说明:
&& a = [1:3;4:6;7:9]
&& threshold = a&5
threshold =
&& a(threshold)
&& b = [1:3;4:6;7:9]
&& b([5 7])
从上边的例子可以看出,当对多维矩阵进行单下标索引时,会首先将矩阵b进行列向量化,然后再按顺序选出其对应的元素。而逻辑索引也是默认进行列向量化后再按顺序选出其对应的元素。
find函数本质是数组索引
通过逻辑索引和数组索引的区别和联系,我们将很容易得出find函数本质是数组索引的结论,具体通过下边的例子进行说明:
&& a = [1:3;4:6;7:9]
&& threshold = a&5
threshold =
&& a(threshold)
&& a(threshold) = 0
&& b = [1:3;4:6;7:9]
&& index = find(b&5)
&& b(index) = 0
从上边的例子可以明显地看出,矩阵threshold是和矩阵a维数相同的逻辑矩阵,而矩阵index只是记录了矩阵b列向量化后大于5的元素的索引,且和矩阵b的维数并不相同。
MATLAB中矩阵的逻辑索引方法
Matlab-结构体数组的索引
MATLAB学习笔记之-----数组、矩阵、向量索引和逻辑索引
Matlab矩阵的索引大全
MATLAB数组索引
MATLAB中的矩阵索引
MATLAB数组元素引用的三种方法
B树索引+B树索引逻辑结构图+B树索引是怎么搜索数据+创建B树索引
MATLAB逻辑数组
Matlab-矩阵的索引
没有更多推荐了,matlab矩阵索引怎么用参数表示_百度知道
matlab矩阵索引怎么用参数表示
A=[123;456;789]我想取A的第二行第二列即A(2,2)我想用A(a)的形式调用,a怎么写?...
A=[1 2 3;4 5 6; 7 8 9]我想取A的第二行第二列
即A(2,2)我想用A(a)的形式调用 ,a怎么写?
&#xe6b9;答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
来自电脑网络类芝麻团
a=5。MATLAB的矩阵是以列序为主序的,比如这个矩阵,A(2)=4, A(4)=2。
为你推荐:
其他类似问题
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 matlab中for语句 的文章

 

随机推荐