24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1583  |  回复: 15
本帖产生 1 个 博学EPI ,点击这里进行查看

jiangshuchao

金虫 (正式写手)

[求助] MATLAB计算编程请教

本人现在做实验需要对实验数据进行拟合计算,据说MATLAB可以实现,希望高手可以帮忙解决!谢谢!
已知:
y=1+2x+3x^2
Z=x*a*b/c
其中Z为待求量,Y,a,b,c 为待输入的已知量,x求得的值在区间(0,200)内。请问输入Y,a,b,c 如何编程求Z。

谢谢了!

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

激情,欲望,自信
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖置顶 ( 共有1个 )

hytao2012

铁杆木虫 (正式写手)

木头虫子

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ...
jiangshuchao: 金币+70, 博学EPI+1, ★★★很有帮助, 心怀感恩,不能让人白费功夫啊! 2014-09-04 18:44:55
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)
13楼2014-09-04 15:52:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

shi597199622

木虫 (正式写手)

【答案】应助回帖

我给你编一个看看是不是这个意思。
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不太合适你自己改一下。
生活就像一杯水
8楼2014-09-04 11:04:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

hytao2012

铁杆木虫 (正式写手)

木头虫子

【答案】应助回帖

你的描述不太清楚,貌似也有些自相矛盾。既然abc都知道,还需要拟合什么?
2楼2014-09-03 21:00:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jiangshuchao

金虫 (正式写手)

引用回帖:
2楼: Originally posted by hytao2012 at 2014-09-03 21:00:20
你的描述不太清楚,貌似也有些自相矛盾。既然abc都知道,还需要拟合什么?

y公式是我拟合的,我想设计个程序,带入各项参数求Z
激情,欲望,自信
3楼2014-09-03 21:42:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hytao2012

铁杆木虫 (正式写手)

木头虫子

引用回帖:
3楼: Originally posted by jiangshuchao at 2014-09-03 21:42:36
y公式是我拟合的,我想设计个程序,带入各项参数求Z...

还是不太明白,能给个例子吗?就是具体来一组数据
4楼2014-09-03 22:00:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jiangshuchao

金虫 (正式写手)

引用回帖:
4楼: Originally posted by hytao2012 at 2014-09-03 22:00:04
还是不太明白,能给个例子吗?就是具体来一组数据...

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。
    看看你能否帮我实现,谢谢了,本人金币虽然不多,如果可以解决愿全部奉上。
激情,欲望,自信
5楼2014-09-04 08:53:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hytao2012

铁杆木虫 (正式写手)

木头虫子

引用回帖:
5楼: Originally posted by jiangshuchao at 2014-09-04 08:53:27
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求出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)
6楼2014-09-04 10:01:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

shi597199622

木虫 (正式写手)

【答案】应助回帖

这你都悬赏那么高?你的问题描述的就不需要用matlab做!纯数学的计算!你要x取值在(0~200)你就不能说y已知。不然没法拟合
生活就像一杯水
7楼2014-09-04 10:50:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jiangshuchao

金虫 (正式写手)

引用回帖:
7楼: Originally posted by shi597199622 at 2014-09-04 10:50:03
这你都悬赏那么高?你的问题描述的就不需要用matlab做!纯数学的计算!你要x取值在(0~200)你就不能说y已知。不然没法拟合

我的Y是实验数据,而拟合的是三次多项式,有多组x解,所以要规定一下解的范围
激情,欲望,自信
9楼2014-09-04 14:34:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jiangshuchao

金虫 (正式写手)

引用回帖:
6楼: Originally posted by hytao2012 at 2014-09-04 10:01:34
% 我的理解,你是先根据y求出x,然后代入求解。
% 下面是根据你的意思编的小程序,不知是不是你想要的。
clear; clc;
a=0.8;
b=10000;
c=750;
y=0.5;
XiShu=;
x=roots(XiShu);
z=x*a*b/c;
disp(z)...

我起初也编写了这个程序,我想的是能否用input来实现,将Y a b c定义为待输入的参数,不知可以吗?
激情,欲望,自信
10楼2014-09-04 14:43:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 jiangshuchao 的主题更新
信息提示
请填处理意见