本人现在做实验需要对实验数据进行拟合计算,据说MATLAB可以实现,希望高手可以帮忙解决!谢谢! 已知: y=1+2x+3x^2 Z=x*a*b/c 其中Z为待求量,Y,a,b,c 为待输入的已知量,x求得的值在区间(0,200)内。请问输入Y,a,b,c 如何编程求Z。 谢谢了! 返回小木虫查看更多
你的描述不太清楚,貌似也有些自相矛盾。既然abc都知道,还需要拟合什么?
这你都悬赏那么高?你的问题描述的就不需要用matlab做!纯数学的计算!你要x取值在(0~200)你就不能说y已知。不然没法拟合
我给你编一个看看是不是这个意思。 x=[1:1:200]; y=zeros(1,200); z=zeros(1,200); a=1; b=2; c=3; for i=1:200 y(1,i)=1+2*x(1,i)+3*x(1,i)^2; z(1,i)=x(1,i)*a*b/c; end plot(x,y,'r*-'); hold on plot(x,z,'bo-'); hold off %其中a,b,c值你自己定,还有区间含有200不太合适你自己改一下。
你的描述不太清楚,貌似也有些自相矛盾。既然abc都知道,还需要拟合什么?
y公式是我拟合的,我想设计个程序,带入各项参数求Z
还是不太明白,能给个例子吗?就是具体来一组数据
Y=1.111-0.01825x+9.69e-5x^2-1.67e-7x^3
0<x<200;
问当 Y=0.5 时下式Z的值
Z=x*a*b/c (a b c 是已知的,可以随意赋值,如a=0.8 b=10000 c=750)
Y是我实验测得的量,a b c 是实验条件,我想根据不同实验条件下测得的Y计算出Z。简单说就是,在程序中我输入Y a b c就能计算出Z。
看看你能否帮我实现,谢谢了,本人金币虽然不多,如果可以解决愿全部奉上。
% 我的理解,你是先根据y求出x,然后代入求解。
% 下面是根据你的意思编的小程序,不知是不是你想要的。
clear; clc;
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);
z=x*a*b/c;
disp(z)
,
这你都悬赏那么高?你的问题描述的就不需要用matlab做!纯数学的计算!你要x取值在(0~200)你就不能说y已知。不然没法拟合
我给你编一个看看是不是这个意思。
x=[1:1:200];
y=zeros(1,200);
z=zeros(1,200);
a=1;
b=2;
c=3;
for i=1:200
y(1,i)=1+2*x(1,i)+3*x(1,i)^2;
z(1,i)=x(1,i)*a*b/c;
end
plot(x,y,'r*-');
hold on
plot(x,z,'bo-');
hold off
%其中a,b,c值你自己定,还有区间含有200不太合适你自己改一下。