当前位置: 首页 > 有奖问答 >MATLAB计算编程请教

MATLAB计算编程请教

作者 jiangshuchao
来源: 小木虫 750 15 举报帖子
+关注

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

谢谢了! 返回小木虫查看更多

今日热帖
  • 精华评论
  • jiangshuchao

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

    我的Y是实验数据,而拟合的是三次多项式,有多组x解,所以要规定一下解的范围

  • 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定义为待输入的参数,不知可以吗?

  • hytao2012

    引用回帖:
    10楼: Originally posted by jiangshuchao at 2014-09-04 14:43:22
    我起初也编写了这个程序,我想的是能否用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)

  • jiangshuchao

    引用回帖:
    8楼: Originally posted by shi597199622 at 2014-09-04 11:04:40
    我给你编一个看看是不是这个意思。
    x=;
    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,' ...

    呵呵,虽然有点看不懂,但是非常感谢你。我的意思是你能否用input来实现,将Y a b c定义为待输入的参数。我只需输入Y=  a=  b= c=  就可以计算出Z,可能有些复杂,不知能否实现,多请指点

  • hytao2012

    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)

  • hytao2012

    两种输入方式随你选

  • jiangshuchao

    引用回帖:
    14楼: Originally posted by hytao2012 at 2014-09-04 18:02:07
    两种输入方式随你选

    非常感谢,问题已经解决。顺便问一下你是如何学习MATLAB的,我最近刚借了一本书开始看,呵呵,感觉有点难!希望你多给指点一下,还有就是以后有问题还多向您请教。

  • jiangshuchao

    引用回帖:
    8楼: Originally posted by shi597199622 at 2014-09-04 11:04:40
    我给你编一个看看是不是这个意思。
    x=;
    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,' ...

    非常感谢您的回复

猜你喜欢
下载小木虫APP
与700万科研达人随时交流
  • 二维码
  • IOS
  • 安卓