本人现在做实验需要对实验数据进行拟合计算,据说MATLAB可以实现,希望高手可以帮忙解决!谢谢! 已知: y=1+2x+3x^2 Z=x*a*b/c 其中Z为待求量,Y,a,b,c 为待输入的已知量,x求得的值在区间(0,200)内。请问输入Y,a,b,c 如何编程求Z。 谢谢了! 返回小木虫查看更多
clear; clc; % a=input('a='); % b=input('b='); % c=input('c='); % y=input('y='); a=0.8; b=10000; c=750; y=0.5; XiShu=[-1.67e-7 9.69e-5 -0.01825 1.111-y]; x=roots(XiShu); x(x>200|x<0)=nan; % 剔除0-200以外的x z=x*a*b/c; disp(z)
两种输入方式随你选
我的Y是实验数据,而拟合的是三次多项式,有多组x解,所以要规定一下解的范围
我起初也编写了这个程序,我想的是能否用input来实现,将Y a b c定义为待输入的参数,不知可以吗?
% 个人认为还是原来的好操作
clear; clc;
a=input('a=');
b=input('b=');
c=input('c=');
y=input('y=');
XiShu=[-1.67e-7 9.69e-5 -0.01825 1.111-y];
x=roots(XiShu);
z=x*a*b/c;
disp(z)
呵呵,虽然有点看不懂,但是非常感谢你。我的意思是你能否用input来实现,将Y a b c定义为待输入的参数。我只需输入Y= a= b= c= 就可以计算出Z,可能有些复杂,不知能否实现,多请指点
,
clear; clc;
% a=input('a=');
% b=input('b=');
% c=input('c=');
% y=input('y=');
a=0.8;
b=10000;
c=750;
y=0.5;
XiShu=[-1.67e-7 9.69e-5 -0.01825 1.111-y];
x=roots(XiShu);
x(x>200|x<0)=nan; % 剔除0-200以外的x
z=x*a*b/c;
disp(z)
两种输入方式随你选
非常感谢,问题已经解决。顺便问一下你是如何学习MATLAB的,我最近刚借了一本书开始看,呵呵,感觉有点难!希望你多给指点一下,还有就是以后有问题还多向您请教。
非常感谢您的回复