function [beta,f] = fcn(u0,u,tf)
beta_limit = [0, 1];
beta = beta_limit(1) + (beta_limit(2) - beta_limit(1)) * rand(15, 1);
y6= integral ( @(t) ((u0+(u-u0)*(t/tf).^beta)*229.5/8584)+((u0+(u-u0)*(t/tf).^beta).*(733*beta*(u-u0)/tf.*(t/tf).^(beta-1))/8584)+((u0+(u-u0)*(t/tf).^beta).*(0.035*(u0+(u-u0)*(t/tf).^beta).^2)/8584),0,tf,'ArrayValued',true);
y7= integral ( @(t) (u0+(u-u0)*(t/tf).^(beta))/3600,0,tf,'ArrayValued',true);
f=y6./y7;
【相关推荐】
有时,同时更改多个现有数组元素的值会很有用。将逻辑索引与简单的赋值语句一起使用,可替换数组中符合条件的值。
将 A 中大于 10 的所有值替换为数值 10。
A(A>10) = 10
A = 5×5
10 2 3 3 10
10 5 10 7 1
2 9 10 10 10
10 10 8 10 10
10 10 10 10 10
然后,将 A 中不等于 10 的所有值替换为 NaN 值。
A(A~=10) = NaN
A = 5×5
10 NaN NaN NaN 10
10 NaN 10 NaN NaN
NaN NaN 10 10 10
10 10 NaN 10 10
10 10 10 10 10
最后,将 A 中的所有 NaN 值替换为 0,并应用逻辑 NOT 运算符 ~A。
A(isnan(A)) = 0;
C = ~A
C = 5x5 logical array
0 1 1 1 0
0 1 0 1 1
1 1 0 0 0
0 0 1 0 0
0 0 0 0 0
生成的矩阵用逻辑值 1 (true) 取代 NaN 值,用逻辑值 0 (false) 取代 10。逻辑 NOT 运算 ~A 将数值数组转换为逻辑数组,因此 A&C 返回逻辑值 0 (false) 的矩阵,A|C 返回逻辑值 1 (true) 的矩阵。