matlab让一个变量名随数字变化,如何定义变量,该变量随另一个变量变化而变化?...

在MATLAB中,通过for循环实现了一个变量a根据条件随数组x变化的过程。接着使用1stOpt进行曲线拟合,通过输入参数和变量定义函数关系,得到拟合结果并展示计算值与实测值对比。
摘要由CSDN通过智能技术生成

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) + 通用全局优化法

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

均方差(RM

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值