matlab 变量变化,如何定义变量,该变量随另一个变量变化而变化?

a=[ ];%建立a的一个数组

x=[650 340 400 800 300 600 720 480 440 540 750];

y=[2.48 4.45 4.52 1.38 4.65 2.96 2.18 4.04 4.2 3.1 1.5];

q=length(x);

for i=1:q-1

if x(i)>500

a(i)=1;

else

a(i)=0;

end

end

%%

得出

a =

1     0     0     1     0     1     1     0     0     1     1

利用1stopt进行拟合,输入:

Parameters b1,b2,b3;

Variable x,a,y;

Function y=b1+b2*x+b3*(x-500)*a;

data;

6.5 1 2.48

340 0 4.45

400 0 4.52

800 1 1.38

300 0 4.65

600 1 2.96

720 1 2.18

480 0 4.04

440 0 4.2

540 1 3.1

750 1 1.5

结果

迭代数: 20

计算用时(时:分:秒:微秒): 00:00:00:281

优化算法: 麦夸特法(Levenberg-Marquardt) + 通用全局优化法

计算结束原因: 达到收敛判断标准

均方差(RMSE): 0.687530207527493

残差平方和(SSE): 5.19967564889078

相关系数(R): 0.807379432658049

相关系数之平方(R^2): 0.651861548279233

决定系数(DC): 0.651861548279233

卡方系数(Chi-Square): 0.934656205404977

F统计(F-Statistic): 16.8517838392028

参数        最佳估算

----------        -------------

b1                 8.85751415880648

b2                 -0.0123753027613531

b3                 0.0109559653050239

====== 结果输出 =====

No        实测值y        计算值y

1        2.48        3.3703058

2        4.45        4.6499112

3        4.52        3.9073931

4        1.38        2.2440615

5        4.65        5.1449233

6        2.96        2.5279290

7        2.18        2.3576085

8        4.04        2.9173688

9        4.2        3.4123809

10        3.1        2.6130893

11        1.5        2.3150284

2016-8-19 17:45 上传

442a53943febe9465fc072b4fbe10813.gif

b2a5a3e0dcc7d508e00275fe42fce1b5.gif

d2186386cc6fa7c4d8ed8a7863a5214f.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值