在用matlab运行程序时候,出现???Error using ==> fread Invalid file identifier -1的问题,怎么解决?

在用matlab运行程序时候,出现???Error using ==> fread Invalid file identifier -1的问题,怎么解决?,第1张

出现"???Error using ==>fread Invalid file identifier -1"错误通常表示您的程序无法正确识别或打开指定的文件。这个问题可能有多种原因,例如文件不存在、文件权限不足或程序没有正确指定文件路径等。

以下是几种可能的解决方法:

确认文件是否存在:检查程序中指定的文件路径是否正确,确保该文件存在于指定路径下。如果文件不存在,请检查文件名的拼写是否正确,或者尝试在Matlab的当前工作目录中查找文件。

确认文件是否被其他程序占用:如果您正在尝试读取或写入一个已经被其他程序占用的文件,就会出现类似的错误。请确保该文件未被其他程序占用,或者关闭占用该文件的程序。

检查程序中的代码:请检查程序中使用fopen()函数打开文件的代码是否正确,确保程序使用正确的权限打开文件。如果文件是只读的,那么您需要以只读模式打开文件,而不是以写入模式打开文件。另外,请注意在使用fread()函数之前,必须先打开一个文件。

尝试使用其他函数:如果以上方法都无法解决问题,可以尝试使用其他类似的文件 *** 作函数来读取文件,例如load()、importdata()、textread()等。

如果您仍然无法解决这个问题,请提供更多详细的信息,例如程序的代码片段和具体的错误信息,这样我们可以更好地帮助您解决问题。

说明cv等于0,或者小于0;

你可以把cv=svmtrain(train_data_labels,train_data,cmd)里用到的数组贴出来,或者你自己找找问题,cv的赋值就是这句话,问题就出在这里。

% lx=17ly=11 %定义矩阵维数

lx=20ly=11 %修改

% v1=zeros(ly,lx) %建立一个矩阵

v1=ones(ly,lx)*80 %修改

for j=2:lx-1

    v1(ly,j)=100

end %设置边界条件

v2=v1

maxt=1

t=0

k=0

while(maxt>1e-6) %精度要求,达到精度要求跳出循环

    k=k+1

    maxt=0

    for i=2:ly-1

        for j=2:lx-1

            v2(i,j)=(v1(i,j+1)+v1(i+1,j)+v2(i-1,j)+v2(i,j-1))/4

            %v2(i,j)=(v1(i,j+1)+v1(i+1,j)+v1(i-1,j)+v1(i,j-1))/4 %进行迭代计算

            t=abs(v2(i,j)-v1(i,j))

            if(t>maxt)

                maxt=t

            end

        end

    end

    v1=v2

end %输出迭代次数 k=419

subplot(1,2,1),mesh(v2)

% axis([0,17,0,11,0,100])

axis([0,20,0,11,80,100])%修改

subplot(1,2,2),contour(v2,32)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11578720.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存