【发布时间】:2012-01-20 18:24:50
【问题描述】:
我正在学习基本的 MATLAB 大学课程,需要一些关于我的代码的帮助。
有一个外部 .txt 文件,其中包含名称,并为每个名称分配了相应的数字。我的目标是将所有名字、姓氏和数字放入数组中,找到“数字”数组中的最小数字,获取相应的索引器编号,并打印与该数字相关的名字和姓氏。
文本文件读取 25 个不同的名称和数字 (即:
鲍勃 史密斯 17 简 美国能源部 23 账单 约翰逊 13
...等等...)
到目前为止,这是我的通用代码:
1 clear
2
3 clc
4
5
6 fid1=fopen('facedata.txt','rt');
7
8 for index = 1:1:25
9 firstn(index) = fgetl(fid1);
10 lastn(index) = fgetl(fid1);
11 number(index) = fscanf(fid1,'%f');
12 end
13
14 [distmin,I] = min(dist);
15 fprintf('%5.4f %10s %10.0f', distmin, firstn(I), I);
我希望代码能够运行,让 matlab 将“13”识别为最小的数字,并将“bill johnson”打印到屏幕上,但如果我运行代码,matlab 会说有错误
Subscripted assignment dimension mismatch.' @ line 9.
和
Index exceeds matrix dimensions.' @ the firstn**(I)** in line 15.
有什么想法吗?我知道这很疯狂,但任何帮助将不胜感激! :]
【问题讨论】: