24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1396  |  回复: 7

北尘心

金虫 (著名写手)

[求助] matlab问题,菜鸟求指教已有2人参与

L=100;
x=1:100;
for cas = 1:120
    scr = ['C:\Users\asus\Desktop\' num2str(cas) '.txt'];
f=fopen('scr','r');
g=fscanf(f,'%f',[L,L]);
fclose(f);
id=0;
K=0:0.001:pi;
   for k=0:0.001:pi;
        id=id+1;
        ans=0;
        for i=1:L
            for j = 1:L
                ans = ans + g(i,j)*cos(k*(i-j));            
            end
        end
        ans =ans / (2*100);
        pair(id)=ans;
    end
   
    pair=-pair;
    plot(K,pair,'LineWidth',2);
    xlabel('k_m');
    ylabel('Gpair');
        hold on;   
    end
end


??? Error using ==> fscanf
Invalid file identifier.  Use fopen to generate a valid file identifier.
求指导,想知道哪里错了,怎么改!
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

asmeng

金虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
北尘心: 金币+5, 有帮助 2014-03-22 01:07:17
ben_ladeng: 金币+1, 谢谢指教 2014-03-22 06:57:11
f=fopen('scr','r');改为f=fopen(scr,'r');去掉引号试试。
2楼2014-03-14 19:33:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

北尘心

金虫 (著名写手)

引用回帖:
2楼: Originally posted by asmeng at 2014-03-14 19:33:41
f=fopen('scr','r');改为f=fopen(scr,'r');去掉引号试试。

试了,但还是不行
3楼2014-03-14 19:47:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hppdyx

木虫 (知名作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
北尘心: 金币+5 2014-03-22 01:07:25
ben_ladeng: 金币+1, 谢谢指教 2014-03-22 06:57:21
1. 你把scr = ['C:\Users\asus\Desktop\' num2str(cas) '.txt'];
改为scr = stact('C:\Users\asus\Desktop\'num2str(cas)'.txt');

2. 如楼上所说,把fopen函数里面的scr头上的引号去掉
不以风骚惊天下,但求淫荡动世人
4楼2014-03-14 20:00:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hppdyx

木虫 (知名作家)

引用回帖:
4楼: Originally posted by hppdyx at 2014-03-14 20:00:58
1. 你把scr = ;
改为scr = stact('C:\Users\asus\Desktop\'num2str(cas)'.txt');

2. 如楼上所说,把fopen函数里面的scr头上的引号去掉

第一个里面的函数是strcat,写错了。。。不好意思
不以风骚惊天下,但求淫荡动世人
5楼2014-03-14 20:02:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

asmeng

金虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★
北尘心: 金币+3, 有帮助 2014-03-22 01:07:40
ben_ladeng: 金币+1, 谢谢指教 2014-03-22 06:57:34
你的数据是两列吧,错误提示是fscanf,应该是fscanf(f,'%f%f',[L,L]);另外,[L,L]应该是一个区间吧?[-L,L]?
6楼2014-03-14 20:28:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

asmeng

金虫 (正式写手)

引用回帖:
6楼: Originally posted by asmeng at 2014-03-14 20:28:52
你的数据是两列吧,错误提示是fscanf,应该是fscanf(f,'%f%f',);另外,应该是一个区间吧??

[L,L]应该是表示读的数据的个数,L×L个,按列的顺序。
7楼2014-03-14 20:34:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

北尘心

金虫 (著名写手)

引用回帖:
7楼: Originally posted by asmeng at 2014-03-14 20:34:14
应该是表示读的数据的个数,L×L个,按列的顺序。...

还是不行啊
8楼2014-03-22 08:50:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 北尘心 的主题更新
信息提示
请填处理意见