matlab里画二维图,横坐标为m,从2到50,纵坐标在一个txt文档里,就画一个简单的折线图,编码如下

2024-12-30 00:42:59
推荐回答(2个)
回答1:

两种方案:

1.你的matlab是什么版本的?如果是7.0版本以上的,可以直接导入txt数据。
方法:在Workspace标签的第三个按钮(图标上带有上箭头),点击之后,找到你的txt数据按照提示导入即可。
导入之后你就

m=2:50;

plot(m,data);能正确画出来

2.改正你自己的程序
a.你的程序中路径应到具体的txt.
s='C:\Documents and Settings\Administrator\桌面\data\bias';
改成
s='C:\Documents and Settings\Administrator\桌面\data\bias.txt';

b.按照你的说法,bias.txt应该存放的是49个数据,所以fscanf应该输入个数为49
fscanf(fidin,'%f%f%f%f。。。。%f',data(1),....data(49));
当然这种方式不好,改成循环可能会不错;

c.文件用完了最好fclose();不然用不了的。fclose(fidin)

回答2:

% Invalid file identifier -1. 说明文件不存在或者打开错误,代码没有问题,注意 fclose(sidin);