利用matlab开发一个用户输入一个值通过实验数据拟合出的函数返回一个对应值的程序代码如下:close all; clear;clcx=0 40 70 997;y=12 1801 3207 4001;function y = myfuncxf=polyfitxy2;y=polyvalfx;end figure plotxy-; xlabelDensityFontNameTimes New Rom
将myfunc函数的定义放在代码的最前面即可,修改后的代码如下:
close all; clear;clc
function y = myfunc(x) x_data=[0 40 70 99.7]; y_data=[12 1801 3207 4001]; f=polyfit(x_data,y_data,2); y=polyval(f,x); end
% figure % plot(x_data,y_data,'-.'); % % xlabel('Density(%)','FontName','Times New Roman','FontSize',12); % ylabel('Amount','FontName','Times New Roman','FontSize',12); % title("Data") % set(gcf,'color','w') % set(gca,'YLim',[0,4095]); % set(gca,'XLim',[0,100]); % set(gcf,'Position',[30,70,800,400]); % box off % grid on
x_input = input('单片机读数:'); y_output = myfunc(x_input); disp(['对应的浓度理论值为:',num2str(y_output)])
原文地址: http://www.cveoy.top/t/topic/hsyd 著作权归作者所有。请勿转载和采集!