首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

matlab出现:错误使用 xlsread 错误:服务器出现意外情况的解决办法

问题原因: 由于你的系统中装了一个福昕阅读器(或其他pdf阅读器),该程序占用了excel的com端口,所以当Matlab再去调用这个端口时就会出现异常。

解决方法:打开任意一个Excel文件,点击文件——选项——加载项——点击下方的管理旁边的下拉菜单,选择COM加载项——点击转到——把福昕阅读器的前面的勾去掉,然后确定。你重新回到MATLAB读取Excel文件试试,应该就可以了。

如和原作者所说,一定要去掉 foxreader的com端口占用,否则就是读不出来。如下图:

付参考代码:

x = xlsread('E:/prj/ok_20181119_1130/matlab/line_cal.xlsx','sheet1','B3:B17');

y = xlsread('E:/prj/ok_20181119_1130/matlab/line_cal.xlsx','sheet1','C3:C17');

注意斜杠的写法,/

可以看出,数据读出来了

付全部测试代码:

%线性拟合

%y = xlsread('line_cal1.xlsx','sheet1','C3:C17');

%x=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]; %滤波器电压

%y=[303.5,351.74,391.934,428.1,468.3,500.4577,532.6129,2593,2697.4];%滤波器频率

%x = xlsread('line_cal.xlsx','sheet1','B3:B17');

x = xlsread('E:/prj/ok_20181119_1130/matlab/line_cal.xlsx','sheet1','B3:B17');

y = xlsread('E:/prj/ok_20181119_1130/matlab/line_cal.xlsx','sheet1','C3:C17');

p=polyfit(x,y,1); % polyfit是曲线拟合函数

x1=linspace(min(x),max(x)); %linspace 是用来生成一个等差数列的lin是linear的缩写,就是将生成一个以a和b为断点 共划分为n个区间的向量

y1=polyval(p,x1); % polyval是求值函数,可求得多项式在x1处的值y1

plot(x,y,'*',x1,y1); % plot是画图函数,将两个图花在一起

%Polyfit--调用方法:polyfit(x,y,n)。用多项式求过已知点的表达式,其中x为源数据点对应的横坐标,可为行向量、矩阵,y为源数据点对应的纵坐标,可为行向量、矩阵,n为你要拟合的阶数,一阶直线拟合,二阶抛物线拟合,并非阶次越高越好,看拟合情况而定。

%polyfit 做出来的值从左到右表示从高次到低次的多项式系数,给出系数的个数是n+1。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181130G1614X00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券