声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1675|回复: 3

[编程技巧] fscanf数据读取的问题 在线等 谢谢

[复制链接]
发表于 2011-5-8 20:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
fni=input('频域积分-输入数据文件名:','s');
fid=fopen(fni,'r');
sf=fscanf(fid,'%f',1);%采样频率
fmin=fscanf(fid,'%f',1);%最小截止频率
fmax=fscanf(fid,'%f',1);%最大截止频率
c=fscanf(fid,'%f',1);%单位变换系数
it=fscanf(fid,'%f',1);%积分次数
sx=fscanf(fid,'%s',1);%横向坐标轴的标注
sy1=fscanf(fid,'%s',1);%纵向坐标轴输入单位的标注
sy2=fscanf(fid,'%s',1);%纵向坐标轴输出单位的标注
fno=fscanf(fid,'%s',1);%输出数据文件名
x=fscanf(fid,'%f',[1,inf]);%输入数据存成行向量
如题,我想导入的是1个列矩阵 他保存在了EXCEL内
运行的时候读不出来 会出现Invalid file identifier -1.打不开的情况 然后就出现sf=fscanf(fid,'%f',1);  %采样频率   难道要用TXT吗  可是用TXT我也不会放入采样频率的数据啊 应该放在什么地方啊
我是菜鸟 不知道想采样频率等上述数据应该在excel中保存的格式 请告诉我啊   可能说的也不明白 我会补充
回复
分享到:

使用道具 举报

发表于 2011-5-8 21:06 | 显示全部楼层
我一直都是用load语句读取txt文件。将你需要用的这些参数都存在txt文本中,放入到你的工作路径下,用load读入,并采用赋值语句就可以给个变量赋读入的值。
 楼主| 发表于 2011-5-8 21:50 | 显示全部楼层
回复 2 # meiyongyuandeze 的帖子

虽然还是不懂   还是谢谢了
存在TXT中?
像这样一个程序
clear;
clc;
fni=input('数据文件名:','s');
fid=fopen(fni,'r');
fs=fscanf(fid,'%f',1);  %采样频率
m=fscanf(fid,'%d',1);   %拟合多项式阶数
fno=fscanf(fid,'%s',1); %输出数据文件名
x=fscanf(fid,'%f',inf); %时程数据
status=fclose(fid);
n=length(x);
t=(0:1/fs:(n-1)/fs);
a=polyfit(t,x,m);     %计算多项式待定系数向量a
y=x-polyval(a,t);     %用x减去多项式系数a生成的趋势项
subplot(2,1,1);
plot(t,x);
title('original signal');
grid on;
subplot(2,1,2);
plot(t,y);
title('redifined signal');
grid on;
fno=input('输出数据的文件名:','s');
save(fno,'t','y');
我的TXT文件是这样的
60
2
ppOUT.txt
-940.55
-45.17
919.19
1718.14
2502.44
2827.76
2948.61
2928.47
2451.78
1781.01
......
为什么我打不开呢
就会出现??? Error using ==> fscanf
Invalid file identifier -1.

Error in ==> Untitled9 at 5
fs=fscanf(fid,'%f',1);  %采样频率

发表于 2011-5-9 00:15 | 显示全部楼层
回复 3 # s5356765 的帖子

1.资料在EXCEL内!? help xlsread!
2.help fopen!! fid=fopen(fni,'r'); fid=-1表没这档! 检查路径及档名
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-27 00:47 , Processed in 0.107619 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表